2014-05-11 53 views
-1

I have this classic situation of a pinball game雪碧套件physicsBody旋转过程中失去一致性 - zrotation

所有的对象都是physicsBody与权利冲突口罩等..他们碰撞完美。 问题是,它们只在静态时才起作用......如果我试图在其定位点上旋转桨,则不会与球发生碰撞,球会通过桨而落下。

我认为这是一个速度问题,但我认为在旋转过程中,physicsBody根本不起作用。

您有什么建议吗?

非常感谢。

+0

发布您用于旋转主体的代码。球和桨都需要动态。如果两者都是静态的,它们不会相互碰撞。 – LearnCocos2D

+0

我使用类似的东西SKAction * rotate = [SKAction rotateToAngle:-0.6 duration:0.02]; [padright runAction:rotate]; –

+0

球是动态的,桨是静态的......他们碰撞......但是当我旋转桨时会发生问题......例如:球在桨上,我触摸按钮旋转桨将球抛向空气......此时碰撞不起作用 –

回答

0

这正是你在旋转一个静态物体时得到的问题,它不会在物理上是正确的。例如静态物体没有力量,没有速度 - 如果你移动或旋转它,它将会在新的位置和新的旋转处在那里,而不会推动任何动态物体。只有当动态物体恰好与静态物体相交时,物理引擎才会尝试解决碰撞,通常采用强力的方式(也就是“让我离开这里”)。

因此,如果您希望桨移动,加速和旋转球,桨必须是动态的。桨和球都可能需要持续碰撞检测,以便不会在施加到球上的桨运动中失去任何精度,反之亦然。

+0

为了实现这个目标,我需要在底座和桨之间创建一个接头?因为如果我将球拍设置为动态时(同时将重心设置为NO),它会围绕屏幕 –

+1

yup流动,您需要一个具有适当限制并连接到静态物体的针关节。 – LearnCocos2D

+0

好吧,我尝试了一些没有成功! –