Unity常用API(一)

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组合调用。参数由自己设定

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity3D常用API包括Component、Transform、GameObject、Object和Time等。\[1\]这些API可以用于处理游戏对象的组件、变换、实例化和销毁等操作。例如,可以使用Component来获取和管理游戏对象的组件,使用Transform来控制游戏对象的位置、旋转和缩放,使用GameObject来创建、查找和销毁游戏对象,使用Object来处理资源的加载和释放,使用Time来获取游戏的时间信息。此外,还有一些常见的API函数,如Instantiate函数用于实例化预制件,Start函数和Update函数用于处理游戏对象的初始化和更新等。\[2\]\[3\]这些API和函数是Unity开发中经常使用的工具,可以帮助开发者实现各种功能和效果。 #### 引用[.reference_title] - *1* [Unity3D数字孪生笔记——Unity常用API篇](https://blog.csdn.net/Lcl_huolitianji/article/details/120875486)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Unity3D常用API](https://blog.csdn.net/u011360242/article/details/77046732)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【Unity 3D】常见API的讲解以及在C#脚本中的执行(附源码)](https://blog.csdn.net/jiebaoshayebuhui/article/details/128510864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值