我想知道如何只用一张图片就能制作出一组游戏对象?例如,我有一个大炮弹丸和一门大炮的图片,我想做10个大炮弹丸,并能够单独地改变它们。我有这个脚本附加到一个单一的加农炮球游戏对象,我已经使用检查器设置了我的数组长度为5。
我试过使用instantiate,但它永远克隆了它。
public GameObject[] cannonball;
public int i;
public int x=0;
void Start()
{
for (i = 0; i < cannonball.Length; i++) {
Instantiate(cannonball[i], new Vector2(x, 0), Quaternion.identity);
x = x + 5;
}
}
当我这样做的时候,出于某种原因,它会继续克隆游戏对象,我不知道为什么。
发布于 2019-06-05 08:30:16
您将此脚本附加到canonball GameObject。这意味着每次你发射一个canonball时,都会有脚本附加到它上面,并产生一个新的canonball来产生一个新的canonball…你可以在这里看到这个循环。
你不应该将其附加到canonball预制件上,而是附加到例如GameController对象上。
我还没有测试过它,但是要这样做,在你的场景中创建一个新的GameObject,并在从你的大炮GameObject..Now中移除它之后附加你的脚本。如果你按空格键,你可以实例化大炮。
public GameObject[] cannonball;
public int i;
public int x=0;
void Update()
{
if (Input.GetKeyDown(KeyCode.Space)) {
for (i = 0; i < cannonball.Length; i++) {
Instantiate(cannonball[i], new Vector2(x, 0), Quaternion.identity);
x = x + 5;
}
}
}
https://stackoverflow.com/questions/56452702
复制相似问题