Как использовать addforce на 2d объекте для его перемещения - PullRequest
0 голосов
/ 23 апреля 2019

Мне нужно переместить 2d шар, используя клавиши со стрелками вправо и влево. Однако, когда я нажимаю правую, мяч иногда уходит влево и так далее ... И да, я использую Rigibody2D для этого.

 if (Input.GetKeyDown("right"))
    {
        bola.AddForce(transform.right * velocity,ForceMode2D.Force);
    }

    if (Input.GetKeyDown("left"))
    {
        bola.AddForce(-transform.right * velocity,ForceMode2D.Force);
    }

1 Ответ

2 голосов
/ 23 апреля 2019

Возможно, ваши шары вращаются из-за силы, которую вы прикладываете, и, следовательно, вы используете локальное право, направление меняется с вращением. Вы должны попытаться отключить вращение твердого тела или использовать глобальные указания.

if (Input.GetKeyDown("right"))
{
    bola.AddForce(Vector2.right * velocity,ForceMode2D.Force);
}

if (Input.GetKeyDown("left"))
{
    bola.AddForce(-Vector2.right * velocity,ForceMode2D.Force);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...