旋转益智游戏动画帧

时间:2012-03-03 11:35:30

标签: xcode animation frame puzzle

我正在制作一款名为Rotation的益智游戏。旋转有一个表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个数字时,我无法执行此功能的旋转部分,因为我不知道该集合中的哪个图片。所以我的功能不正常。在某种程度上,我必须知道在哪里和哪些是UI中的数字随时!我试图标记它们但没有进展。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我真的不明白你的意思,但你可以标记图像,然后再使用:

再次获取它们
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];