Unity3D:如何实例化一个新的GameObject并对其进行操作

时间:2015-09-12 18:34:49

标签: unity3d itween

我正在进行2D Unity游戏,我想在运行时创建一个Boom并移动它。

这是我的代码的一部分。 我创建了一个prefab Boom,然后将其放入检查员。

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()

1 个答案:

答案 0 :(得分:1)

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

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

应该解决它