一半场景带有静态元素,另一半场景带有 spawn

Half scenes with static elements, other with spawn

我有 2D 游戏,其中一半场景生成敌人,(例如)另一半场景,我想在其中使用静态敌人和其他元素。

我想创建 sript 一段时间后(例如 10 秒),将停止生成脚本,并且 运行 其他元素的移动。

所以。也许这个问题有一个合理的解决方案。

[更新]

我需要这样一个问题的最明智的解决方案,我不是要这样做,而是如何让它变得更好。

1) 可以制作静态元素,这将是一定的时间,只需站在相机后面,然后移动...或以编程方式创建静态元素,随着时间的推移,在已知位置之前...或下载随着时间的推移整个元素堆栈。

2) 或者可以完全放弃这个想法。一个显着的例子是 Subway Surf,其中静态场景(布局)是随机创建的。

P.s。我希望我已经解释了我的问题

刚学会使用"Invoke",非常简单

Invoke( "YourOtherRoutine", 10f );

所以十秒后它将 运行 另一个例程。该例程可以轻松地停止一个脚本 运行ning,启动另一个脚本 运行ning,或者,无论您想做什么。 Invoke() 和 InvokeRepeating() 的例子在常用的Unity论坛等上有数以万计

根据您对 Subway Surf 的引用,我假设您想要生成静态元素(例如地铁冲浪中的路径和静态火车)和非静态元素(例如一些移动的火车)。如果是这样,那么我有一个可能的解决方案。

  1. 您可以创建一组预定义的元素(比如 20 或 30 组元素的不同组合),然后一个接一个地随机生成它们。例如看看下面的两张参考图片。

现在,请注意,您可能会在玩游戏时多次看到与图像中完全相同的这些场景,这是因为它们是预先创建的,Subway surf 背后的开发人员已经创建了这些路径并将它们保存为预制件和然后在游戏过程中在不同的位置生成它们。

  1. 您可能已经注意到,有时路径相同但火车的位置不同。这可以通过在您的路径上进一步创建生成点然后在运行时随机 select 个您想生成静态元素的点来实现。

  2. 在很多情况下,你可以通过不止一个门(我指的是第二张图中的门)。行驶中的火车会在您穿过大门的路径上生成。可以按照第二步中提到的那样生成移动的火车,并附加一个移动脚本。关于如何知道在哪条路径上生成的问题,有两种可能的方法(我能想到的是正确的)。

    • 您可以跟踪玩家当前的车道,然后在该车道上生成火车。
    • 您可以在每条车道上放置单独的触发器,然后检测哪个车道触发器被触发,然后在该车道上生成火车。
  3. 对于其他移动的火车,只需使用步骤 2 中的方法生成它们,但要附上移动脚本。