如何无休止地持续实例化一个游戏对象

How to endlessly and continuously instantiate a gameobject

游戏由玩家和场地组成。地面是相对于之前的立方体实例化的立方体,在其右侧或左侧。玩家的目标是向正确的方向滑动或移动并降落在地面(立方体)上。

screenshot

但是,我只设法实例化了有限数量的多维数据集,而没有因无限循环实例化多维数据集而导致 Unity 崩溃。

我也曾尝试在不在相机视图中时从底部销毁一个立方体(使用 OnBecomeInvisible() 方法),以便能够在有限数量的顶部实例化一个立方体实例化的立方体,给人一种无尽游戏的感觉,但随着相机跟随玩家,一些立方体出现在场景中的最左边或最右边,但当相机再次居中时,它们不再可见,这反过来又破坏了在玩家登陆立方体或查看立方体之前的立方体。

让地面滚动,当它低于某个 Y 值时,它会因为不在相机视野内而被破坏,行得通吗?我已经试过了,但我觉得应该可以。

还有其他方法吗?

我没有任何代码可以提供,只是您必须自己实现的想法。

我认为您需要的数据结构与具有大小限制的 to a Queue 类似:您使用 Enqueue 添加所有新的多维数据集。如果在入队期间超过了大小目标,则出队(然后从场景中删除)超出限制的任何内容。

不幸的是,我怀疑您是否可以使用任何现有的 Queue 实现,例如 Queue[T] - 至少不能不使用您自己的实现覆盖或隐藏 Enqueue 函数 - 因为它们不是为了强制执行限制而设计的。更不用说通过出列多余的东西和 运行 在代码上以这种方式出列的任何东西上的一些 Unity 来强制执行它。