【unity3d】2D场景下的物体移动

之前有记录过3D场景下物体的移动,是利用Input.GetAxis方法进行获取键盘的输入,然后在移动方向上施加一个力向量rigidbody rd=AddForce(new Vector3(x,0,y)*speed);进行前后左右的移动,今天在2D的学习中,发现了与3D游戏中物体运动不同的一个方法。


首先还是需要利用Input.GetAxis获取键盘输入的信息

public float speed;  //移动速度

public float angularSpeed;    //物体旋转速度

private Rigidbody rigidbody;

void Update(){
  float v= input.GetAxis("Vertical");  //竖直方向的移动
  rigidbody.Velocity=transform.foward*speed*v;
  float h=input.GetAxis("Horizontal");
  rigidbody.angularVelocity=transform.up*angularSpeed*h;
}
首先利用方法获取键盘输入信息,然后利用rigidbody组件中的velocity属性和angularVelocity属性进行物体的前后移动和选装,这个方法适合车的移动,是否可以用于其他的场景,现在还没有过多的研究,总之,对于一个动作的实现方法,我们会的越多,就越好~
发布了29 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_36834959/article/details/78857103