向 SKTileMapNode 添加碰撞检测

Adding Collision Detection to SKTileMapNode

向侧滚动条的 SKTileMapNode 添加碰撞检测的推荐方法是什么?

假设我有一个简单的瓦片地图,只有一个瓦片用作地面,我如何检测我的玩家精灵何时落在一个填充的地面瓦片上?

我不完全确定这是否可行,但您似乎可以向 SKTileMapNode 的每个图块添加一个节点,并根据其上的任何纹理组件,为它提供适当形状和设置的物理体匹配该纹理。

有人在尝试这样的事情:

https://forums.developer.apple.com/thread/50043

您不需要它,但对于更大的粒度(例如,部分被覆盖并需要倾斜的物理地板元素的瓷砖),似乎这将是开始的地方:

https://developer.apple.com/reference/spritekit/sktiledefinition

但我找不到确切的方法来知道纹理的哪一部分位于瓦片地图的任何给定瓦片上。一定有办法做到这一点,但我不太明白。