Unity基础知识、GameObject类

GameObject 游戏对象

GameObject 类是所有对象的基类  提供的是对游戏对象的常用操作

Find()通过名字查找指定对象,只要是当前场景下的,无论脚本挂在哪,或者子父级都能找

FindWithTag() 找一个对象

FindGameObjectsWithTag 通过标签找到多个符合名字的对象,返回GameObject类型的数组 一般要GameObject[] gos;然后从里面遍历go 获取数组的长度可以用Length

gameObject指的就是挂这脚本的当前的游戏对象 gameObject.name他的名字

SetActive() 括号里面填t或者f表示是否显示游戏对象,就相当于外面的小√

Getcomponent 获取组件  Getcomponents返回的是数组

例:

1、Light light = this.GetComponent<Light>();//获取到它的颜色 然后后面可以改颜色

2、lightGO = GameObject.Find("Light");//在相机上获取到灯这个游戏对象

light = lightGO.GetComponent<Light>();//在灯这个游戏对象上获取到灯的组件光

transform可以直接使用,指当前物体的位置信息

打印当前物体的位置信息:print(transform.position、rotation、localScale)

Instantiate(源对象,新对象的位置,新对象的角度)

Object类提供的方法,产生游戏对象的复本,执行结束后,会将对象的复本作为Object类型返回

注:一般写在Update()方法中。 (如果不对新的对象指定旋转或者位移那就会叠在一起)

Random.Range(,)伪随机从小到大取一个随机数,含min不含max  int z = Random.Range(1,5)

简单的复制人脚本:

Time类

deltaTime :float返回值 距离上一帧执行耗用的时间(小数)

常用:

*旋转或移动速度过快,用来控制速度

*Update()帧率造成的时间不匹配

transform.Translate(Vector3. up * Time. deltaTime)   

timeScale 暂停时间

Input类

鼠标输入

mousePosition  返回鼠标在屏幕上的具体坐标置-Vector 3 是个二维坐标,Z轴始终0,

坐标与当前屏幕的像素有关:

如果鼠标在当前屏幕的左下角(0,0),

如果鼠标在屏幕的右上角( Screen.Width,Screen.Height )

GetMouseButtonDown(按键码),被按下,返回:true或者false 左0右1中2

GetMouseButtonUp(按键码)  -  抬起      GetMouseButton(按键码)  -  长按

GetAixs(“Mouse X”)

获取鼠标在水平方向移动的距离

鼠标在正半轴移动—得到一个正值否则负值

float h = horizontalSpeed * Input.GetAxis(“Mouse x”);

float v = verticalSpeed * Input.GetAxis(“Mouse y”);

Transform.Rotate(v,h,0);

简单的游戏对象跟着鼠标动:

键盘输入

(也是返回true false)

GetKeyDown(按键码)-被按下时 GetKeyUp(按键码)-被抬起时 GetKey(按键码)-被按住时

按键码的格式: “a” 或者KeyCode.A

示例:

If(Input.GetKeyDown(“a”))   或者   if(Input.GetKey(KeyCode.A))

GetAxis("Vertical") :用于判断按了键盘上的哪个垂直方向键(返回-1到1,正就是上)

GetAxis(" Horizontal") :用于判断按了键盘上的哪个方向键(四个箭头方向键)

猜你喜欢

转载自blog.csdn.net/xiaobaihao0311/article/details/122302968
今日推荐