0

我正在开发一个 2DUnity游戏,我想在运行时创建一个 Boom 并移动它。

这是我的代码的一部分。我创建了一个prefabBoom,然后将其放入检查器中。

public GameObject Boom; // prefab Boom is drop here
void OnMouseDown()
{   
    ...
    Vector3 NewBoomPostion = new Vector3 (Luncher.transform.position.x,BoomPosition, 85);
    Instantiate(Boom, NewBoomPostion , Quaternion.identity);
    iTween.MoveTo (Boom, iTween.Hash ("y",BoomendPosition ,"speed",Boomspeed,"EaseType",BoomeaseType,"LoopType",BoomloopType));
}

但它会抛出这个错误

NullReferenceException:对象引用未设置为对象 iTween.RetrieveArgs () 的实例

4

1 回答 1

1

我认为问题是, Instantiate() 实例化对象的副本(Boom)。实例化它之后,您的新游戏对象不会指向 Boom 对象。这是一个新的游戏对象。

GameObject instantiatedBoom = (GameObject) Instantiate (Boom, newBoomPosition, Quaternion.identity);
iTween.MoveTo( instantiatedBoom,....);

应该解决它

于 2015-09-12T19:56:44.053 回答