unity

Unity进阶:PlayMaker

岁酱吖の 提交于 2019-11-29 05:51:09
版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top 优梦创客的游戏讲堂:https://91make.ke.qq.com 『优梦创客』的微信公众号:umaketop 您可以自由转载,但必须加入完整的版权声明 PlayMaker基于状态机的可视化编程工具,playmaker内部实现会为其创建一个类,在其实例化和序列化时会有开销(建立通过缓冲池避免),对复杂度要求较高的逻辑也可以将其封装到PlayMaker的Action中 playMaker基于有限状态机,一个状态机包括若干个状态节点,组合在一起形成游戏逻辑。每个状态节点包括若干Action,这些Action对应的就是Unity内的具体游戏功能,如播放动画,移动位置 PlayMaker状态机不能单独存在(其本身也是继承自MonoBehaviour),选择一个GameObjec,- PlayerMaker -> Components -> Add FSM to Selected Objects;将状态机指定给选中的GameObject,一个GameObject可以有多个状态机 State(状态) 创建状态机后,默认拥有一个状态节点,也就是起始节点,名为State1

Unity引擎的按钮Button代码笔记

自作多情 提交于 2019-11-29 05:06:35
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// <summary> /// /// </summary> public class EventBtn : MonoBehaviour { public Transform PanelBg; public Button UpBtn; public Button DownBtn; private float PanelHeight; //public Transform ControlPanel; void Awake() { PanelHeight = PanelBg.GetComponent<Collider>().bounds.size.y; Debug.Log(PanelHeight); } void Start () { } void Update () { UpBtn.onClick.AddListener(delegate () { this.OnClickEvent(true); }); DownBtn.onClick.AddListener(delegate () { this.OnClickEvent(false); }); } public void

2、MVC+IOC容器+ORM结合

烈酒焚心 提交于 2019-11-29 01:55:48
1、常规写法,难道我们每次都new一个服务,如下面的UserService和CompanyService然后调用服务的Find方法去操作,为什么我们不让 UserService和CompanyService 服务注入进来呢? public ActionResult Index() {   DbContext context = new DbContext();   IUserService userService = new UserService(context);   User user = userService.Find<User>(2); return View(user); } public ActionResult Index2() {   DbContext context = new DbContext();   ICompanyService companyService = new CompanyService(context);    Company company = companyService.Find<Company>(2); return View(company); } 2、我们想要的实际效果是MVC请求进来的时候,实例化控制器的时候,就把 UserService和CompanyService 服务注入进来,但是下面的带参数的 控制器 构造函数

Unity中Websocket的简单使用

久未见 提交于 2019-11-29 01:28:18
首先我们需要一个websocket服务器,之前的博文中有做 Tomcat架设简单Websocket服务器 用的时候打开就行了,先不管它 Unity中新建场景 建UI(UGUI) 有一个连接按钮Button 一个信息输入框InputField 一个发送按钮Button 一个断开按钮Button 一个消息显示框Text 场景中建一个GameObject,在上面加个脚本,就叫WSMgr好了 用到了BestHTTP这个插件 using System.Collections; using System.Collections.Generic; using UnityEngine; using BestHTTP; using BestHTTP.WebSocket; using System; using BestHTTP.Examples; using UnityEngine.UI; using System.Text; public class WSMgr : MonoBehaviour { //public string url = "ws://localhost:8080/web1/websocket"; public string url = "ws://localhost:8080/web1/ws"; public InputField msg; public Text

Unity 简易聊天室(基于TCP)(1)

你说的曾经没有我的故事 提交于 2019-11-29 01:19:55
为了准备毕业设计,学习了服务器与客户端之间传输的一些简单的知识,并跟着网络上的教程制作了一个简易的Unity聊天室 服务器:用C# .Net Framework写的 结构分为:main(主函数)、Server类(用于服务器的开启和接收客户端连接)、Client类(接收消息和发送消息)、Message类(用于消息的解析和包装) main: class Program { static void Main(string[] args) { string ip = "127.0.0.1";//这个ip地址表示本机 int port = 6688; //测试用的端口号,应该可以自己随便写吧 Server server = new Server(ip, port); server.Start(); Console.ReadKey(); } } Server: public class Server { private Socket serverSocket = null; private List<Client> clientList = new List<Client>(); private Socket clientSocket = null; public Server() { } public Server(string ip,int port) { //创建socket

Unity打包——Android和IOS

和自甴很熟 提交于 2019-11-29 00:51:36
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 我的个人博客 Android包 (1)首先需要安装Android SDK和Java JDK。SDK需要添加tools目录,JDK需要分别添加jdk和jre目录 (2)打开BuildSettings (3)打开PlayerSettings (4)设置Android包的相关属性 (5)设置好相关属性后直接Build导出APK包 IOS包 (1)在苹果电脑上执行打Android包的前4步,第五步时Build导出XCode工程 注意:导出的过程建议在mac上进行,否则可能会报一些奇怪的错误提示。 来源: https://www.cnblogs.com/shirln/p/11437374.html

Unity游戏开发:Unity C#速成

為{幸葍}努か 提交于 2019-11-29 00:39:57
专为Unity设计的C#课程 本课程是针对在Unity中使用C#编写脚本的速成课程,适合零基础又想快速用脚本进行Unity游戏开发的同学。 在学习完本课程后可以学习Unity脚本课程。 如果想要完全利用C#所有强大的功能,可以去完整的学习C#零基础课程和面向对象进阶课程。 预估学习 & 练习时间: 7 小时 难易度:入门 基础部分 游戏脚本课程简介 Unity中使用C# 变量和函数 数据类型 类 属性和方法 操作符 枚举 分支 数组 循环 进阶部分 List和Dictionary 继承和多态 成员隐藏和方法重写 接口 泛型 命名空间 扩展方法 委托 特性 来源: https://blog.csdn.net/paws3d_com/article/details/100138210

Unity游戏开发:Unity脚本应用

戏子无情 提交于 2019-11-29 00:39:49
Unity的C#脚本课程 本课程讲解在Unity中使用C#脚本,通过Unity提供的API和场景逻辑进行交互的基础部分。 学习本课程之前需要先完成C#基础课程或者Unity C#速成课程。 完成本课程后即可在各种Unity实践课程中使用脚本来编写游戏逻辑。 预估学习 & 练习时间: 10 小时 难易度:进阶 基础部分 Unity脚本课程简介 开发环境 Unity脚本组件 脚本成员操作 Awake,Start Time.deltaTime GameObject操作 Component操作 进阶部分 向量运算 移动和旋转 四元数 Input LookAt 插值 协程 射线检测 碰撞触发器 来源: https://blog.csdn.net/paws3d_com/article/details/100163588

Unity Button按钮延迟

给你一囗甜甜゛ 提交于 2019-11-29 00:30:53
把下面脚本放到Editor文件夹下,这样脚本继承Button之后,新声明的public变量才能在Inspector面板显示出来。 using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEditor.UI; using UnityEngine; [CustomEditor(typeof(MyButton), true)] [CanEditMultipleObjects] public class MyButtonEditor : ButtonEditor { private SerializedProperty delayTime; protected override void OnEnable() { base.OnEnable(); delayTime = serializedObject.FindProperty("delayTime"); } public override void OnInspectorGUI() { base.OnInspectorGUI(); EditorGUILayout.Space(); serializedObject.Update(); EditorGUILayout.PropertyField(delayTime);