2012-09-21 45 views
-2

我正在製作一個遊戲,圖像從屏幕的頂部落下,我需要檢測它們何時到達/走過去y值。我試過:我需要檢查一個圖像的CGPoint的X和Y點,然後顯示一個提示

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

但是由於某種原因,它不起作用。提前致謝!

+1

當你說「它不會工作」,它究竟做錯了什麼?您是否嘗試過記錄asteroid.center到達屏幕邊緣以確保您正在檢查正確的值?小行星從295變爲297而沒有在296? – abarnert

回答

2

它取決於「小行星」是什麼類型的對象。如果是的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 
} 
+2

這個和OP之間的唯一區別是你使用了圖片的左上角而不是中心。 –

相關問題