地图生成
您可以在这里尝试两种方法:
SKTileMapNode
班级在SpriteKit
CGPath
CoreGraphics 中的类。
SpriteKit 方法
首先看一下SpriteKit
的瓦片地图功能。有一个类SKTileMapNode
可以帮助您制作基于图块的侧视图或自上而下的游戏世界视图。
Apple 在 WWDC 2016 上介绍了这一点,会议视频是一个很好的起点。Xcode 有一个很好的编辑器来设置你的瓦片地图,包括特定瓦片的变体(称为“瓦片变体”)和向瓦片添加元数据。所有这些在这里都会有所帮助。
您可以将预先构建的图块组定义为SKTileGroup
s,用于像山的两侧这样只有彼此相邻才有意义的东西。这样做可能很简单,然后生成一些随机组合。然后,您可以使用不同的变体来显示“爆炸”的图块。
创建磁贴组的首选方法是使用 Xcode 中的编辑器工具。但是,如果您希望以编程方式使用 SpriteKit 的 tile 支持,以下示例将讨论必要的步骤。
--苹果文档,SKTileGroup
因此,您可以使用可以帮助您以编程SKTileGroupRule
方式定义有关将瓷砖相对于彼此放置的位置的规则。
这是Ray Wenderlich的教程,带您了解基于图块的游戏的基础知识。这是另一个 RayWenderlich.com 教程,讨论了程序关卡生成。
CGPath 方法
这个答案讨论了类似的情况,有人询问如何绘制与 SpriteKit 一起使用的曲线。它显示了一些用于生成随机贝塞尔曲线的代码,并链接到第二个答案,其中深入讨论了 CoreGraphics 对向贝塞尔曲线添加路径的处理。
爆炸
要爆炸瓷砖,请查看SKEmitterNode
. Xcode 包含一个发射器编辑器,你可以用它做一些很酷的事情。