Ошибка с Rigidbody2D.AddForce

Рейтинг: -1Ответов: 1Опубликовано: 30.03.2023

Делаю игру "Ping Pong". Написал скрипт, который должен толкнуть мяч в начале, при запуске ошибка.

NullReferenceException: Object reference not set to an instance of an object Ball.Start () (at Assets/Scripts/Ball.cs:13)


public class Ball : MonoBehaviour
{
    Rigidbody2D Rigidbody2D;
    void Start()
    {
        float randomNum = Random.Range(0,2);
        if (randomNum <= 0.5) {
            Rigidbody2D.AddForce(new Vector2(80, 10));
        }
        else {
            Rigidbody2D.AddForce(new Vector2(-80, -10));
        }
    }
}

Ответы

▲ 0

В ошибке сказано - "Отсутствует ссылка на Component Rigidbody2D". В скрипте достаточно прописать:

private void Awake()
{
    Rigidbody2D = GetComponent<Rigidbody2D>();
}

P.S Документация на Awake