1、虚拟轴
Unity3D的虚拟轴在ProjectSetting中可以查看
虚拟轴
编写脚本如下
public class Test : MonoBehaviour {
void Update() {
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
if (horizontal != 0) {
// 左右移动
transform.position = new Vector3(transform.position.x + horizontal * 0.1f, transform.position.y, transform.position.z);
// y轴旋转
transform.eulerAngles = new Vector3(transform.position.x, transform.position.y + horizontal * 0.1f, transform.position.z);
}
if (vertical != 0) {
// 前后移动
transform.position = new Vector3(transform.position.x, transform.position.y, transform.position.z + vertical * 0.1f);
}
}
}
2、获取键盘
可以传递小写的键的名称作为参数,也可以传递一个KeyCode的值,返回值就是一个布尔值。
1、Input.GetKey某个键是否被持续按下
2、Input.GetKeyDown,某个键是否被按下
3、Input.GetKeyUp某个键是否被弹起
如下代码
public class Test : MonoBehaviour {
void Update() {
if (Input.GetKey("a")) {
Debug.Log("A键被按下");
}
}
}
3、获取鼠标事件
1、Input.GetMouseButtonDown 当按钮按下
2、Input.GetMouseButtonUp 当按钮抬起
3、Input.GetMouseButton,某键被持续按下
4、Input.mousePosition,鼠标位置获取
点击鼠标放大物体
void Update() {
// 点击放大
if (Input.GetMouseButtonDown(0))
{
GameObject Cube = GameObject.Find("Cube");
Cube.transform.localScale = new Vector3(2, 2, 2);
}
}
点击鼠标移动物体
public class Test : MonoBehaviour {
public Boolean isDown = false;
void Update() {
// 点击放大
if (Input.GetMouseButtonDown(0)) {
isDown = true;
}
if (Input.GetMouseButtonUp(0)) {
isDown = false;
}
if (isDown) {
GameObject Cube = GameObject.Find("Image");
Cube.transform.position = Input.mousePosition;
}
}
}
4、移动设备输入
1、Input.touchCount
最后一帧有多少根手指触碰到了,不同设备能追踪到的数量不同,苹果一般最多能支持五根手指