忍者ブログ
  • 2024.04
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 2024.06
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/05/19 16:44 】 |
spriteBatchNodeを使う
cocos2d-xにあるSpriteBatchNodeクラス。

複数のスプライトを効率よく描画したいときに使う。

例えば同じ絵のキャラを大量にわらわらと表示させたいとき。

SpriteBatchNodeクラスのインスタンスのノードを作り、このクラスにテクスチャを登録する。
その子ノードに同じテクスチャを貼ったスプライトを大量に付ける。

すると、一度の描画命令で子ノードが全部描画できる。


ポイントは、SpriteBatchNodeクラスに登録したテクスチャと
「同じテクスチャ」を持つノードしか子ノードにできないこと。
テクスチャでなく、SpriteFrameでも良い。アニメーションする場合や、複数の絵を子ノードに並べたいときはSpriteFrameを使うことになるだろう。


実際に描画回数が減っているかどうかは、
画面左下に出ている。
GL calls が描画回数、
GL verts が頂点数。

GL callsがテクスチャ数より少なくなっていれば、効いている…はず

詳しいところはもう少しコードを追いかけてみる。




ちなみにLabelクラスはSpriteBatchNodeの子クラスである。



…といったところで、
v3.xでは標準でドローをまとめる機能がついたらしく、SpriteBatchNodeは非推奨になったとかなんとか。
参考
PR
【2015/01/08 19:30 】 | cocos2d-x | 有り難いご意見(0)
<<Alamofireをプロジェクトに追加 | ホーム | adcrops導入>>
有り難いご意見
貴重なご意見の投稿














<<前ページ | ホーム | 次ページ>>