我所说的概念类似于许多简约流行的手机游戏中的游戏风格,如Color Switch,Line Zen,Phases或Bounce。这些是由一系列“水平”或“房间”组成的无尽游戏,这些游戏以随机顺序排列,并且是一个接一个,创造了无尽游戏的效果。关键是每个级别的挑战都不是随机的,它们是之前制定的,如果某个级别是随机选择的,它会出现在屏幕上并且玩家会在该级别上移动。
我认为这个概念可能被称为程序生成,但我并不积极。
如何使用Swift在SpriteKit中执行此操作?我不确定从哪里开始,也许为每个级别段创建一个函数,并且每隔几秒钟,选择一个随机的函数放在屏幕上?
任何帮助表示赞赏!
非常感谢!
答案 0 :(得分:2)
程序生成是您描述的概念的名称。
根据你想要制作的游戏类型,这种方法会有所改变,但让我们看一下无限跑步游戏中的程序生成。你想要做的是设置一个级别段的缓冲区。缓冲区中段的总大小应至少是屏幕大小的两倍。每个段应该是相同段节点的子节点,并且它们应该被定位,以便每个节点在前一个节点结束后立即开始。
当一个片段离开屏幕时(播放器通过它):
用于选择下一个"随机段的逻辑"你决定。它可以是真正随机的,或者您可以对其进行微调以获得最佳用户体验(避免重复段,避免会破坏流量的段等)。
关键是在屏幕离线时删除段,并在缓冲区末尾添加新段。这必须是基于位置的,而不是基于时间的(即使游戏以恒定速度滚动,时间也不太可靠)。