这是我参与8月更文挑战的第12天,活动详情查看:8月更文挑战数组
对于键盘按键操做,只有三种操做:markdown
根据坐标轴名称返回虚拟坐标系中的值使用控制器和键盘输入时此值范围在-1到1之间post
例如:ui
public class example : MonoBehaviour {
public float speed = 10.0F;
public float rotationSpeed = 100.0F;
void Update()
{
// 获取横向和纵向坐标轴,默认状况下他们关联到方向键上,值的范围是在-1到1之间
float translation = Input.GetAxis("Vertical") * speed**Time.deltaTime;
float rotation = Input.GetAxis("Horizontal") * rotationSpeed*Time.deltaTime;
// 沿着z轴平移对象
transform.Translate(0, 0, translation);
// 以咱们的y轴为中心旋转
transform.Rotate(0, rotation, 0);
}
}
复制代码
public class question1 : MonoBehaviour
{
// 在鼠标左键被按下时,利用鼠标的中轴,实现模型的缩放。
void Update ()
{
if (Input.GetMouseButton(0)) //按下鼠标左键
{
//获取鼠标中轴滚动量
float a = Input.GetAxis("Mouse ScrollWheel");
//找到摄像机组件Camera上的fieldOfView属性
this.gameObject.GetComponent<Camera>().fieldOfView += a;
}
}
}
复制代码
当将Unity游戏运行到IOS或Android设备上时,桌面系统的鼠标左键能够自动变为手机屏幕上的触屏操做,但如多点触屏等操做倒是没法利用鼠标操做进行的。Unity的Input类中不只包含桌面系统的各类输入功能,也包含了针对移动设备触屏操做的各类功能,下面介绍一下Input类在触碰操做上的使用。this
首先介绍一下Input.touches结构,这是一个触摸数组,每一个记录表明着手指在屏幕上的触碰状态。每一个手指触控都是经过Input.touches来描述的;spa
属性说明code
其中phase(状态)有如下这几种:orm
状态 | 说明 |
---|---|
Began | 手指刚刚触摸屏幕 |
Moved | 手指在屏幕上移动 |
Stationary | 手指触摸屏幕,但自最后一阵没有移动 |
Ended | 手指离开屏幕 |
Canceled | 系统取消触控跟踪,缘由如把设备放在脸上或同时超过5个触摸点 |