您的位置:首页 > 移动开发 > Unity3D

Unity3D之float Input.GetAxis(string axisname)

2016-01-02 12:05 573 查看
本人学习Unity3D第一次发博客。

Input.GetAxis(string axisname)方法返回一个float 类型的数。范围在-1到1之间,如果获取的是鼠标的运动,则不再是-1到1之间,它会随你的鼠标速度变化。

参数内容如下:

1.触屏类:

MouseX 鼠标按着并沿着屏幕X轴方向滑动时触发

MouseY
鼠标按着并沿着屏幕Y轴方向滑动时触发

Mouse ScrollWheel 当鼠标滚动轮滚动时触发

2.键盘操作类:

1.Vertical 对应键盘上面的上下箭头,当按下上或下箭头时触发

2.Horizontal 对应键盘上面的左右箭头,当按下左或右箭头时触发

[code]	using UnityEngine;
	using System.Collections;

	public class example :Monobehaviour {
		public float speed = 10.0F;
		public float rotationSpeed = 100.0F;
		void Update() {
			float translation = Input.GetAxis("Vertical") * speed;
			float rotation = Input.GetAxis("Horizontal") * rotationSpeed;
			translation *= Time.deltaTime;
			rotation *= Time.deltaTime;
			transform.Translate(0, 0, translation);
			transform.Rotate(0, rotation, 0);
		}
	}


[code]// A very simplistic car driving on the x-z plane.
// 一个十分简单的在x-z平面的驾车例子
var speed : float = 10.0;
var rotationSpeed : float = 100.0;

function Update () {
	// Get the horizontal and vertical axis.
	//获取横向和纵向坐标轴
	// By default they are mapped to the arrow keys.
	//默认情况下他们关联到方向键上
	// The value is in the range -1 to 1
	//值的范围是在-1到1之间
	var translation : float = Input.GetAxis ("Vertical") * speed;
	var rotation : float = Input.GetAxis ("Horizontal") * rotationSpeed;

	// Make it move 10 meters per second instead of 10 meters per frame...
	// 使它每帧移动10米变为每秒移动10米...
	translation *= Time.deltaTime;
	rotation *= Time.deltaTime;

	// Move translation along the object's z-axis
	//沿着z轴平移对象
	transform.Translate (0, 0, translation);
	// Rotate around our y-axis
	//以我们的y轴为中心旋转
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: