[Cocos2d-jsの公式ドキュメント] 3、焼く機能のヘルプ

設計意図

多くの場合、ゲーム開発プロセスの過程、UIとして出会い以下改質層(レイヤ)の背景には、コンテンツは、これらの層がどのように変化するかではありません。ゲームのレンダリング処理では、これらの層は、多くの場合、レンダリング時間を大量の、など特により複雑なUIインターフェイス、消費します:キャンバスの描画モードでは、ボタン(drawImageメソッド)を描く9回を呼び出します。いくつかの複雑なUIシーンでは、モバイルブラウザのパフォーマンスのための非常に希少な資源である回数実際のゲームのUIの描画を描くの数よりもはるかに大きいがあるだろう、それが損傷されます。

上記については、我々はする必要がcc.Layer参加bake自体とその子ノードがキャンバス(帆布)、限り、子ノード自体変更の有無にかかわらずに上(ベーキング/ベーク)がバックアップされますが、インターフェイスと呼ばれる界面層を、二描くとき、コンテンツが策定するためにキャンバス上で直接になります。このように、あなたは、元の描画レイヤN回を呼び出す必要がある、あなただけの描画一度呼び出す必要があります。この層は、ベークする必要はありません場合は、あなたが呼び出すことができるunbake機能を解除します。

利用シナリオ

  1. 複雑なUI層。大型パネルの量(パネル)、ボタン(ボタン)などを含むUI層は、これらのコントロールに大量のコールを描く描かれており、これらのコントロールが頻繁に変更されていません。
  2. ゲーム内のレイヤの静的な背景や障害物。

使用

ノード焼くために必要な要素:使用ベーク機能は非常に簡単ですcc.Layer(またはサブクラスをcc.LayerColorcc.LayerGradient)オブジェクト、およびそのオブジェクトの呼び出し、bakeそれに機能を。サンプルコード:

  1.  
    層= cc.Layer.create()を焼成しました。
  2.  
    this.addChild(bakeLayer)。
  3.  
     
  4.  
    ため(VAR iは= 0; I < 9; I ++){
  5.  
    VARスプライト1 = cc.Sprite.create(s_pathGrossini)。
  6.  
    IF(I%2 === 0){
  7.  
    sprite1.setPosition( 90 + I * 80、winSize.height / 2 - 50)と;
  8.  
    } 他{
  9.  
    sprite1.setPosition( 90 + I * 80、winSize.height / 2 + 50)。
  10.  
    }
  11.  
    sprite1.rotation = 360 * Math.random();
  12.  
    bakeLayer.addChild(スプライト1)。
  13.  
    }
  14.  
    bakeLayer.bake(); //焼く機能を開始

詳細については、焼くレイヤテストの我々のテストケース(JS-テスト)を参照してください。

注意事項

  1. 子ノードは、多くの場合、層になるために、ベーク機能が有効になっている、ゲームが追加のパフォーマンス・オーバーヘッドをもたらすでしょう、この機能を開く前に、頻度の低い層の子ノードを変更することをお勧めします。
  2. この機能は、キャンバスのレンダリングモード、WebGLのは、何の効果もレンダリングモードないとJSBの関数呼び出しベークでのみ使用可能です。
します。https://blog.csdn.net/qinning199/article/details/40413535より転載

おすすめ

転載: www.cnblogs.com/wodehao0808/p/11929557.html