Unity常用API(一)
Unity常用API一.Event Function:事件函数1.Reset() :被附加脚本时、在游戏物体的组件上按Reset时会触发该事件函数2.Start():在游戏初始化时会执行一次3.Update() :每一帧都会运行这个方法4.FixedUpdate(): 会在指定帧调用该方法多少次5.LateUpdate(): 晚于Update的运行顺序,但是FPS和Update是一样的6.Awak
Unity常用API(一)
一. Event Function:事件函数
1.Reset() :被附加脚本时、在游戏物体的组件上按Reset时会触发该事件函数
2.Start() :在游戏初始化时会执行一次
3.Update() :每一帧都会运行这个方法
4.FixedUpdate(): 会在指定帧调用该方法多少次
5.LateUpdate(): 晚于Update的运行顺序,但是FPS和Update是一样的
6.Awake() Start() : 都是在游戏物体初始化运行一次,但是Awake的运行顺序高于Start的,并且只要脚本中存在Awake方法,则无论是否挂载了该脚本都会执行该方法
7.OnEnable(): 当将物体的SetActive设置为true时就会自动调用调用该方法
8.OnDestory(): 当关闭游戏则会调用该方法
二. Time时间类函数:
1.Time.time 表示从游戏开发到现在的时间,会随着游戏的暂停而停止计算。
2.Time.timeSinceLevelLoad 表示从当前Scene开始到目前为止的时间,也会随着暂停操作而停止。
3.Time.deltaTime 表示从上一帧到当前帧时间,以秒为单位。【一般用来控制角色、动画的运动】
4.Time.fixedTime 表示以秒计游戏开始的时间,固定时间以定期间隔更新(相当于fixedDeltaTime)直到达到time属性。
5.Time.fixedDeltaTime 表示以秒计间隔,在物理和其他固定帧率进行更新,在Edit->ProjectSettings->Time的Fixed Timestep可以自行设置。 6.Time.SmoothDeltaTime 表示一个平稳的deltaTime,根据前 N帧的时间加权平均的值。
7.Time.timeScale 时间缩放,默认值为1,若设置<1,表示时间减慢,若设置>1,表示时间加快,可以用来加速和减速游戏,回放等、非常有用。如果游戏中控制运动的都是使用了Time.deltatime的话,则可以通过设置Time.timeScale=0来暂停其运动等。
8.Time.frameCount 总帧数
9.Time.realtimeSinceStartup 表示自游戏开始后的总时间,即使暂停也会不断的增加。【一般用作性能测试】 10.Time.captureFramerate 表示设置每秒的帧率,然后不考虑真实时间。 11.Time.unscaledDeltaTime 以秒计算,完成最后一帧的时间 不考虑timescale时候与deltaTime相同,若timescale被设置,则无效。
12.Time.unscaledTime 从游戏开始到现在所用的时间 不考虑timescale时候与time相同,若timescale被设置,则无效。
三 .GameObject类:
【1】、创建游戏物体的三种方法:
1.通过其构造器来创建 GameObject go=new GameObejct(“游戏物体名”); //一般是用来创建空的游戏来存放其他东西的。
2.Instantiate GameObject.Instantiate(prefab) //根据Prefab或者是另外一个游戏物体来创建(克隆Colon),可以实例粒子、等其他的游戏物体,很是常用的
3.CreattePrimitive GameObject.CreatePrimitive(PrimitiveType.**) //创建原始的游戏物体,基本的几何体
【2】、 为游戏物体添加组件, 其中组件可以是我们自己自定义的脚本GameObject.AddComponent<组件名>
【3】、属性、变量:
1.GameObject.activeInHierarchy 游戏物体是否处于激活状态,与父类有关,父类被取消激活,则子类也是取消激活的
2.GameObject.activeSelf 自身的激活状态,与父类无关,只与自身有关。【控制组件的激活与取消激活则使用.enable=false/true】3.GameObject.tag 游戏物体的tag标签,具体的由程序员自定义设置4.GameObject.SetActive(false/true) 通过参数的控制来设置其游戏物体的激活状态,true为激活状态,反之为取消激活状态。
【4】、UnityEngine.Object中的共有方法与变量
1.name: 名字,调用该变量,则无论是通过GameObject还是Component都是返回游戏物体的名字
2.Destroy() :删除游戏物体,但是不会立马在unity中删除,而是会先进行回收,等确定没对象使用的时候,在进行删除
3.DontDestroyOnLoad() : 当加载新的场景的时候,不删除这个场景中的某个游戏物体4.FindObjectType<>FindObjectsType<> : t通过类型来进行查找,是进行全局的查找,则就是在整个场景中进行查找5.FindGameObjectWithTag :如果查到的是多个,则只返回查找到的第一个
6.FindGameObejctsWithTag 返回查找到的游戏物体集合
【5】、消息的发送
1.BroadcastMessage() 广播发送消息,则该物体上对应的方法会被调用,同时这个游戏物体上的子物体上对应的方法也会被调用的
2.SendMessage() 发送消息,只会对这个游戏物体中脚本上的方法发送消息
3.SendMessageUpwards() 广播发送消息,但是和BroadcastMessage()是相反的,在调用自身的方法时也会向上传递,调用其父类的方法
【6】、游戏组件的查找
1.Cube cube = target.GetComponent(); 返回一个对应的组件,如果有多个,则只返回第一个
2.Cube[]cc= target.GetComponents(); 返回该游戏物体上所有符合条件的组件,返回一个组件数组
3.Cube[] xx = target.GetComponentsInChildren(); 返回该游戏物体上的对应组件,同时返回该游戏物体的子类上对应的组件
4.Cube[] yy = target.GetComponentsInParent(); 返回该游戏物体上的对应组件,同时返回该游戏物体的父类上对应的组件
四. MonoBehaviours的类:
【1】、继承的变量成员
1.enabled: 返回该组件是否被激活或者是被禁用,可以通过该变量来进行设置
2.isActiveAndEnabled: 只能返回该组件是否激活的标志位,不能设置该变量,为只读的
3.tag :该组件所对应的游戏物体的标签
4.name :该组件所对应的游戏物体的名字
【2】、Invoke等方法、变量:将添加要调用的方法添加到等待队列中,然后等待用户设定的时间后,进行队列中的方法调用。
1.Invoke(“方法1”,float time): 在等待time的时间后调用方法1
2.bool i= IsInvoking(“方法1”) 返回bool值,如果方法被添加到队列中,但没有被运行则返回true,如果经过一段时间后该方法被调用了则会返回false;
3.InvokeRepeating(“方法1”,time,number): 等待time时间后,会重复开始运行方法1,每秒钟运行number次。
4.CancelInvoke() 会暂停通过Involve/InvokeRepeating的运行,但是一般来说CancelInvoke会和InvokeRepeating组合调用。参数由自己设定
更多推荐
所有评论(0)