2011-06-10 56 views
1

在花栗鼠/ cocos2d中,我拥有经典的弹跳球演示,可以随意运行任意数量的球。 如何知道精灵何时停止移动(即球落在底部并“完成”)?我试图在Layer类中声明float prevX,prevY,所以我可以将当​​前的x,y与updateShape中的前一个x,y进行比较,但我无法访问该sprite的父项。如何判断精灵何时停止移动

  ((CustomLayer *)(sprite->parent))->preX = body->p.x; 

编译器通知我,精灵的父母受到保护。

谢谢。

回答

2

如果您启用了Chipmunk的睡眠算法,则可以调用cpBodyIsSleeping()。

花栗鼠通过检查它们的动能低于某个阈值并增加一个计时器来判断事物闲置。如果定时器达到一定数量,则认为机体闲置。

+0

感谢您的回答。我将如何启用此算法?另外,我没有找到任何方法调用cpBodyIsSleeping()。你知道这是否被添加到最近的版本?谢谢。 – Rayfleck 2011-06-10 21:33:15

+0

找到他们[这里](http://files.slembcke.net/chipmunk/release/ChipmunkLatest-Docs/) – Rayfleck 2011-06-14 15:28:20