我正在製作一個遊戲,圖像從屏幕的頂部落下,我需要檢測它們何時到達/走過去y值。我試過:我需要檢查一個圖像的CGPoint的X和Y點,然後顯示一個提示
if (asteroid.center.y == 296 && asteroid.center.x == 50) {
// etc...displayed alert
}
但是由於某種原因,它不起作用。提前致謝!
我正在製作一個遊戲,圖像從屏幕的頂部落下,我需要檢測它們何時到達/走過去y值。我試過:我需要檢查一個圖像的CGPoint的X和Y點,然後顯示一個提示
if (asteroid.center.y == 296 && asteroid.center.x == 50) {
// etc...displayed alert
}
但是由於某種原因,它不起作用。提前致謝!
它取決於「小行星」是什麼類型的對象。如果是的UIView的實例,你應該能夠從UIView的的框架屬性來獲取位置:
if (asteroid.frame.origin.y >= 296 && asteroid.frame.origin.x >= 50) {
// etc...displayed alert
}
框架是一個參考的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
}
這個和OP之間的唯一區別是你使用了圖片的左上角而不是中心。 –
當你說「它不會工作」,它究竟做錯了什麼?您是否嘗試過記錄asteroid.center到達屏幕邊緣以確保您正在檢查正確的值?小行星從295變爲297而沒有在296? – abarnert