2010-02-06 7 views
0

나는 png 애니메이션 이미지 시퀀스에 관한 질문이 있습니다.특정 범위의 UIImageView 애니메이션 시퀀스 배열을 재생하는 방법은 무엇입니까?

레이어에 1 - 35의 이미지를로드하는 중 - initWithImage을 사용하여 첫 번째 이미지로 레이어를 초기화하고 있습니다. 을 원하는 몇 개의 버튼을 가지고 이미지 시퀀스 배열의 다른 범위를 재생할 수 있습니다.

1 - 10의 이미지 만 재생하는 방법이 있습니까?
재생되는 이미지의 범위를 제어 할 수있는 방법이 있습니까? 11 - 35 또는 4 - 20 또는 무엇이든간에?

물론 이미지의 개별 배열로 레이어를 만들고 레이어를 서로 겹쳐서 만들려고했습니다. 그들의 문제는 initWithImage입니다. 두 번째 레이어를 재생하면 밑에있는 초기화 된 이미지를 볼 수 있습니다.

- (void) loadAnim05 { 
    cAnim = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cof_01.png"]]; 
    cAnim.center = CGPointMake(78,211); 
    NSMutableArray *array = [NSMutableArray array]; 
    for (int i = 1; i <= 35; i++) 
     [array addObject:[UIImage imageNamed:[NSString stringWithFormat:@"cof_%02d.png",i]]]; 
    cAnim.animationImages = array; 
    cAnim.animationDuration = 1.0; 
    cAnim.animationRepeatCount = 1; 
    [self.view addSubview:cAnim]; 
    [cAnim release]; 
} 

어떤 도움 주셔서 대단히 감사합니다

여기 내 이미지 시퀀스 코드입니다.

답변

1

왜 다른 곳에 이미지 배열을 유지하고 NSArray 객체의 -subarrayWithRange : 메서드를 사용하여 애니메이션하려는 이미지를 선택하고이를 imageView의 animationImages 속성에 지정해야합니다.

하지만 UIImageView가 animationImages의 하위 배열을 재생하는 메커니즘을 제공한다고 생각하지 않습니다.

1

저는 이것을 정확하게 수행하기 위해 작은 애니메이션 프레임 워크를 작성하는 중입니다. 당신은 http://github.com/st3fan/iphone-animation

주요 기능의 코드를 찾을 수있는 것은 다음과 같습니다

플래시에서 내 보낸처럼
  • 는 PNG 시퀀스 (변환하는 도구를 포함 일반 배경에 너무 많은되지 모양으로 PNG 이미지 최적화)를 단순한 단일 파일 컨테이너 형식으로 바꿉니다.
  • 프레임을 압축하여 메모리에 유지합니다. 실시간으로 압축을 푸십시오.
  • 프레임은 내가 특별히 http://tickletapapps.com 컬렉션의 게임이 쓴
  • 일반적인 전체 화면 애니메이션이 걸리는 간단한 실행 길이 인코딩 ~ 10 %의 CPU

로 압축됩니다. 그것은 그 게임에서 사용되는 종류의 애니메이션에 아주 잘 작동합니다. 도움이 필요하면 Github을 통해 저에게 연락하십시오. 코드는 진행 중이지만 잘 작동합니다.

+1

St3fan! 애니메이션 프레임 워크에 관심이 많습니다. 그러나 당신의 데모를 빌드 할 때이 오류가 발생합니다 : "_AnimationDecompressRunLengthEncodedPixels"에서 참조 된 .... Symbol not found " 어떤 아이디어가 있습니까? 데모에서 이미지를 가져 오는 위치는 어디입니까? - 고마워요! – Jonathan

관련 문제