我正在创建一个 Sprite Kit 游戏,因为在听“touches”(touchesbegan)时能够排除SKNode Textures 的透明部分非常重要。

适合我的解决方案是将节点的物理体设置为 BodyType = Alpha mask。在触摸开始的方法我现在可以迭代所有位于触摸点的物理实体。

现在问题这是有效的,但是蒙面体的面积似乎比节点的实际尺寸大,但是身体的形状是正确的。

实际上,在我将节点设置为原始图像的一半大小之前,物理体似乎与原始图像一样大。我在 Sprite Kit 中看到过此行为。 Interface Builder 中的我的场景是 1024 点宽,我使用 AspectFill 作为缩放选项。我可以看到的是,如果我打印场景大小,它实际上告诉我 375 在 Iphone 6s 上运行时(作为 iphone6s 的分辨率)

但 e.g 如果我想要一个节点宽,我必须将它设置为 1024.有人可以帮助我理解这一点,因为它似乎缩放问题。