博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小白_Unity引擎_MonoBehaver
阅读量:4635 次
发布时间:2019-06-09

本文共 2202 字,大约阅读时间需要 7 分钟。

 

 

1 public class MonoTest : MonoBehaviour { 2  3     ///  4     /// 1.在用户点击Inspector检视面板的Reset或者首次添加组件时被调用 5     /// 2.此函数只在编辑模式下(项目没有运行的时候)被调用。 6     /// 3.Reset最常用于在检视面板中给定一个默认值。 7     ///  8     void Reset() 9     {10 11     }12 13 14     /// 15     /// 1.Awake在脚本整个生命周期内像构造函数一样仅被调用一次16     /// 2.初始化函数,在项目运动时系统自动调用17     /// 3.Awake 在所有对象被初始化之后调用,所以可以安全的与其它对象对话或使用诸如GameObject.FindWithTag()这样的函数搜索它们18     /// 4.不论脚本是否激活状态,Awake都会被调用(但如果绑定的物体没有激活,将不会调用Awake函数)19     /// 5.Awake 总是在Start之前被调用20     /// 6.它不能用来执行协同程序21     /// 22     /// 23     void Awake()24     {25         //建议:一般在Awake方法中创建游戏对象或在Resources.Load(Prefab)对象。26         //在start方法中去获取游戏对象或者游戏组件这样可以确保万无一失 了27 28     }29 30 31     /// 32     /// 1.Start 在脚本整个生命周期内仅被调用一次33     /// 2.Start总是在Awake之后被调用34     /// 3.Start总是在Update前调用35     /// 4.必须在脚本被激活时才能被调用36     /// 37     void Start()38     {39 40     }41 42 43     /// 44     /// 1.Update是正常帧更新,会在每一帧调用一次45     /// 2.帧长时时在改变Time.deltaTime46     /// 3.一般用于非物理的运动(比如使一个物体匀速运动)47     /// 48     void Update()49     {50         Debug.Log("Update时间间隔: " + Time.deltaTime);51     }52 53 54 55 56 57     /// 58     /// 1.FixedUpdate 是固定帧更新,会在每个固定的时间频率调用一次函数59     /// 2.帧长时固定的(默认为0.02),不是时时改变的。 Edit ---》 Project Setting --》Time ---》Fixed Timestep60     /// 3.一般用于物理的运动(比如控制一些诸如RigidBody, Collider等物理相关组件)61     /// (物理引擎中用于物理的行为运动都是根据固定的时间来计算的)62     /// 63     /// 64     void FixedUpdate()65     {66         Debug.Log("FixedUpdate时间间隔: " + Time.deltaTime);67     }68 69     /***70      * Update 和 FixedUpdate 区别:71      * 1.两者帧长不同72      * 2.FixedUpdate是渲染帧执行,如果你的渲染效率低下的时候FixedUpdate调用次数会跟着下降73      * 3.Update 就比较适合做控制74      * 4.LateUpdate 与 Update方式一样,唯一不同的是75      * LateUpdate,在每帧Update执行完毕调用,他是在所有Update结束后才调用76      * 举例:摄像机跟随,都是在所有Update 操作完才跟进摄像机77      * 不然就有可能出现摄像机已经推进了,但是视角还未有角色的空帧出现78      * 79      */80 81 82 83 }

 

Cube1上有脚本Script1 给Cube2添加脚本Script2,

在Script1中start并调用中的Script2中的变量,这个变量在Script2中start中赋值,结果得到的是默认值,

要解决:在Awake中赋值。(添加脚本后,获取变量,这时候还没有执行start还没有调用)

 

 

如果两个脚本中在Awake方法里都做了事情,但是这样这两件事也有前后顺序怎么办?

   可以设置脚本的执行前后顺序

  Editor ---》 Project Setting  ----》  Script Execution Order

或者选中脚本

 

拖拽添加需要执行顺序的脚本

设置后边的数字,从小到大,从先到后执行

 

转载于:https://www.cnblogs.com/CeasarH/p/9259247.html

你可能感兴趣的文章
crash
查看>>
ASP.NET MVC 4 (十三) 基于表单的身份验证
查看>>
Charles抓取https请求
查看>>
LAMP环境搭建
查看>>
C语言的变量的内存分配
查看>>
clientcontainerThrift Types
查看>>
链接全局变量再说BSS段的清理
查看>>
hdu 1728 逃离迷宫
查看>>
HTML5与CSS3权威指南之CSS3学习记录
查看>>
docker安装部署
查看>>
AVL树、splay树(伸展树)和红黑树比较
查看>>
多媒体音量条显示异常跳动
查看>>
运算符及题目(2017.1.8)
查看>>
React接入Sentry.js
查看>>
ssh自动分发密匙脚本样板
查看>>
转 小辉_Ray CORS(跨域资源共享)
查看>>
Linux安装postgresql
查看>>
MyBatis启动:MapperStatement创建
查看>>
Tomcat 调优及 JVM 参数优化
查看>>
【kindeditor】KindEditor获取多个textarea文本框的值并判断非空
查看>>