【发布时间】:2016-03-09 00:21:12
【问题描述】:
如何设置使用纹理初始化的节点的半径或命中范围 - 图像?当然我可以通过增加它的大小来做到这一点,但实际上我想在不调整图片大小的情况下做到这一点。这个节点以很小的速度在屏幕上移动。 这是我的代码:
monster.physicsBody = SKPhysicsBody(circleOfRadius: 50.0)
如何检测物理体内的触摸?我知道它在哪里,我打开了 showPhysics。请告诉我当我在这个物理体 circleOfRadius 内部触摸时如何做某事:任何东西!
【问题讨论】:
-
你的物理身体决定了命中,只是把它放大
-
“结果完全没有改变”是什么意思?你是说物理体保持不变?如果是这样,我看不出怎么可能。转动视觉物理表示,看看真正发生了什么......(skView.showsPhysics = true)
-
嗯,我的意思是用圆圈设置SKPhysicsBody后,命中范围不受影响。它仍然和节点一样大!所以物理体发生了变化,但命中范围没有变化。另一件事是,在设置了这个之后,发生了一件奇怪的事情——节点向正确的方向移动,但是它们上下移动太快了,不知道为什么会这样。 showPhysics 属性帮助我将图片可视化,感谢您的提示 :)
-
听起来好像您的场景中可能发生了更多您可能不知道的事情。要记住的另一件事是,您没有理由不能使用自己的物理设置将子节点添加到精灵中(例如,如果您想检测碰撞的方向)。
-
我整理了如何修复意外上下和旋转的bug。实际上,我很高兴为什么没有人知道如何做到这一点。它只是物理体的一个属性,仅此而已。我会更新我的问题,这样你们就会知道我还需要什么——命中范围! :D
标签: swift sprite-kit skspritenode