【发布时间】:2015-09-30 23:00:24
【问题描述】:
实例化后的 Rigidbody2D 空引用异常
我需要 Unity 游戏引擎特定的答案。
所以基本上,我正在编写一个控制生成器的脚本。它非常通用,基本上它的作用是在实例化刚体生成后对其施加力。但由于某种原因,每次我第一次生成对象时,Unity 都会抛出 NullReferenceException 错误。我检查了我的代码的勘误表,但我认为这很好。有人有提示吗?
顺便说一句,确切的错误信息是:
NullReferenceException:对象引用未设置为对象的实例 USBSpawner+c__Iterator0.MoveNext ()(在 Assets/Scripts/USBSpawner.cs:24)
代码:
using UnityEngine;
using System.Collections;
public class USBSpawner : MonoBehaviour {
public static bool isActive = true;
public GameObject USBPrefab;
public float spawnDelay = 5f;
public Vector2 throwForce;
void Start() {
StartCoroutine(SpawnUSB());
}
IEnumerator SpawnUSB () {
yield return new WaitForSeconds(spawnDelay);
if(isActive) {
var newTransform = transform;
Rigidbody2D USBInstance;
USBInstance = Instantiate (USBPrefab, newTransform.position, Quaternion.identity) as Rigidbody2D;
USBInstance.GetComponent<Rigidbody2D>().velocity = throwForce;
}
StartCoroutine(SpawnUSB());
}
}
有什么想法吗?
【问题讨论】: