当前位置: 首页 > news >正文

北京房产网二手房出售郑州网站优化培训机构

北京房产网二手房出售,郑州网站优化培训机构,重庆seo杨洋,怎么做直播网站刷弹幕http://www.xuanyusong.com/archives/2378 Unity是不支持多线程的#xff0c;也就是说我们必须要在主线程中操作它#xff0c;可是Unity可以同时创建很多脚本#xff0c;并且可以分别绑定在不同的游戏对象身上#xff0c;他们各自都在执行自己的生命周期感觉像是多线程也就是说我们必须要在主线程中操作它可是Unity可以同时创建很多脚本并且可以分别绑定在不同的游戏对象身上他们各自都在执行自己的生命周期感觉像是多线程并行执行脚本的它是如何执行的呢 我们做一个小小的实验来验证它。如下图所示在Hierarchy视图中创建三个游戏对象在Project视图中创建三条脚本然后按照顺序将脚本绑定在对应的游戏对象身上。 三条脚本的代码完全一样只是做了一点名称上的区分代码写的比较丑我们只是作为测试 view source 01using UnityEngine; 02using System.Collections; 03  04public class Script0 : MonoBehaviour 05{ 06  07    void Awake () 08    { 09        Debug.Log(Script0 Awake); 10    } 11  12    bool isUpdate false; 13    void Update () 14    { 15        if(!isUpdate) 16        { 17            Debug.Log(Script0 Update); 18            isUpdate true; 19        } 20    } 21  22    bool isLateUpdate false; 23    void LateUpdate() 24    { 25        if(!isLateUpdate) 26        { 27            Debug.Log(Script0 LateUpdate); 28            isLateUpdate true; 29        } 30    } 31}  播放游戏看看他们的执行顺序。如下图所示Awake、Update、LateUpdate、无论播放游戏多少次他们执行的顺序是完全一样的。     接着我们在做一个测试把Script0的Update方法注释掉 view source 01using UnityEngine; 02using System.Collections; 03  04public class Script0 : MonoBehaviour 05{ 06  07    void Awake () 08    { 09        Debug.Log(Script0 Awake); 10    } 11  12//  bool isUpdate false; 13//  void Update () 14//  { 15//      if(!isUpdate) 16//      { 17//          Debug.Log(Script0 Update); 18//          isUpdate true; 19//      } 20//  } 21  22    bool isLateUpdate false; 23    void LateUpdate() 24    { 25        if(!isLateUpdate) 26        { 27            Debug.Log(Script0 LateUpdate); 28            isLateUpdate true; 29        } 30    } 31}  播放游戏在看看它的结果。脚本的执行顺序和以前完全一样Script0即使删除掉了Update方法但是它也不会直接执行LateUpdate方法而是等待Script1和Script2的Update方法都执行完毕以后在去执行所有的LateUpdate方法。     通过这两个例子我们就可以清楚的断定Unity后台是如何执行脚本的了。每个脚本的Awake、Update、LateUpdate、FixedUpdate等等方法在后台都有一个总汇。 后台的Awake() {        脚本0中的Awake();        脚本1中的Awake()        脚本2中的Awake(); }        后台的方法 Awake、Update、LateUpdate、FixedUpdate等等都是按照顺序等所有子脚本中的Awake执行完毕后在去执行 Start 、Update、LateUpdate等等。所以这里也就解释了Unity没有多线程的概念。 后台的Update() {        脚本0中的Update();        脚本1中的Update()        脚本2中的Update(); } Unity还提供的一组协同任务的方法其实它的原理和上面的完全一样它们都是假的多线程。说了一圈我们又回到了Unity脚本的执行顺序上来我们在看两条脚本 在脚本2的Awake方法中创建一个立方体对象。 view source 01using UnityEngine; 02using System.Collections; 03  04public class Script2 : MonoBehaviour 05{ 06    void Awake () 07    { 08        GameObject.CreatePrimitive(PrimitiveType.Cube); 09    } 10} 在脚本0的Awake方法中去获取这个立方体对象  view source 01using UnityEngine; 02using System.Collections; 03  04public class Script0 : MonoBehaviour 05{ 06  07    void Awake () 08    { 09        GameObject go GameObject.Find(Cube); 10        Debug.Log(go.name); 11    } 12  13}             如果脚本的执行顺序是 先执行Script2 然后在执行Script0那么Script0中的Awake就可以获取到该立方体对象可是如果脚本的执行顺序是先Script0然后在Script2那么Script0肯定会报空指针错误的。           那么实际项目中的脚本会非常非常多他们的先后顺序我们谁也不知道。所以我的建议一般在Awake方法中创建游戏对象或在Resources.Load(Prefab) 对象。在Start方法中去获取游戏对象或者游戏组件这样就可以确保万无一失了。      如果说你非要控制脚本的执行先后顺序也不是完全不行Unity可以设置脚本执行的顺序。如下图所示选择任意脚本在Inspector视图中点击Execution Order..按钮。 如下图所示点击右下角的“”将弹出下拉窗口包括游戏中的所有脚本。添加脚本完毕后Default Time下方数值越小的排在越前面脚本将率先执行如果没有设置的脚本将按默认的顺序执行。   按照我的这个设置程序将先执行Script0然后Script1最后Script2欢迎一起讨论哇咔咔。。转载于:https://www.cnblogs.com/hisiqi/p/3204870.html
http://www.yutouwan.com/news/414870/

相关文章:

  • 怎么样自己建设网站wordpress cui
  • 超市网站设计网站上怎么做图片变换动图
  • 微信公众好第三方网站怎么做网页制作模板内容互换
  • 吉林做网站的公司软件开发流程简介
  • 网站上的洗衣液瓶子做花瓶怎么材质会员播放系统插件wordpress
  • 广州品牌网站制作公司网站seo关键词优化
  • 营销型网站建设好不好海淀网站开发
  • 怎样免费建企业网站腾讯企业邮箱登录入口app
  • 自己做好的网站如何发布wordpress访问权限插件
  • 网站设置怎么删除网站制作模板百度网盘
  • 做网站要在vs安装什么增加收录网站
  • 域名注册以后怎样做网站淮南品牌型网站建设
  • 怎么做钓鱼网站吗wordpress为什么自动跳转
  • asp外贸网站建设招聘有名的互联网公司
  • 大连做网站哪家便宜山东做网站公司哪家好
  • 湖南营销型网站建设公司排名90平装修大约多少钱
  • 汕头网站设计价格wordpress本地访问慢
  • 可以用自己电脑做网站服务器吗做竞品分析的网站
  • 杭州建设网站设计的公司四平seo
  • 专题页网站php与网站建设
  • 西安学校部门定制网站建设公司前端开发语言的特点是
  • 哈密北京网站建设wordpress js 代码编辑器
  • 网站运营是什么银行的网站怎么做
  • 网站建设几大技巧郴州网站优化
  • ssh实训做网站代码下载百度网盘搜索引擎盘多多
  • 网页版传奇网站制作网页图片格式
  • 平台网站开发风险新闻门户网站制作
  • 泰安网站制作方案创意产品设计100例图片
  • 东莞著名网站建设企业开发公司建酒店科目
  • 公司网站点击量如何看江苏强荣建设有限公司网站