DredWulf
@DredWulf

Почему не работает этот простой код?

Делаю простейшую игру пинг понг. Есть следующий код, который отправляет шарик в случайное направление по нажатию ЛКМ в начале игры. Проблема в том, что шарик никуда не отправляется и по нажатию ЛКМ ничего не происходит.
// шарик
public Transform ball;
// скорость шарика
public int startBallSpeed = 350;
    void Update () 
    {
        if(Input.GetMouseButtonDown(0))
        {
// при старте включен Sleep для шарика, чтобы убрать его из физических просчетов во время простоя
            ball.GetComponent<Rigidbody2D>().WakeUp();
// создаю случайное направление
            Vector2 direction = new Vector2(1,Random.Range(1.5f, -1.5f));
         // запускаю шарик
            ball.GetComponent<Rigidbody2D>().AddForce(direction * startBallSpeed);
        }
}

// функция которая запускается при старте и сбрасывает координаты мячика (и прочего)
public void Reset(float x)
    {
        ball.GetComponent<Rigidbody2D>().Sleep();
        computer.position = new Vector2(computer.position.x, 0);
        player.position = new Vector2(player.position.x, 0);
        ball.position = new Vector2(0, 0);
        if(x > 0) playerScore++; else if(x < 0) computerScore++;
    }


6061dd23b63a2165007151.png
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
А чего у вас Rigidbody - Kinematic
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы