Перемещение мяча в случайном порядке - PullRequest
0 голосов
/ 03 декабря 2010

Я пытаюсь переместить шар по экрану со случайными координатами. но мой объект движется только вокруг оси х! вот мой код:

 [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 Ответ

1 голос
/ 03 декабря 2010

Вы масштабируете все свои значения до 0 ... 1, поэтому я ожидаю, что ваш мяч действительно переместится в (0,0) и останется там.Кроме того, вы можете поменять координаты x и y на CGPointMake.Вам нужно масштабировать свое значение до региона, в котором вы хотите его видеть. Для случайной позиции по всему вашему виду (если blue3 - это подпредставление containerView - которое может быть само здесь):

 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...