在chipmunk / cocos2d中,我有经典的弹跳球演示,用任意数量的球快乐地运行。 如何判断一个精灵何时停止移动(即球已经稳定在底并且“完成”)?
我尝试在Layer类中声明float prevX,prevY,所以我可以将当前的x,y与updateShape中的前一个x,y进行比较,但我无法访问sprite的父级。
((CustomLayer *)(sprite->parent))->preX = body->p.x;
编译器通知我sprite的父级是受保护的。
感谢。
答案 0 :(得分:2)
如果您启用了Chipmunk的休眠算法,则只需调用cpBodyIsSleeping()。
Chipmunk通过检查他们的动能是否低于某个阈值并增加计时器来确定何时空闲。如果计时器达到一定数量,则它认为身体处于空闲状态。