【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属性进行物体的前后移动和选装,这个方法适合车的移动,是否可以用于其他的场景,现在还没有过多的研究,总之,对于一个动作的实现方法,我们会的越多,就越好~

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值