2010-04-28 7 views
2

애니메이션을 실행하기 위해 SpriteSheet를 사용하려고합니다. 내 프레임의 크기는 각각 320x480이므로 텍스처 이미지에 최대 6 개의 프레임을 넣을 수 있습니다. 하지만 애니메이션은 50에서 200까지의 프레임 번호로 구성되며, 모두 320x480 크기입니다. 크기가 1024x1024로 제한되어 있기 때문에 많은 수의 프레임을 텍스처 이미지에 추가 할 수 없습니다. 다른 방법을 시도해 볼 수 있습니까? 다른 애니메이션을 따라 한 애니메이션을 재생할 수 있습니까? 그리고 성능을 저해하지는 않을 것입니다. 제발, 제언이 필요합니다. 최고, Vaibhav Tekam.Cocos2D SpriteSheet 애니메이션 문제로 인해 프레임 수가 훨씬 많습니다.

+0

당신이하려는 일이 내게 불분명합니다. "내 프레임은 320x480"이라고 쓰면 스프라이트를 의미합니까? 한 프레임에 표시해야하는 320x480의 50-200 가지 스프라이트가 있습니까? 많이 보인다. 스프라이트 시트를 여러 개 가질 수 있으며 각 스프라이트 시트에는 스프라이트가 있습니다. 애니메이션으로하려면 무엇이 필요합니까? 영화 같은 걸하고 싶니? 당신이하려는 일을 분명히하십시오. 아마도 일부 코드 샘플도 도움이 될 수 있습니다. – nash

답변

2

어, 당신은 장치가 처리 할 수있는 길을 지나갈 것입니다! 당신은 당신이 성취하고자하는 것과 그것이 성취 할 수있는 방법을 다시 생각해야 할 것입니다. 설명하겠습니다.

32 비트 색상의 모든 1024x1024 텍스처에는 4MB의 메모리가 필요합니다. 60 개의 전체 화면 스프라이트로 구성된 스프라이트 애니메이션을 원한다면 10 개의 텍스처가 필요합니다. 따라서 40MB의 메모리가 필요합니다. 180MB의 대용량 시나리오의 경우 120MB.

iOS 기기의 128MB RAM 메모리 모델에는 최대 30MB의 메모리가 앱에 이상적으로 제공됩니다. 단 5 개의 1024x1024 텍스처로 메모리 문제에 부딪치게됩니다. 256MB 장치에는 여전히 응용 프로그램에 사용할 수있는 약 100MB 만 있습니다.

애니메이션이기 때문에 하나의 텍스처를로드하는 옵션이 아니며 여섯 번째 이미지마다 텍스처를 제거하고 다음 텍스처를로드하십시오. 1024x1024 텍스처를 메모리에로드하는 것은 장치에 따라 약 1-3 초가 걸립니다. 이 시간 동안 귀하의 앱은 무책임하게 작동합니다.

+0

그럼 Cocos2D로 어떻게 영화를 볼 수 있습니까? 큰 전체 화면 애니메이션입니다. – Samuel

+0

AVPlayer가있는 mpeg-4/mp4 동영상 재생 – LearnCocos2D

+0

AVPlayer 방식에 대한 자세한 정보를 제공해 줄 수 있습니까? 모든 플랫폼 (Android, iOS 등)과 호환됩니까? (내가 발견 한 모든 텍스트는 iOS 음악 재생과 관련이 있음) – Samuel

관련 문제