【发布时间】:2017-10-17 04:24:23
【问题描述】:
我试图移动我的玩家来摧毁怪物,而我第一次摧毁怪物时出现以下错误:
MissingReferenceException:“GameObject”类型的对象已被销毁,但您仍在尝试访问它。 您的脚本应该检查它是否为空,或者您不应该销毁该对象。
我怎样才能让它自己复制为一个新的游戏对象?
这是我的脚本:
using System.Collections.Generic;
using UnityEngine;
public class TimeMap: MonoBehaviour {
public GameObject selectedUnit;
public GameObject selectedMonster;
public TileType[] tileTypes;
try{
if(selectedMonster.GetComponent<Monster>().tileX == selectedUnit.GetComponent<Unit>().tileX && selectedMonster.getComponent<Monsters>().tileY == selectedUnit..GetComponent<Unit>())
Destroy(selectedMonster);
}
public void SpawnMon() {
if(counter % 5 == 0){
Debug.Log(" counter % 5 == 0");
Instantiate(selectedMonster.GetComponent<Monsters>().Monster, new Vector3(Random.Range(1,8), Random.Range(1,8), -1), Quaternion.identity);
}
}
}
所以我尝试每 5 次移动创建相同的对象或它的克隆,但在执行此操作时出错。
【问题讨论】:
-
请不要发布您的代码截图。而是发布代码。