没有rigidbody2D附加到gameObject,但脚本试图访问它

本文关键字:脚本 访问 rigidbody2D gameObject 没有 | 更新日期: 2023-09-27 18:14:35

我得到这个错误。我不知道为什么。

屏幕截图:

http://www.siz.co.il/my.php?i=gmfmczmo3gzl.png

和我的脚本代码:

using UnityEngine;
using System.Collections;
public class PlayerMovementV2 : MonoBehaviour
{
public KeyCode moveUp;
public KeyCode moveDown;
public KeyCode moveRight;
public KeyCode moveLeft;
public float playerVelocity = 1;
public Rigidbody2D rigid2D;
public Vector2 vector2;
// Use this for initialization
void Start()
{
    rigid2D = GetComponent<Rigidbody2D>();
    vector2 = new Vector2(rigid2D.velocity.x, playerVelocity);
}

// Update is called once per frame
void Update()
{
    if (Input.GetKey(moveUp))
    {
        rigid2D.velocity = vector2;
    }
    else
        if (Input.GetKey(moveDown))
        {
            rigid2D.velocity = new Vector2(rigid2D.velocity.x,playerVelocity);
        }
}
}

有什么建议吗?

就我从图片中看到的,有一个脚本附加到游戏对象,所以Unity3D想从我这里得到什么?

PS:这是最新的Unity3D版本。昨天下载的

没有rigidbody2D附加到gameObject,但脚本试图访问它

在我关闭unity 3D并重新打开它之后,问题就解决了。

谢谢Evil Tak