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 보았다 : 나는 아무런 문제, 원래 애니메이션이 코드를 사용했다. 나는 애니메이션의 속도를 늦추었고, 애니메이션의 전반부를 보여준 다음 아틀라스 스타일의 사진을 통해 움직이는 것을 깨달았습니다 (두 개의 나란히있는 헬기가 반이나 뒤집힌 상태 등).
왜 내 두 개의지도가 다르게 작동합니까?
개별 이미지에 고유 한 이름이 있습니까? 정렬 된 배열 (로그)에 무엇이 있습니까? 정렬은 자연 정렬을 고려하지 않기 때문에 순서를 "image1, image10, image2"로 지정할 수 있습니다. – LearnCocos2D
@ LearnCocos2D 당신이 요구 한대로 했어요. 작동하는 heli에 대해 NSLog는 배열에 이미지가 순서대로 포함되어 있음을 보여주었습니다. 첫 번째 이미지가 제대로 들어 있지 않고 다음 이미지가 littlebird_frame07 @ 2x 0x1851a8bbdng ' – Todd
처럼 보이지만 프레임 05를 포함하여 이름이 정확합니다. 프레임 06, 07 및 08은 프레임 04, 03의 중복입니다. , 그리고 02. 그 이유가 아마도 어쩌면 내가 해야할지 모르겠다. 이것은 다른 헬기와 같은 경우이지만,이 결함이 없었습니다. – Todd