Unity脚本都会自动生成Start和Update。区别在于Start方法只执行一次;而Update方法是每帧执行多次。
查看Unity中的每个方法的用法:




可通过查看上图方法,在Unity中进行测试。Awake:当游戏运行起来的时候就进行调用;或者当游戏物体被实例化出来后,Awake也会进行调用;
FixedUpdate:每秒固定调用60帧(但不一定是每帧一次);
Disable:当游戏物体被禁用时会进行调用;
Enable:当游戏物体解除禁用时会进行调用;Time类:
deltaTime:每一帧的时间间隔;
frameCount:游戏开始到现在所运行的帧数;
realtimeSinceStartup:无论游戏暂停或放在后台,仍会继续运行;
time:游戏运行所占用的时间;
timescale:时间比例,表示加速/减速游戏时间;使用Time控制物体移动:
Cube.Translate(Vector3.forward*Time.deltaTime);
解释: Vector3.forward表示向前移动;
乘以Time.deltaTime,表示乘以每秒的时间间隔,则运动是平稳的。(否则虽然每秒仍然是移动1米,但是由于每秒的帧率不同将可能造成某些帧移动的快,有些帧移动的慢)通常使用timescale控制游戏暂停/加速/减速(结合deltaTime使用)。使用方法:Time.timescale=0;
可使用realtimeSinceStartup做性能测试,判断哪种方法更加消耗性能;
创建游戏对象的方法:
(1) 第一种方法:直接在Start函数中 GameObject go=new GameObject(“Cube”);
(2) 第二种方法:实例化,先定义一个prefab,然后在Start函数中 GameObject.Instantiate(prefab);//可根据prefab或者另外一个游戏物体进行克隆。
(3) 使用CreatePrimitive创建一些原始的图形:在Start函数中:GameObject.CreatePrimitive(“PrimitiveType.Plane”);使用代码添加组件:
示例:
GameObject go= GameObject.CreatePrimitive(PrimitiveType.Cube);//创建一个原始的Cube物体
Go.AddComponent();//给物体添加刚体组件activeInHierarchy判断游戏物体是否处于被激活状态或者进行关闭激活状态(True为激活状态,即显示;false为未被激活状态,即不显示):
GameObject go= GameObject.CreatePrimitive(PrimitiveType.Cube);
Debug.Log(go.actibeInHierarchy);//输出当前状态
Go.SetActive(false);//关闭激活状态
Debug.Log(go.activeInHierarchy);//再次输出当前状态
Unity常用的API—1
版权声明:本文为weixin_45839854原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。