首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift游戏碰撞检测和物理-精灵和背景

Swift游戏碰撞检测和物理-精灵和背景
EN

Stack Overflow用户
提问于 2016-08-23 03:42:58
回答 1查看 272关注 0票数 3

我正在学习Swift为iOS创建一个游戏,但我正在努力弄清楚精灵将如何与背景碰撞和交互。

基本的游戏将是一个球,你引导它沿着迷宫走下去,但迷宫可以比屏幕大几倍。迷宫可以是一个很大的位图,也可以是由瓷砖组成的,但我还没有决定如何让球与迷宫交互。

我可以制作迷宫精灵节点中的所有瓷砖,然后让SpriteKit解决它,但我认为这不是一个很好的选择。

还有这里所示的SpriteKit边缘物体-,我可以在迷宫中球可能碰撞的部分使用这些物体吗?,https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Physics/Physics.htmlhttps://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Physics/Physics.html,the,the,of,of,the,the

另一个问题是迷宫表面可能是圆形的,因此碰撞和物理也需要处理。

我能找到的所有例子似乎都是精灵与其他精灵的碰撞。但是精灵和背景呢?

有没有人对如何解决这个问题有什么聪明的想法,或者你能给我举一个可能有帮助的例子吗?

标记

EN

回答 1

Stack Overflow用户

发布于 2016-08-23 19:58:25

做这件事没有对错之分。

以tiles vs 1 solid background的方式,你需要问自己一些问题:

我要消耗多少内存?

我想在它上面使用多长的加载时间?

我想要多详细的背景?

我想做背景的多功能性(变化量)是多少?

背景是否大于最大纹理大小?

在确定您想要什么之后,您会发现更容易确定要使用的方法。

你的物理是一个不同的问题,记住,物理和节点是两个不同的东西,所以你的物理身体不必反映节点设计,允许你做一些像看不见的墙一样的事情。你有几种方法可以做到这一点:

可以使用SKPhysicsBody(texture:)来使用纹理制作墙(透明不会发生碰撞)。

如果要制作平铺,可以将实体附加到每个平铺。

最后,您可以生成大量实体并将它们合并到背景节点中。

同样,根据您希望地图的工作方式,将告诉您哪个选项是最好的。就我个人而言,我会从最后一个选项(合并一堆实体在一起)开始,因为这将允许您合并所有混凝土墙的边缘实体,然后如果您需要制作门或临时墙之类的东西,我会将它们添加到单独的节点中。

关于圆形零件的问题。

SKPhysicsBody允许使用CGPath,因此只需为您需要的任何形状创建一个路径。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39087496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档