이제 글을 작성합니다. cocos2d를 사용하여 대화식 전자 서적을 만듭니다. 프로그램이 실행될 때 초기 페이지로드시에만 표지 페이지 애니메이션이 고르지 않게됩니다. 이 애니메이션은 표지에 있으며 거대합니다. 우리는 13 개의 텍스쳐지도, 26 개의 이미지를 말하고 있습니다.첫 번째로드시 고르지 않음/슬로우 애니메이션 cocos2d
나는이 문제가 이미지를 미리로드 /로드하는 것에 기인 한 것으로 알고 있지만 애니메이션이 발생하기 전에 이미 모든 이미지를로드했습니다.
-(id) init {
if((self=[super init])) {
isTouchEnabled_=YES;
//Pg0 Animations
[[CCSpriteFrameCache sharedSpriteFrameCache]addSpriteFramesWithFile:@"CB0A0.plist"];
[[CCSpriteFrameCache sharedSpriteFrameCache]addSpriteFramesWithFile:@"CB0A1.plist"];
...etc.}}
이 책의 전체적인 구성은 다음과 같습니다. 장면, 메뉴 레이어를 만든 다음 메뉴 레이어는 다른 레이어/다른 페이지를 푸시하고 팝합니다.
표지 페이지가로드되면 (Pg0) 사용자가 그림을 터치하면 애니메이션이 실행됩니다. 그런 다음 사용자가 그림을 다시 터치하면 두 번째 애니메이션이 실행됩니다.
책의 모든 이미지가 메뉴 레이어에로드되므로 (페이지를 밀거나 팝하기 전에) 메뉴 레이어에 이미지가로드됩니다. 이 이미지를 장면이나 개별 페이지에로드하여 프로세스 속도를 높이려고했으나 시간에는 영향을주지 않습니다.
애니메이션 도우미를 통해 내 애니메이션을 실행하고 있는데,이 애니메이션 도우미는 나를 위해 이미지를 반복합니다.
도움이 될 것입니다. 필요한 경우 더 많은 코드 또는 프로젝트 정보를 공유하고 싶습니다.
내가 뭘 잘못했는지 알았어! 두 개의 다른 텍스처 파일의 이미지를 사용하는 애니메이션이있는 경우 특정 텍스처를 미리로드하지 않은 경우 새 텍스처를로드 할 때 일시 중지됩니다. '[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile : @ "yourTexture.plist"];와 같은 코드 라인을 작성하면 텍스처 캐시가로드되지 않습니다. 애니메이션이있는 캐시의 특정 이미지를 호출하여 레이어에 추가해야합니다. 이를 위해 단순히 모든 애니메이션 텍스처의 스프라이트를 추가하여 보이지 않게 만들었습니다. –