ios - SpriteKit - 检测 Sprite 是否仍在移动/停止

标签 ios sprite-kit

我想检测我的移动 Sprite (施加脉冲后)是否停止。
是否有类似事件/函数的东西来处理这个?

谢谢

最佳答案

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

if((yournode.physicsBody.velocity.dx == 0.0f) && (yournode.physicsBody.velocity.dy == 0.0f)) {
   //do your stuff
}

节点的物理体上还有一个属性,称为 resting这表明对象在物理模拟中是否处于静止状态。所以你可能会做这样的事情:
if(yourNode.physicsBody.resting ) {
 //do your stuff
 }

您可以阅读有关静息属性(property)的某些行为和建议 in this SO answer .

希望这可以帮助

关于ios - SpriteKit - 检测 Sprite 是否仍在移动/停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30681779/

相关文章:

ios - 尝试播放某些轨道时出现 cocoalibspotify 错误

ios - 在搜索结果中指定 UITableViewCell 的高度

objective-c - 对象 'breaks' 掉落

ios - 提高GKAgent的速度

ios - 如何在点击时应用色调颜色并在发布时重置色调颜色?

ios - 淡出 UICollectionView 中的项目

ios - View 如何在不使用依赖于框架的 intrinsicContentSize 的情况下根据其宽度的函数确定其高度?

swift - 在 swift 中扩展 SKSpriteNode

objective-c - 在Sprite Kit iOS 10 Xcode 8中,还有比这更好的播放环境声音的方法吗?

ios - 在应用内购买后重新加载 SKScene 或 View 以删除 iAd