Unity学习疑问记录之Awake和Update

Awake()

当一个脚本实例被载入时Awake被调用。

Awake用于在游戏开始之前初始化变量或游戏状态。在脚本整个生命周期内它仅被调用一次.Awake在所有对象被初始化之后调用,所以你可以安全的与其他对象对话或用诸如 GameObject.FindWithTag 这样的函数搜索它们。每个游戏物体上的Awke以随机的顺序被调用。因此,你应该用Awake来设置脚本间的引用,并用Start来传递信息。Awake总是在Start之前被调用。它不能用来执行协同程序。

Start()

Start仅在Update函数第一次被调用前调用。Start在behaviour的生命周期中只被调用一次。它和Awake的不同是Start只在脚本实例被启用时调用。
你可以按需调整延迟初始化代码。Awake总是在Start之前执行。这允许你协调初始化顺序。

总结:我们尽量将其他Object的reference设置等事情放在Awake处理。然后将这些reference的Object的赋值设置放在Start()中来完成。

时间: 2024-10-09 10:13:36

Unity学习疑问记录之Awake和Update的相关文章

2015年5月27日 Unity学习疑问记录之新GUI

学习Unity 4.6新GUI系统 http://segmentfault.com/a/1190000000642686

Unity学习疑问记录之查找

unity中提供了获取对象的五种方法: 通过对象名称(Find方法) 通过标签获取单个游戏对象(FindWithTag方法) 通过标签获取多个游戏对象(FindGameObjectsWithTags方法) 通过类型获取单个游戏对象(FindObjectOfType方法) 通过类型获取多个游戏对象(FindObjectsOfType方法) http://blog.csdn.net/u010145745/article/details/39160141

Unity学习疑问记录之触屏

触控对于Android移动设备来说是一种必不可少的交互方式,今天我们就来初步了解一下Unity3D中有关触控的API,下一篇中给大家演示如何使用Unity3D制作一个触控小Demo.    Touch 是一个结构体,每当发生一次触摸,系统就生成一个Touch类型的变量,存储和本次触摸的相关信息.如果发生多点触控,那么系统会生成多个Touch类型变量.    Touch有如下主要成员变量: position 触摸位置的坐标 Vector2类型   deltaPosition 触摸的位置变化量 Ve

Unity学习疑问记录之正交与透视

Unity中相机的投影是2种方式,正交和透视 这是透视方式 正交方式: //计算屏幕宽度 float height = 2.0f * Camera.main.orthographicSize;//正交的size screenWidthInPoints = height * Camera.main.aspect; //长宽比 orthographicSize指的是屏幕中心到顶部的距离,所以*2,印射到真实宽度就是*实际手机比例就行了.

Unity学习疑问记录之时间变量

1.Time.deltaTime 以秒计算,完成最后一帧的时间 放在Update()函数中的代码是以帧来执行的.如果我们需要物体的移动以秒来执行.我们需要将物体移动的值乘以Time.deltaTime 2.Time.fixedDeltaTime 以秒计间隔,在物理和其他固定帧速率进行更新 为读取增量时间建议使用Time.deltaTime,因为如果你是在FixedUpdate函数或Update函数里,它自动返回正确的增量时间 这里有一篇文章解释了下:http://blog.csdn.net/yy

Unity学习疑问记录之保卫伦敦塔学习体会

1.生成的prefab如果要产生反向: Instantiate(Rocket, rocketPosition.position, Quaternion.Euler(new Vector3(0,0,180f))) 2. Input.GetAxis("Horizontal")的使用,返回-1~+1之间的数 按键盘左右键可以得到不同的数,长按是+1或-1,按得越久,数字越大 3. Mathf.Sign(f)的使用 返回 f 的符号,当 f 为正或为0返回1,为负返回-1.

Unity and C#: Game Loop (Awake, Start, Update)

Introduction The central component of any game, from a programming standpoint, is the game loop. It allows the game to run smoothly regardless of a user's input or lack thereof. Every game must and should have a game loop because a game must continue

unity学习--003:角色控制器(中)

在上篇 unity学习--003:角色控制器(上)中,看了点角色控制的基本实现方法,鼠标和键盘控制比较粗糙的实现. 在这篇中,主要介绍几个unity封装的角色控制方法, 然后预计在下篇中综合介绍几种主流的角色控制方法. 话不多说,开搞: 依旧是上次拖过来的几个模型 不过,这次添加了地形,素材,和天空盒,自然光,至于怎么加的,请看这里 添加地形等 不在黑黑的,心情也好点了,下面来介绍几种unity自带的角色控制操作.(这些方法都是unity自带的API) 1.CharacterController

Unity学习笔记—— 常用脚本函数

1. Awake() Start() Update() FixedUpdate()  unity 是单线程的 , 对于unity后台执行脚本,每个脚本的Awake.Update.LateUpdate.FixedUpdate,方法在后台都有一个总汇.把每个 后台的Awake() { 脚本0中的Awake(); 脚本1中的Awake(): 脚本2中的Awake(); } 后台的方法 Awake.Update.LateUpdate.FixedUpdate等等都是按照顺序,等所有子脚本中的Awake执行