1

Cocos2D を使用しています。テクスチャ パッカーを使用して生成されたテクスチャ アトラスの一部である場合、画像をタイル化する最も効率的な方法は何ですか? 10 x 320 の画像があり、それを並べて画面いっぱいに表示したいと考えています。

以前にこのコードを使用して画像をタイル表示しました

bgHolder = [CCSprite spriteWithFile:@"bg.png" rect:CGRectMake(0, 0, 700, 300*155)];
ccTexParams params = {GL_LINEAR,GL_LINEAR,GL_REPEAT,GL_REPEAT};
[bgHolder.texture setTexParameters:&params];
[self addChild:bgHolder];

しかし、タイル化したい画像が正方形ではなく、テクスチャ全体のごく一部にすぎない場合は、このアプローチを使用できないと思います。

たくさんの CCSprites を連鎖させるのは私にはかなり非効率に思えるので、もっと良い方法があることを願っています。

4

1 に答える 1

1

タイルごとに 1 つのスプライトを使用します。それがやり方です。スプライトのバッチ処理を使用して、描画呼び出しの数を 1 に保つ必要があります。スプライトのバッチ処理を使用する場合、48 個のスプライトをレンダリングすることは、480x320 のスプライトを 1 つレンダリングすることよりもそれほど悪くはありません。

于 2012-08-02T20:49:36.177 に答える