2011-08-24 4 views
0

공이 닿는 게임에서 작업 중이며 레이어의 보이는 영역을 벗어날 수 있습니다. Box2D의 위치에 대한 피드백을 얻으면 각 프레임의 볼의 위치를 ​​설정합니다. 볼이 화면의 가장자리에 가까워지면 공을 계속 볼 수 있도록 적절한 양만큼 축소하려고합니다. 누군가 이걸 할 논리를 가진 손을 내게 줄 수 있습니까? 감사.IOS에서 레이어를 부드럽게 스케일링하여 화면에 객체를 유지하려면 어떻게해야합니까?

답변

1

화면 크기는 480 (픽셀), 공의 원래 직경은 10 픽셀입니다.

Original size of ball = bOriginal = 10 
Distance represented by screen = s = 480 
Distance ball has travelled = x 
Diameter of the ball = b = bOriginal 

당신은 공이 화면의 가장자리에서 일정 거리에 도달 할 때의 깃발을 것이다. 그 후에 당신은 당신이 이미 알고있는 당신의 속도를 가지고 있습니다; 이것은 볼이 화면 가장자리를 향해 이동하는 비율로 생각할 수 있습니다. 따라서 볼이 이동 한 총 거리가 볼의 크기와 관련하여 화면이 확장되어야하는 비율이 화면의 크기.

If x >= 475 
    ratio of screen size to distance = r = 480/(x+5) 
    b = bOriginal * r 
end 

이 공은 총 거리가 화면의 크기에 맞는 여행 수 있도록 지속적으로 작아 질 것이다에 "줌 아웃"을 시연 할 예정이다.

관련 문제