У меня есть этот код:
public class BasicMovement : MonoBehaviour {
private Animation anim;
public float jumpPower = 15f;
private Rigidbody2D rb;
bool canJump;
// Use this for initialization
void Start () {
anim = this.gameObject.GetComponent<Animation>();
anim.Play("Run");
rb = gameObject.GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update () {
// FIX LATER for collider, not position
if (rb.position.y <= -2.95) // this is line 23
{
canJump = true;
}
if (canJump)
{
if (Input.GetKeyDown(KeyCode.Space))
{
rb.velocity = new Vector2(rb.velocity.x, jumpPower);
canJump = false;
}
}
}
}
Я получаю эту ошибку:
Ссылка на объект не установлена на экземпляр объекта: 23
По какой-то причине, если я вычеркну anim.Play("Run");
, тогда ошибки вообще не будет.
Кроме того, я сделал анимацию RUN
и JUMP
для gameObject, которому назначен этот скрипт.