在制作二维角色运动时,通常使用GetAxis方法来获取键盘输入,在Update使用如下代码来控制移动:
public class Object: MonoBehaviour
{
public int speed=3;
void Update()
{
public int speed=3;
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
Vector2 move = new Vector2(h, v);
Vector2 position = transform.position;
position = position + move * speed * Time.fixedDeltaTime;
transform.position = position;
}
}
但是有的时候我们需要人物只能上下左右四个方向移动,同时按猪两个按键,比如左上,上述代码回导致角色斜着移动。这里提供一种高效的思路。
public class Object: MonoBehaviour
{
public int speed=3;
private bool oldv;
void Update()
{
public int speed=3;
float h = Input.GetAxis("Horizontal"