![](/img/trans.png)
[英]MVC4 - NullReferenceException being thrown in view when trying to use a list
[英]NullReferenceException when trying to use a foreach on an Interface
這是我在Unity 3D中的C#代碼:
private List<IEnemy> Enemies;
void Start () {
soldier = OT.AnimatingSprite("PlayerAnimatingSprite");
Bomber bomber = new Bomber(soldier);
Enemies.Add(bomber as IEnemy);
}
void Update () {
ProcessEnemies();
}
void ProcessEnemies()
{
foreach(IEnemy enemy in Enemies)
{
enemy.Move();
}
}
當我在上面的代碼中實例化Bomber時,我也收到以下警告:“您正在嘗試使用'new'關鍵字創建MonoBehavior。這是不允許的.MonoBehaviors只能使用AddComponent()添加。”
敵人對象尚未初始化
private List<IEnemy> Enemies = new List<IEnemy>();
AnteSim的答案解決了一個問題,但你得到的實際錯誤來自於試圖在Bmber上調用'new',我認為它是GameObject或MonoBehaviour組件。
如果轟炸機是一個組成部分:
Bomber b = gameObject.AddComponent<Bomber>();
Enemies.Add(b);
如果Bomber是GameObject:
GameObject b = Instantiate(Bomber, Vector3.zero, Quaternion.identity) as GameObject;
Enemies.Add(b);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.