2010-12-03 3 views
0

무작위 좌표로 화면에서 공을 이동하려고합니다. 하지만 내 물건이 x 축 주위로 움직입니다! 편집을 할무작위로 공 이동

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:0.70]; 
[UIView setAnimationRepeatCount:1000]; 
[UIView setAnimationRepeatAutoreverses:YES]; 

CGFloat x = (CGFloat) random()/(CGFloat) RAND_MAX; 
CGFloat y = (CGFloat) random()/(CGFloat) RAND_MAX; 

CGPoint squarePostion = CGPointMake(y, x); 
blue3.center = squarePostion; 

[UIView commitAnimations]; 

:

나는이 내 코드를 변경하지만 ~ 작동하지 않습니다 같은 일이 발생

CGFloat x = (CGFloat) random()/(CGFloat) RAND_MAX * self.view.bounds.size.width; 
CGFloat y = (CGFloat) random()/(CGFloat) RAND_MAX * self.view.bounds.size.height; 

CGPoint squarePostion = CGPointMake(y, x); 

여기 내 코드입니다!

답변

1

귀하의 모든 값을 0 ... 1로 스케일링하므로 실제로 볼이 (0,0)으로 이동하고 거기에 머물 것으로 예상됩니다. 또한, x 좌표의 y 좌표가 스왑 된 CGPointMake 일 수도 있습니다. 당신은 당신이 될하고자하는 지역에 당신의 가치를 확장 할 필요가 임의의 위치에 대한 모든보기를 통해 (blue3containerView의 서브 뷰 인 경우 - 자기가 여기에있을 수 있음) :.

CGFloat x = (CGFloat) random()/(CGFloat) RAND_MAX * containerView.bounds.size.width; 
CGFloat y = (CGFloat) random()/(CGFloat) RAND_MAX * containerView.bounds.size.height; 

CGPoint squarePostion = CGPointMake(x, y); 
+0

내 편집을 참조하십시오 질문 –

+0

NSLog (@ "% f % f", x, y);를 사용하십시오. 실제로 설정하고있는 값을 확인하십시오. – Eiko

+0

콘솔에 다음 번호가 표시됩니다. '645.264160 395.960449' –