objective-c - 更改 SKSpriteNode 框架?等距挑战

标签 objective-c frame sprite-kit bounding-box

我希望我们能想出如何通过我们正在设计的等距风格游戏来解决这个有趣的挑战。任何帮助都会很棒!

问题

有没有办法将边界框框架从正方形更改为其他形状?也许使用面具?

问题

我们的问题是我们需要节点的可点击区域不是正方形。由于我们正在平铺节点,它们的边界框相互重叠,我们无法准确地点击我们想要的平铺。希望我们的下图能够向您展示我们的设计、我们的问题以及我们需要的可点击区域。

enter image description here

有没有办法在 Sprite Kit 中更改它,或者使用等距样式是不可能的?

再次感谢。

最佳答案

我一直深入这条道路,我可以说,与试图强制 spritekit 执行您的计划相比,实现您自己的命中检测要容易得多。

这并不难。只需在您的图 block 上执行自定义 hittest 函数,然后在按下鼠标时循环遍历它们并测试它们。

有一个非常简单的算法来测试你的形状,但公平地说,你可能只测试菱形的内圆,所以只需测试到 Sprite 中心的距离是否小于点击圆的半径。简单易行。

关于objective-c - 更改 SKSpriteNode 框架?等距挑战,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22261874/

相关文章:

swift - 如何让关卡菜单可以垂直滚动?

iOS 10 : Random Crashes in dispatch_async

iOS - 当我将两个 NSNumbers 与 "=="进行比较时,为什么它可以工作?

objective-c - 转换后检查重叠 View

Swift 游戏无限生成不起作用

Swift spritekit didbegincontact 被延迟调用

iphone - Obj-C 循环缓冲区对象,实现一个?

iOS 如何使用非标准对齐方式在 UILabel 中绘制文本

ios - UIView 边界/框架与绘制矩形不匹配

ios - MBProgressHUD 在多行中显示标签文本