SpriteKit - 检测精灵是否仍在移动/停止

Mik*_*lty 1 ios sprite-kit

我想检测我的移动精灵(施加脉冲后)是否已停止。是否有类似事件/函数之类的东西可以处理这个问题?

谢谢

Whi*_*ind 5

您可以检查物理体速度矢量以查看节点是否朝任何方向移动。有了这样的东西,你可能会没事:

if((yournode.physicsBody.velocity.dx == 0.0f) && (yournode.physicsBody.velocity.dy == 0.0f)) {
   //do your stuff
}
Run Code Online (Sandbox Code Playgroud)

节点的物理体上还有一个称为静止的属性,它指示对象在物理模拟中是否处于静止状态。所以你可能可以这样做:

if(yourNode.physicsBody.resting ) {
 //do your stuff
 }
Run Code Online (Sandbox Code Playgroud)

您可以在此 SO 答案中阅读有关静止财产的某些行为和建议。

希望这可以帮助