Unity 2D实现游戏控制人物移动
代码如下:
public int step; //步长
public float velocity=0.35f; //速度
private int x;
private int y;
private Vector3 playerPos;
void Start()
{
InvokeRepeating("Move",0,velocity);
x=0;y=step;
}
void Update()
{
if(Input.GetKey(KeyCode.W))
{
gameObject.transform.localRotation=Quaternion.Euler(0,0,0);
x=0;
y=step;
}
if(Input.GetKey(KeyCode.S))
{
gameObject.transform.localRotation=Quaternion.Euler(0,0,180);
x=0;
y=-step;
}
if(Input.GetKey(KeyCode.A))
{
gameObject.transform.localRotation=Quaternion.Euler(0,0,90);
x=-step;
y=0;
}
if(Input.GetKey(KeyCode.W))
{
gameObject.transform.localRotation=Quaternion.Euler(0,0,0);
x=0;
y=step;
}
if(Input.GetKey(KeyCode.D))
{
gameObject.transform.localRotation=Quaternion.Euler(0,0,-90);
x=step;
y=0;
}
}
void Move()
{
playerPos=gameObject.transform.localPosition;
gameObject.transform.localPosition=new Vector3(playerPos.x+x,playerPos.y+y,playerPos.z);
}
在unity中控制物体移动代码
从获取键盘开始
通过控制物体的坐标来实现物体移动