Unity API常用方法和类(一)

一、Unity调用先后顺序(图片来自Unity官方文档)

常用顺序为:Awake->Start-> OnTriggerXX->OnCollisionXX-> OnMouseXX->Update->OnGUI

 

*编辑器模式下Reset是第一级被调用的

*Awake Onable Reset都只调用了一次,OnGUI会一直刷新

 

二、Time.(秒为单位)

Time.deltaTime  1秒/实际帧调用,一般是计时器

Time.realtimeSinceStartup  从游戏开始计时的时间,暂停也计时.可测试比较两个函数执行N次的性能,声明一时间,函数执行后再声明一时间。两个值相减为耗费时间。

Time.timeScale = 3.0f  游戏时间增快减慢,暂停游戏=0

 

三、GameObject

新建物体,默认在原点出生

1.GameObject go = new GameObject("empty");

2.复制实例或Prefab

public GameObject prefab;

GameObject.Instantiate(prefab); 实例化Prefab基础属性或场景游戏物体

Instantiate(Object original,Transform parent,bool instantiateInWorldSpace);新建物体在父物体下,使用局部空间

3.GameObject.CreatePrimitive(PrimitiveType.Cube);仅能创建原始图形

 

添加组件

gameObject.AddComponent<组件名>();

 

GameObject 常用属性变量

1.atciveInHierarchy  常用,判断是否激活,子物体被影响。

activeSelf   可读不可改,子物体不会被影响激活状态

例:gameObject.SetActive(false);

gameObject

2.tag

3.Transform,GameObject必备组件,无法删除

 

静态方法可以通过类名直接调用,普通方法需要通过对象调用

GameObject.Find("名字") 会遍历场景内每个物体

GameObject[] gos = GameObject.FindGameObjectsWithTag(“”);

 

GameObject与Component继承于UnityEngine.Object的特性

Destroy(gameObjectm,5);5秒后销毁这个物体,统一放入垃圾池,确认无引用后再销毁

Destroy(this/rigidbody);销毁组件

DontDestroyOnLoad(transform.gameObject);场景跳转时候不会销毁

Object.FindObjectsOfType  搜索带有某组件的物体,返回GameObject/组件数组,不查找未激活游戏物体

Object.FindObjectOfType  搜索场景内某组件,找到一个就返回

Instantiate

GetComponents                 只返回第一个

GetComponentInChildren   返回子物体下的所有组件

BroadcastMessage广播

例:

public GameObject target;

target.BroadcastMessage("Attrack",null,SendMessageOptions.DontRequireReceiver);

target身上的Attrack组件被调用,但场景内没有target组件不要报错。

target物体下的子物体如果有Attack组件也会被调用。

SendMessageUpwards物体下的父级及以上物体的Attack组件也会被调用。

 

四、MonoBehaviour继承自Component

[ExecuteInEditorMode]

Invoke("LauchProject",2);2m后调用某方法

Invoke("Attack",4,2); 4秒后开始,每间隔2m调用一次

 

startCoroutine协程

1.Coroutine返回值是IEnumerator

2.使用yield return new WaitForSeconds(3);暂停协程三秒

返回参数时使用yield return null/0;

3.使用StartCoroutine(Attach(player01));来调用协程方法

开启与停止需要用相同的方式:方法名或者调用方法的IEmumerator。

 

五、鼠标相关时间函数,检测的物体要有Collider

OnMouseDown 鼠标按下

OnMouseUp 鼠标抬起,哪个物体上按下的,算作在哪个物体上触发

OnMouseDrag 鼠标按下时划过,哪个物体上按下的,算作在哪个物体上划过

OnMouseEnter 鼠标进入

OnMouseExit 鼠标划出

OnMouseOver 划过

OnMouseUpAsButton 仅在同一个物体上按下并抬起时候触发

 

--End--

文章思路来源:Siki学院免费教程

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity APIUnity提供的一组API,通过这些API可以访问Unity的各种功能和组件,包括游戏对象、场景管理、物理引擎、动画系统、UI系统等。下面是一些常用Unity组件和API的介绍: 1. Transform组件:Transform组件是所有游戏对象都拥有的组件,它包含了游戏对象的位置、旋转和缩放信息,可以用来控制游戏对象在三维空间中的位置和方向。 2. Rigidbody组件:Rigidbody组件是物理引擎中的一个组件,用来控制游戏对象的物理行为,包括重力、碰撞、力和速度等。 3. Collider组件:Collider组件是物理引擎中的一个组件,用来检测游戏对象之间的碰撞,并触发相应的事件。 4. Animator组件:Animator组件是动画系统中的一个组件,用来播放游戏对象的动画,并控制动画的参数和状态。 5. AudioSource组件:AudioSource组件是声音系统中的一个组件,用来播放游戏对象的声音,并控制声音的音量、音调和循环等。 6. Camera组件:Camera组件是渲染系统中的一个组件,用来控制游戏对象的视角和视野,可以用来创建不同的摄像机效果。 7. UI组件:Unity的UI系统包括了一些常用的UI组件,如Text、Image、Button、Slider等,可以用来创建游戏中的UI界面。 8. Input:InputUnity的输入系统,用来检测游戏输入设备(如键盘、鼠标、手柄)的输入,并触发相应的事件。 9. Time:TimeUnity的时间系统,用来控制游戏中的时间流逝,包括游戏帧率、时间缩放和游戏时间等。 10. SceneManager:SceneManagerUnity的场景管理系统,用来加载、卸载、切换和管理场景,包括场景的异步加载和卸载等。 以上是一些常用Unity组件和API的介绍,这些组件和API可以帮助开发者更方便地创建和控制游戏对象,并实现各种不同的游戏功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值