随机移动一个球

时间:2010-12-03 08:59:36

标签: iphone cocoa-touch uikit ios4

我试图用随机坐标在屏幕上移动一个球。但我的物体绕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 ... 1,所以我希望你的球实际上移动到(0,0)并保持在那里。此外,您可能在CGPointMake中交换了x任何y坐标。您需要将您的值扩展到您希望它所在的区域。对于您的整个视图中的随机位置(如果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);