2012-09-21 1 views
-2

나는 이미지가 화면 상단에서 떨어지는 게임을 만들고 있으며, 그들이 도달하거나 지나갈 때를 감지해야합니다. 특정 x & y 값. 나는 시도했다 :이미지에 대한 CGPoint의 X & Y 포인트를 확인한 다음 알림을 표시해야합니다.

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

그러나 무엇인가의 이유 때문에, 그것은 작동하지 않을 것이다. 미리 감사드립니다!

+1

당신은 "그것이 효과가 없을 것"이라고 말하면서 정확히 무엇이 잘못 되었습니까? asteroid.center가 화면 가장자리에 도달 할 때 로깅을 시도해 보았습니까? 올바른 값을 확인하고 있습니까? 소행성이 296에서 297로 변할 가능성이 있습니까? – 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의 유일한 차이점은 센터 대신 이미지의 왼쪽 상단 구석을 사용했다는 것입니다. –

관련 문제