Рамка анимации вращения игра-головоломка - PullRequest
0 голосов
/ 03 марта 2012

Я создаю игру-головоломку под названием Вращение.Вращение имеет одну таблицу 3x3 с номерами 1-9, и пользователи пытались расположить числа в правильном порядке, вращая 4 из них (один набор).Итак, в моем пользовательском интерфейсе у меня есть 9 UIImgaeViews и 4 кнопки для вращения наборов.

В первом наборе изображений у меня есть следующий код для анимации вращения:

-(void)animateNumbers
{
  [UIView beginAnimations:nil context:nil];
  [UIView setAnimationDuration:1.0];
  //[UIView setAnimationDelay:1.0];
  [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];

  CGRect pos00Frame = img1.frame;
  CGRect pos01Frame = img2.frame;
  CGRect pos10Frame = img5.frame;
  CGRect pos11Frame = img4.frame;

  img1.frame = pos01Frame;
  img4.frame = pos00Frame;
  img5.frame = pos10Frame;
  img2.frame = pos11Frame;

  [UIView commitAnimations];

}

Моя проблема в том, что, когда я случайным образом выбрал все 9 чисел в игре, я не могу выполнить вращательную часть этой функции, потому что я не знаю, какое изображение находится в наборе.Так что моя функция не работает должным образом.В некотором смысле, я должен знать, где и какие цифры в пользовательском интерфейсе в любое время!Я пытался пометить их, но безуспешно.Есть идеи?

1 Ответ

0 голосов
/ 31 марта 2012

Я не совсем понимаю, что вы имеете в виду, но вы можете пометить изображения, а затем получить их снова, используя:

UIImageView * currentImage = (UIImageView *)[self.view viewWithTag:1];

, не имеет значения, если вы используете 2 переменные для доступа к одному виду изображения.

Пример:

- (void)viewDidLoad {

imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myImage"]];
imageView.tag = 1;

}

 //then in your other action:

-(void)animateNumbers {
                                              //or whatever the image tag is
UIImageView * currentImage = (UIImageView *)[self.view viewWithTag:1];
...