我正在学习Swift为iOS创建一个游戏,但我正在努力弄清楚精灵将如何与背景碰撞和交互。
基本的游戏将是一个球,你引导它沿着迷宫走下去,但迷宫可以比屏幕大几倍。迷宫可以是一个很大的位图,也可以是由瓷砖组成的,但我还没有决定如何让球与迷宫交互。
我可以制作迷宫精灵节点中的所有瓷砖,然后让SpriteKit解决它,但我认为这不是一个很好的选择。
还有这里所示的SpriteKit边缘物体-,我可以在迷宫中球可能碰撞的部分使用这些物体吗?,https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Physics/Physics.html,https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Physics/Physics.html,the,the,of,of,the,the
另一个问题是迷宫表面可能是圆形的,因此碰撞和物理也需要处理。
我能找到的所有例子似乎都是精灵与其他精灵的碰撞。但是精灵和背景呢?
有没有人对如何解决这个问题有什么聪明的想法,或者你能给我举一个可能有帮助的例子吗?
标记
发布于 2016-08-23 19:58:25
做这件事没有对错之分。
以tiles vs 1 solid background的方式,你需要问自己一些问题:
我要消耗多少内存?
我想在它上面使用多长的加载时间?
我想要多详细的背景?
我想做背景的多功能性(变化量)是多少?
背景是否大于最大纹理大小?
在确定您想要什么之后,您会发现更容易确定要使用的方法。
你的物理是一个不同的问题,记住,物理和节点是两个不同的东西,所以你的物理身体不必反映节点设计,允许你做一些像看不见的墙一样的事情。你有几种方法可以做到这一点:
可以使用SKPhysicsBody(texture:)来使用纹理制作墙(透明不会发生碰撞)。
如果要制作平铺,可以将实体附加到每个平铺。
最后,您可以生成大量实体并将它们合并到背景节点中。
同样,根据您希望地图的工作方式,将告诉您哪个选项是最好的。就我个人而言,我会从最后一个选项(合并一堆实体在一起)开始,因为这将允许您合并所有混凝土墙的边缘实体,然后如果您需要制作门或临时墙之类的东西,我会将它们添加到单独的节点中。
关于圆形零件的问题。
SKPhysicsBody允许使用CGPath,因此只需为您需要的任何形状创建一个路径。
https://stackoverflow.com/questions/39087496
复制相似问题