使用if语句检测SKSpriteNode是否离开屏幕但其x轴值是否在屏幕宽度范围之间

时间:2015-08-02 20:50:43

标签: swift if-statement skspritenode

我一直试图找出一种方法来检测 SKSpriteNode 是否离开了屏幕但是 x 值< / strong>介于屏幕 宽度 边界之间。我想出了这个(来自这个伟大社区的一点帮助!)。

override func update(currentTime: NSTimeInterval) {
    super.update(currentTime)

if (node.position.y < node.size.height && node.position.x > self.frame.size.width / 8 && node.position.x < self.frame.size.width - self.frame.size.width / 8){
testFunc()
}

}

不幸的是我似乎仍然称之为&#34; testFunc&#34;虽然节点不在屏幕边界之间。

为了说清楚,我需要检测到这一点,因为在我的函数中,节点从屏幕顶部移动到底部,我只想要调用函数,如果它到达底部并且实际上可以在屏幕上看到节点。

我非常感谢每一个有用的评论或答案!

[更新]

评论帮了很多忙! 这似乎有效:

override func update(currentTime: NSTimeInterval) {
    super.update(currentTime)

if (node.position.y < 0 && node.position.x > self.frame.size.width - node.site.width && node.position.x < self.frame.size.width - node.self.width){
testFunc()
}

}

可能错误在于     self.frame.size.width / 8 部分建议

0 个答案:

没有答案