Unity API常用方法和类详细讲解1

 ̄綄美尐妖づ 提交于 2020-03-01 03:46:29

Unity API常用方法和类详细讲解

005-Time类中静态变量介绍

FlexdUpdate 每秒(60)就60次。
OnTrigger触发器
OnCollision碰撞器
OnMouse XX输入事件 鼠标操作有关的事件
Scene Rendering场景渲染有关的
Delteime 延迟事件
deltatime每一帧的时间间隔
FrameCount帧数
RealtimeSinceStartup游戏开始到现在占用的时间
游戏运行一共占用时间:
Time
timeSincelevelLoad
fixedTime
realtimeSinceStartup暂停还会记时
timeScale时间比例

006-TimedeltaTime和realTimeSinceStartup的使用

乘以Time.deltatime.控制动画,运动相关。
TimeScale=0用于暂停游戏。
TimeScale=0.5可用于慢动作回放。
(deltatime一般都会乘TimeScale,TimesCALE默认1)
Time.realtimeSinceStartUp可用于性能测试。
(time2-time1)即可
Time.deltatime指一帧的运行时间,根据电脑配置和代码运行效率这一帧的运行时间会发生变化。
Time.fixedDeltaTime指一帧的运行时间,这一帧的运行时间是固定的,默认是0.02s,可以在Edit->Project Settings->Time中的Fixed Timestep修改。

007-创建游戏物体的三种方法

构造方法
Instantiate实例化
createPrimitive创造基本元素
new GameObject();括号里可以添加想要创建的物体类型例如
new GameObject(“Cube”);创建出一个正方体
GameObject.Instantiate();
实例化Prefabs或实例化游戏物体
GameObject.CreatePrimitive();
创建原始图形如:.GameObject.CreatePrimitive(PrimitiveType.Cube);
2.通过代码给游戏物体添加组件
private GameObject object;
object.AddComponent();
通过代码给游戏物体j添加脚本
object.AddComponent<脚本名>();

009-如何禁用和启用一个游戏物体

transform每个物体都有,不能被移除。
tag区分场景中物体。
activeInHierarchy判断物体是否处于激活状态。
go.SetActive(true),用于激活关闭/打开。

011-UnityEngine下Object有用的静态方法

Destroy(需要销毁物体或者组件,可选销毁的时间)
DestroyImmediate(立刻销毁物体(不推荐使用))
DontDestroyOnLoad(A场景跳到另一个场景时所不销毁的物体)
FindObjectOfType(根据组件的类型查找相应类型组件)
FindObjectsOfType(找到该场景中所有组件)

012-GameObject独有的静态方法

GameObject.Find(“Main Camera”);
GameObject.FindGameObjectsWithTag(“Main Camera”);

013-游戏物体间消息的发送和接收

1发送该节点的所有子节点
GameObject.BroadcastMessage(string methodName, object parameter = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);

//发送给物体本身的广播
GameObject.SendMessage(string methodName, object value = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);

//发送给发节点的所有基(父)节点
GameObject.SendMessageUpwards(string methodName, object value = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);
2.
GameObject中需要对象访问的方法:
GetComponent类(获取组件)
SendMessage类(消息发送/接收类)
SetActive
CompareTag
消息类:
BroadCastMessage(方法名)
注:自身和子物体的所有该方法都会被调用。减少引用,减少耦合性。
SendMessage(方法名)
注:只会搜寻自身的该方法,不会搜寻子物体上是否有该方法。
SendMessageUpWord(方法名)
注:自身+父物体。

014-得到组件的各种方法函数

GetComponent<组件类型>();
GetCompoents<组件类型>();
GetCompoentsInChilren<组件类型>();
GetComponentsInChildren<组件类型>();
GetComponentInParent<组件类型>();
GetCompoentsInParent<组件类型>();

017-MonoBehaviour中Invoke的使用

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class API07Invock : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
// Invoke(“Attack”,3);
InvokeRepeating(“Attack”,3,5);
CancelInvoke();
}
// Update is called once per frame
void Update()
{
bool res=IsInvoking(“Attack”);
print(res);
}
void Attack()
{
print(“开始攻击”);
}
}

018-什么是协程,它是如何执行的

IEnumerator//协程
IEnumerator fun()
{
XXXXXX;
yield return;
}
void Start()
{
StartCoroutine( fun());
}
如果调用的是普通方法,会等普通方法执行完后向下执行。
调用的是协程方法,调用后就会继续运行.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!