본문 바로가기

옛글/아이폰 프로그래밍

[iOS프로그래밍] XCode 애니메이션(움직이는 이미지) 만들어보기

반응형

// ViewApplication.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
    IBOutlet UIImageView *aniview1;
}
@end


// ViewApplication.cpp

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    aniview1.animationImages = [NSArray arrayWithObjects:
                                [UIImage imageNamed:@"ani01.png"],
                                [UIImage imageNamed:@"ani02.png"],
                                [UIImage imageNamed:@"ani03.png"], nil];
    
    aniview1.animationDuration=0.50;  // 초단위 이미지 변경 시간(숫자가 작을수록 빨라집니다)
    aniview1.animationRepeatCount=0; // 반복횟수, 0이면 무한 반복
    [aniview1 startAnimating];
    [self.view addSubview:aniview1];
}


코드보시면 따로 설명드릴 부분은 없는 듯 하네요. 

안드로이드의 경우도 Frame Animation을 사용해서 png 등 이미지 파일을 배열에 저장해놓고 불러와서 루프를 돌리는 형식이던데, 아이폰도 크게 다르지 않네요. (분명히 더 효율적인 방법이 있을 것같은데...) 안드로이드에서는 파일의 용량이 크고 24장정도되니까 배열에 넣는데 로딩시간이 조금 걸리더라구요. 아이폰은 간단한 파일들로 테스트를 해봐서 로딩시간에 대해서는 정확히 모르겠습니다. 추후 새로운 방법이 있다면 포스팅 하도록 하겠습니다.


 - 주의! 미처 생각하지 못한 부분인데 imageNamed 로 이미지를 불러올 경우 (모바일이라는) 한정된 자원 내에서 같은 이미지파일을 다른 곳에서 부르는 경우 계속 메모리가 할당된다거나, 빠른 재사용을 위해 캐시상에 남아있다는 점 때문에, http://lambert.tistory.com/archive/20110120 을 참고해서 딕셔너리에 넣거나 싱글톤을 통해 사용한 이미지를 지속적으로 사용하는 방법을 추천합니다.  









반응형