2010-08-02 3 views
0

저는 아이들 (메모리 게임)을위한 응용 프로그램을 개발 중입니다. 두 개의 동일한 타일 (이미지)을 뒤집어서 제거 할 수 있습니다. 문제는 애니메이션이 포함 된 뷰를 돌리지 않고 uiimages를 어떻게 애니메이션으로 바꾸는 지입니다. 작은 뷰에서 모든 uiimage를 넣어야합니까? 아이디어가 있습니까? 추 신 : OpenGL을 사용하지 않습니다.동일한보기의 여러 개의 uiimages

답변

1

죄송합니다. 처음 오독했습니다. 각 타일에 UIImageViews를 사용하고 아래와 같이 애니메이션을 적용합니다.

UIView는보기에 불과하므로 모든보기에 애니메이션을 적용하는 방식으로 애니메이션을 만들 수 있습니다. 그것의 상당히 똑 바른.

UIImageView *tileToFlip = self.[tiles objectAtIndex:3]; 
    CGRect frameOfTileToFlip = tileToFlip.frame; 
    UIImageView *newImageToShow = [[UIImageView alloc] initWithFrame:frameOfTileToFlip]; 
    // add the image to newImageToShow 

    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration: 1.0]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:newImageToShow cache:NO]; 
    [self.View addSubview:newImageToShow];  // I'm not sure if this is necessary 

    [UIView commitAnimations]; 
    [tileToFlip removeFromSuperView];  // remove it so you can add it back later 

또는 CATransition을 사용하면 더 많은 제어와 다양한 전환이 가능합니다.

+0

답변 해 주셔서 감사합니다.하지만 uiiamges보기가 포함 된보기를 애니메이션 처리하면 애니메이션이 모든보기에 표시됩니다. 내가 원하는 이미지가 아닌 .. – Jazzmanouch

+0

죄송 합니다만 명확하지 않으면 죄송합니다. 문제의 UIimageView 만 애니메이션으로 만들 수 있습니다. UIImageViews의 (예를 들어) 4x4 그리드로 채워진 뷰를 생성하십시오. 이 각각에서 '덮힌'이미지를 넣으십시오. 다음 중 하나를 뒤집기를 원할 때 뒤집기를 원하는 UIImageView와 일치하도록 설정된 프레임으로 새 UIImageView를 만든 다음 뷰에 추가하고 위에서 설명한 전환을 수행하십시오. 나중에 프로세스를 되돌리고 원본 '표지보기'에 애니메이션을 적용 할 수 있습니다. 보다 효율적으로 '그림'보기를 유지할 수 있습니다. (secondUmageView라는 코드를 편집했습니다.) – joelm

0

각 타일에 UIImageView를 사용할 수 있습니다.