2012-03-28 2 views
0

Cocos2d를 사용하여 동일한 스프라이트로 더 잘 작동하는 방법에 대한 권장 사항이 필요합니다.Cocos2d를 사용하여 동일한 스프라이트로 작업하기

화면에 똑같은 10 개의 스프라이트가있는 응용 프로그램 성능과 메모리 사용을 향상시키는 방법.

내가 찾은 유일한 개선은 메모리에 다시로드,하지만 난 당신이 CCBatchnode를 사용하는 것이 좋습니다이 CCSprite *newSprite = [CCSprite spriteWithTexture:[oldSprite texture]];

답변

2

같은 것을 사용하지 않는 것입니다, 당신은 텍스처 메모리에 단 한 이미지를로드하고 다시 사용할 수 있습니다.

http://www.raywenderlich.com/1271/how-to-use-animations-and-sprite-sheets-in-cocos2d

레이 spritesheets를 설명 여기 좋은 자습서를 가지고있다.

+0

* CCBatchnode, 텍스처 메모리에 단 하나의 이미지 만로드하고 다시 사용할 수 있습니다. ** 동일한 ** ** 내가하는 일이 아닌가요? 일반적인 텍스처 배열을 생성 한 다음 [CCSprite spriteWithTexture : [** needTextureSprite texture **]]를 사용하여 새 스프라이트를 만듭니다. – Buron

+1

CCBatchnode는 모든 자식에 대해 모든 draw 메서드를 처리합니다. CCSprite는 초당 6 개의 그리기 메소드를 수행하지만 CCBatchnode는 10을 수행합니다. 그러나 10 개의 CCSprites가있는 경우 10 개의 CCSprite가 CCBatchnode의 하위이며 60 개의 그리기 메소드 만 있으면 호출 할 수 있습니다. 그것은 훨씬 더 빠르다. [CCSprite spriteWithSpriteFrameName : @ "myFrame.png"]으로 스프라이트를 쉽게 호출 할 수 있습니다.이 스프라이트는 빠르고 쉽게 사용할 수 있습니다. spriteWithTexture를 꼭 사용해야하는 경우 표시 프레임을 설정해야한다는 사실을 잊지 마십시오. spriteWithTexture를 살펴보십시오. – Bongeh

+0

아하, 정말 설명해 주셔서 감사합니다! – Buron