unity3d-常用api

简单手写记录了一下,字丑见谅。
Object、GameObject、Component:
在这里插入图片描述Mathf:
Abs:取绝对值
Ceil(float):向上取整,返回float
CeilToInt(float):向上取整,返回int
Floor(float):向下取整,返回float
Floor(float):向下取整,返回int
Clamp(float value,float min,float max):当value>max,返回max;当value<min,返回min;当min<value<max:返回一个min->max之间的数
Clamp01:min=0,max=1
ClosetPowerOfTwo(int value):返回value离一系列2的倍数的数最近的那个数
DeltaAngle(float current,float target):返回两个角度之间的夹角
Lerp(float a,float b,float t):以a->b的空间为总,返回一个t比例的数。如:a=0,b=1,t=0.5,返回0到1的1/2,即
LerpAngle(float a,float b,float t):与Lerp一样,不过这是应用在度数
Pow(float f,float p):返回f的p次方
Sqrt(float f):返回根号f
Round(float):四舍五入,返回float
RoundToInt(float):四舍五入,返回int
float MoveTowards(float current,float target,float maxDelta):从current运动到target,maxDistanceDelta就是每次移动的最大长度,返回值是当current值加上maxDistanceDelta的值,如果这个值超过了target,返回的就是target的值。maxDelta可为Rate * Time.deltaTime。
float PingPong(float t,float target):来回运动,返回值为一个0到length的值。t通常为Time.time,随着时间的推移,不断返回一个0-1的值。

Time:
Time.deltaTime:每帧占用的时间,如1s内有50帧,则Time.deltaTime=1/50s,受算法效率和硬件设备影响(只读)。
fixedDeltaTime:固定的每帧占用的时间,不受算法效率和硬件设备影响(可变,影响FiexedUpdate的速率)。
time:表示从游戏开发到现在的时间,会随着游戏的暂停而停止计算。
fiexedTime:表示从游戏开发到现在的时间,固定时间以固定间隔(等于fixedDeltaTime)更新,直到达到time属性。
realtimeSinceStartup:表示从游戏开发到现在的时间,游戏暂停也会继续计算。
frameCount:帧数。
timeScale:时间变化的速度,scale=0游戏暂停。
timeSinceLevelLoad:场景加载后到现在的时间。
smoothDelatTime:用于平滑DeltTime,使得DeltaTime稳定在一个值。

创建GameObject的3种方法:

  1. new GameObject(“name”);
  2. Instantiate(GameObject /Component);
    在这里插入图片描述3.CreatePrimitive(PrimitiveType);//可以创建可带有几种基本的Mesh的GameObject

GameObject和Component的激活与不激活:
GameObject的激活属性为ActiveInHierarchy:通过调用SetActive的方法可以设置它。当祖先的ActiveInHierarchy被禁用时,孩子也会被禁用,但是孩子的activeSelf不受影响,仍然为true。
Component的激活属性为enabled:直接enabled=false/true可以设置。
设置为不激活:则原理上是禁用其update()。

Input:
gyro、acceleration:感应重力。
bool GetKey:按下键盘一直触发,有两种参数传递(下同):1.KeyCode.;2.name,如
字母键"a"…,数字键"1"…,方向键"up"、“down”、“left”、“right”,“left shift/ctrl/alt/cmd”、“right shift/ctrl/alt/cmd”,小键盘"[1]"…"[+]"、“equals”,“mouse 0/1/2”,"backspace、“escape”、“f1”…。
GetKeyDown():按下触发。
GetKeyUp():抬起触发。
GetMouseButton(0/1/2):按下鼠标时一直触发,0鼠标左键,1鼠标右键,2鼠标中键(下同)。
GetMouseButtonUp(0/1/2):抬起触发。
GetMouseButtonDown(0/1/2):按下触发。
GetButton(string axisName):按下时一直触发,触发虚拟键盘(下同),在Edit->project setting->Input->Axis中可查看。每个虚拟按键可对应多个输入值。如Fire0代表mouse 0、left ctrl。
GetButtonUp(string axisName):抬起触发。
GetButtonDown(string axisName):按下触发。
float GetAxis(string axisName):即调用上述的axisName。
一、触屏类
  1、Mouse X 鼠标沿屏幕X移动时触发
  2、Mouse Y 鼠标沿屏幕Y移动时触发
  3、Mouse ScrollWheel 鼠标滚轮滚动是触发
二、键盘类
  1、Vertical 键盘按上或下键时触发
  2、Horizontal 键盘按左或右键时触发
返回值是一个0-1/-1的数,正负代表方向。

vector3:
forward back z轴
up down y轴
left right x轴
one (1,1,1)
zero(0,0,0)

UGUI事件检测:
btnGameObject.GetComponent().OnClick.AddListener(this.method);
类似OnClick等方法可在引擎Inspector具体组件中查看。

UGUI接口:
可在官方api文档在中查看相关接口:Scripting->Event System->Supported Events。
using UnityEngine.UI;
using UnityEngine.EventSystem;
待补充…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值