主要内容:
1.预制体prefab实例化
2.物体变速移动
3.物体坐标移动
4.获得鼠标点击
5.获取键盘按键
主要代码:
//点击发射子弹
if(Input.GetMouseButtonDown(0)){//0代表鼠标左键按下
GameObject b= GameObject.Instantiate(zidan,transform.position,transform.rotation);
//实例化预制体prefab,位置,旋转角度
Rigidbody rbd = b.GetComponent<Rigidbody>();//获得刚体组件
rbd.velocity=transform.forward *ld;//方向*加力 = new vector3(,,,)*id;
}
//相机左右移动
float h = Input.GetAxis("Horizontal");//获取键盘操作
transform.Translate(new Vector3(h,0,0)*Time.deltaTime*sd);//平移(方向*距离)
操作获取:
Input.GetMouseButtonDown(0)
按钮值设定为 0对应左键 , 1对应右键 , 2对应中键。返回bool
Input.GetAxis("Horizontal");//获取键盘操作
api:根据axisName名称返回虚拟输入轴中的值。
开发手册上有相关解释,但说得很不清楚,看完也不懂,下面给出详细的解释。
根据输入设备,参数分为两类:
一、触屏类
1、Mouse X 鼠标沿屏幕X移动时触发
2、Mouse Y 鼠标沿屏幕Y移动时触发
3、Mouse ScrollWheel 鼠标滚轮滚动是触发
二、键盘类
1、Vertical 键盘按上或下键时触发
2、Horizontal 键盘按左或右键时触发
返回值是一个数,正负代表方向1,-1
移动方式:
控速移动:
[瞬间变成指定方向移动的速度]
rbd.velocity=transform.forward *ld;//方向*加力 = new vector3(,,,)*id;
Vector3.forward只不过是Vector3(0,0,1)的缩写,
Rigidbody.velocity 速度
transform.forward 是物体的z轴,但是vector3.forward是世界坐标的z轴
Rigidbody.velocity 速度
transform.forward 是物体的z轴,但是vector3.forward是世界坐标的z轴
坐标移动:
[控制坐标强制移动]
transform.Translate(new Vector3(h,0,0)*Time.deltaTime*sd);//平移(方向*距离)
如果relativeTo留空或者设置为Space.Self,移动被应用相对于变换的自身轴。(当在场景视图选择物体时,x、y和z轴显示)如果相对于Space.World 移动被应用相对于世界坐标系统。
功能方法:
实例化预制体:
GameObject b= GameObject.Instantiate(zidan,transform.position,transform.rotation);
//实例化预制体prefab,位置,旋转角度
组件获取:
Rigidbody rbd = b.GetComponent<Rigidbody>();//获得刚体组件