-2

我正在制作一个图像从屏幕顶部掉落的游戏,我需要检测它们何时达到/超过某个 x & y 值。我试着做:

if (asteroid.center.y == 296 && asteroid.center.x == 50) {
    // etc...displayed alert
}

但由于某种原因,它不起作用。提前致谢!

4

1 回答 1

2

这取决于“小行星”是什么类型的物体。如果是 UIView 的实例,应该可以从 UIView 的 frame 属性中获取位置:

if (asteroid.frame.origin.y >= 296 && asteroid.frame.origin.x >= 50) {
    // etc...displayed alert
}

frame 是一个 CGRect 引用。您可以在这里了解更多信息:http: //developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGGeometry/Reference/reference.html#//apple_ref/doc/c_ref/CGRect

编辑:

如果你想检查小行星的中心与顶部/左侧相反,它看起来像这样:

if (asteroid.frame.origin.y + asteroid.frame.size.height / 2 >= 296 && asteroid.frame.origin.x + asteroid.frame.size.width / 2 >= 50) {
        // etc...displayed alert
}
于 2012-09-21T00:09:27.830 回答