2014-11-07 14 views
0

저는 한동안 헬리콥터로 게임을 만들었으며 이제는 두 개의 헬기 사이에서 옵션을 제공하려고합니다.SKAction animateWithTextures가 제대로 작동하지 않습니다.

heliAtlas = [SKTextureAtlas atlasNamed:@"APACHE"]; 
NSArray *heliAtlasArray = [heliAtlas textureNames]; 
    NSArray *heliAtlasArraySorted = [heliAtlasArray sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]; 
    NSMutableArray *heliTextures = [NSMutableArray array]; 
    for (NSString *filename in heliAtlasArraySorted) { 
     SKTexture *texture = [heliAtlas textureNamed:filename]; 
     [heliTextures addObject:texture]; 
    } 
    SKAction *animateHeli = [SKAction animateWithTextures:heliTextures timePerFrame:.016]; 
    SKAction *repeatAnimation = [SKAction repeatActionForever:animateHeli]; 

지금, 나는 두 번째 헬기에 대한 정확한 동일한 코드를 사용했다,하지만 난 헬기를 사용하려고 할 때, 애니메이션은 glitched 보았다 : 나는 아무런 문제, 원래 애니메이션이 코드를 사용했다. 나는 애니메이션의 속도를 늦추었고, 애니메이션의 전반부를 보여준 다음 아틀라스 스타일의 사진을 통해 움직이는 것을 깨달았습니다 (두 개의 나란히있는 헬기가 반이나 뒤집힌 상태 등).

왜 내 두 개의지도가 다르게 작동합니까?

+0

개별 이미지에 고유 한 이름이 있습니까? 정렬 된 배열 (로그)에 무엇이 있습니까? 정렬은 자연 정렬을 고려하지 않기 때문에 순서를 "image1, image10, image2"로 지정할 수 있습니다. – LearnCocos2D

+0

@ LearnCocos2D 당신이 요구 한대로 했어요. 작동하는 heli에 대해 NSLog는 배열에 이미지가 순서대로 포함되어 있음을 보여주었습니다. 첫 번째 이미지가 제대로 들어 있지 않고 다음 이미지가 littlebird_frame07 @ 2x 0x1851a8bbdng ' – Todd

+0

처럼 보이지만 프레임 05를 포함하여 이름이 정확합니다. 프레임 06, 07 및 08은 프레임 04, 03의 중복입니다. , 그리고 02. 그 이유가 아마도 어쩌면 내가 해야할지 모르겠다. 이것은 다른 헬기와 같은 경우이지만,이 결함이 없었습니다. – Todd

답변

0

아틀라스의 이미지 제한은 50입니다. 50 개가 남을 때까지 이미지를 제거하고 거기에서 제대로 작동했습니다.