Input gameobject vector3 c#

时间:2023-12-19 20:02:14

Input类中的常用方法

bool w=Input.GetKey(KeyCode.W);//检测是否按下键盘W

Input.GetKeyDown(KeyCode.W);//表示检测按下时

Input.GetKeyUp(KeyCode.W);//表示检测按键弹起时

Input.GetMouseButton(0);//参数0表示左键,1表示右键,2表示中键

//GetMouseUp和GetMouseDown的方法与键盘的原理类似

 if (Input.GetKeyDown("space"))
print("space key was pressed");
 if (Input.GetKeyDown(KeyCode.Space))
print("space key was pressed");
当处理输入时推荐使用Input.GetAxis和Input.GetButton,它们允许最终用户自定义按键

gameObject本身上的一些常用方法

gameObject.name="old wang";

gameObject.tag = "Player";

bool active = gameObject.activeSelf;//获取游戏对象的激活状态

gameObject.SetActive(false); //将当前游戏对象不启用

gameobj0 obj0 = gameObject.GetComponent<gameobj0>();//获取对象本身的一个其他组件

print(obj0.age);

Light l=gameObject.AddComponent<Light>(); //为当前对象添加一个组件

如何在一个游戏对象中查找另一个游戏对象

GameObject a;

a = GameObject.FindGameObjectWithTag("Cube");

print(a.name);//通过Tag来查找游戏对象

GameObject b = GameObject.Find("Main Camera");

b.name = "主摄像机";//通过对象名来查找游戏对象

GameObject.Destroy(a,2f); //销毁某游戏对象,2f表示销毁的延迟(2秒)

关于Vector3

Vector3 v=new Vector3();//vector3是用来表示三维向量的一个类

float x= v.x;

float y= v.y;

float z= v.z;//xyz分别为三个方向上的分量

v=Vector3.up;//表示世界坐标系中 y轴正方向的单位向量

v = Vector3.down;//表示世界坐标系中 y轴负方向的单位向量

v = Vector3.right;//表示世界坐标系中 x轴正方向的单位向量

v = Vector3.left;//表示世界坐标系中 x轴负方向的单位向量

//forward为z轴正方向,back为z轴负方向,zero表示原点

v.Normalize();//将v变为v的单位向量

v=v.normalized;//返回一个v方向的单位向量,v本身不变

float l = v.magnitude;//获取v的长度

float a = Vector3.Angle(v1, v2);//求两个向量的夹角,返回值无正负

float d=Vector3.Distance(v1,v2);//求两个向量终点的距离

Vector3.Dot(v1, v2);//点乘两个向量

Vector3.Cross(v1,v2);//叉乘两个向量