【Uinty3d】常用API

本文详细介绍Unity游戏开发的基础知识,涵盖事件函数、时间类函数、游戏物体操作、组件管理等内容,并介绍协程、输入处理、射线检测等关键技术。

1.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(): 当关闭游戏则会调用该方法

2.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被设置,则无效。

3.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<>
	5. FindObjectsType<> : t通过类型来进行查找,是进行全局的查找,则就是在整个场景中进行查找
	6. FindGameObjectWithTag :如果查到的是
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值