【发布时间】:2014-03-07 22:23:44
【问题描述】:
我希望我们能够通过我们以等距风格设计的游戏来解决这个有趣的挑战。任何帮助都会很棒!
问题
有没有办法将边界框框架从正方形更改为另一种形状?可以戴口罩吗?
问题
我们的问题是我们需要节点的可点击区域不是正方形的。由于我们正在平铺节点,它们的边界框相互重叠,我们无法准确地点击我们想要的平铺。希望我们的下图能够向您展示我们正在设计什么、我们的问题以及我们的可点击区域需要是什么。
有没有办法在 Sprite Kit 中改变这一点,或者用等距样式是不可能的?
再次感谢您。
【问题讨论】:
-
我很好奇如何解决这个问题。 SKSpriteNode 的框架是只读属性,因此无法更改。框架永远不能是矩形以外的任何东西,也不能旋转。我认为您必须使用 UIBezierPaths 和这个很棒的 SKButton 类创建一个自定义形状的按钮:stackoverflow.com/questions/19082202/…
-
我知道这已经晚了,但我想出了一个解决方案来解决我遇到的类似问题。 stackoverflow.com/questions/23051961/… 本质上,创建一个 SKSPriteNode 的子类,并给它一个 UIBezierPath 属性,即菱形的形状。在您的 touchesBegan: 方法中,检查触摸的位置是否位于 UIBezierPath 属性内。希望这可以帮助某人!
标签: objective-c frame sprite-kit bounding-box