使用的API:.GetAxis("/*Edit>Project Settings>Input Manager>Axes中对应的名字*/");
1控制位置
示例
using UnityEngine;
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);
}
if(vertical != 0)
{
transform.position=new Vector3(transform.position.x,transform.position.y+vertical*0.1f,transform.position.z);
}
}
}
该段代码实现的目标是在运行时可以通过WASD来控制前后左右,Horizontal和Vertical是Edit>Project Settings>Input Manager>Axes中Horizontal和Vertical的名字。
2控制旋转
示例
using UnityEngine;
public class Test : MonoBehaviour
{
void Update()
{
float horizontal = Input.GetAxis("Horizontal");
if (horizontal != 0)
{
transform.eulerAngles=new Vector3(transform.eulerAngles.x, transform.eulerAngles.y+horizontal, transform.eulerAngles.z);
}
}
}
该段代码实现的功能是通过AD来控制左右旋转。
3控制其他
示例
using UnityEngine;
public class Test : MonoBehaviour
{
void Update()
{
Debug.Log(Input.GetAxis("Mouse X"));
}
}
该段代码实现的功能是在控制台输出鼠标在X轴方向移动的值,Mouse X也可以换成Edit>Project Settings>Input Manager>Axes中的其他值来实现相应的控制。
标签:eulerAngles,GetAxis,transform,虚拟,Input,position,horizontal From: https://www.cnblogs.com/gatran/p/17206098.html