【发布时间】:2020-11-08 04:06:59
【问题描述】:
大家好,我对 Unity 很陌生,也很困惑。
我正在创建一个自上而下、无重力的测试游戏,类似于 PacMan(即考虑角色直线运动)。
目前,我正在尝试以直线(无曲率)移动对象(见图)。
我的游戏对象附加了RigidBody2D,以及Linear、Angular和Gravity设置为0。
我目前正在通过增加力来控制我的游戏对象:
private Rigidbody2D _playerRB2D;
public float _speed;
private void FixedUpdate()
{
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector2 movement = new Vector2(moveHorizontal, moveVertical);
_playerRB2D.AddForce(movement * _speed);
}
我们的想法是游戏对象不会减速,因此会不断运动(直线运动)。与物体的碰撞显然也很重要!
任何要查看的帮助或信息都会有很大帮助,谢谢!
【问题讨论】:
-
我不确定,你能试试这个吗:
Vector2 movement = new Vector2(moveHorizontal> moveVertical ? moveHorizontal: 0f, moveVertical> moveHorizontal ? moveVertical> :0f);