首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何制作游戏对象数组

如何制作游戏对象数组
EN

Stack Overflow用户
提问于 2019-06-05 07:56:41
回答 1查看 1.7K关注 0票数 0

我想知道如何只用一张图片就能制作出一组游戏对象?例如,我有一个大炮弹丸和一门大炮的图片,我想做10个大炮弹丸,并能够单独地改变它们。我有这个脚本附加到一个单一的加农炮球游戏对象,我已经使用检查器设置了我的数组长度为5。

我试过使用instantiate,但它永远克隆了它。

代码语言:javascript
复制
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;
    } 
}

当我这样做的时候,出于某种原因,它会继续克隆游戏对象,我不知道为什么。

EN

回答 1

Stack Overflow用户

发布于 2019-06-05 08:30:16

您将此脚本附加到canonball GameObject。这意味着每次你发射一个canonball时,都会有脚本附加到它上面,并产生一个新的canonball来产生一个新的canonball…你可以在这里看到这个循环。

你不应该将其附加到canonball预制件上,而是附加到例如GameController对象上。

我还没有测试过它,但是要这样做,在你的场景中创建一个新的GameObject,并在从你的大炮GameObject..Now中移除它之后附加你的脚本。如果你按空格键,你可以实例化大炮。

代码语言:javascript
复制
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;
        }
    } 
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56452702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档