【发布时间】:2019-12-21 17:38:22
【问题描述】:
我正在 Unity 中制作一个类似大亨的游戏,游戏是关于机器人和其他东西的,你有一个机器人目录,我一直在尝试一个实例化机器人的代码,但你可以得到两个相同的机器人,这个想法是,如果我实例化了机器人#1,我就不能再实例化它了。我尝试了一个代码,但效果不佳。
if (position == 1)
{
robot1 = Resources.Load ("Prefabs/Robots/" + theRobo.identifier, typeof (GameObject)) as GameObject;
Instantiate(effect, spawnPosition1.position, Quaternion.identity);
Instantiate(robot1, spawnPosition1.position, Quaternion.identity);
finder1 = GameObject.Find(theRobo.recognizer);
if (finder1.GetComponent<RobotBehaviour>().created == false)
{
finder1.GetComponent<RobotBehaviour>().created = true;
}
else
{
finder1.gameObject.SetActive(false);
finder1.GetComponent<Collider2D>().enabled = false;
}
}
“position”变量是机器人的位置,“robot1”是机器人标识符,“finder1”在实例化时找到“Robot(Clone)”对象,主要问题是代码总是实例化偶数如果它是“创建”的,则由于游戏中的六个位置,此代码将重复 6 次。我也尝试直接访问预制件,但它永远改变了它。
请帮忙
【问题讨论】:
-
本题与unityscript无关。
标签: c# unity3d instantiation gameobject