CocosCreator バージョン: 2.3.4 ほとんどのゲームにはレイヤー管理機能があり、例えば
Cocos のシーンは永続的ではなく、切り替えるたびに自動的に破棄されます。これらのレイヤーをシーンに配置する場合、シーンごとに 1 回配置する必要がありますか?そしてまたそれを手に入れるのですが、これは非常に面倒です。 シーンは cc.director.loadScene を使用してロードされます。シーンのコンテナ ノードは、ディレクターの nodeActivator であるようです。 ここで、シーン コンテナーや Cocos のトップレベル コンテナーについては考慮しません。レイヤー管理には 2 つのアプローチが考えられます。 1. シーンは1つだけゲーム全体では 1 つのシーンがあり、それがゲームの入り口のシーンです。このシーンには、sceneLayer などのレイヤーのノードが配置されます。この入り口のシーンは、エグレットとラヤのステージに相当します。 次に、すべてのシーンとポップアップ モジュールをプレハブ化し、表示されるたびに、エントリ シーンの対応するレイヤーに addChild を追加するだけです。 2. 常駐ノードを使用する例えば、シーン1にsceneLayerなどのレイヤーを配置します。表示をわかりやすくするために、各レイヤーに単一の色を追加しました。 常駐ノードはルート ノードの下、つまりキャンバスと同じレベルにある必要があります。 3 つのレイヤーを永続ノードとして設定します。 オンロード(){ cc.game.addPersistRootNode(cc.find("sceneLayer")); cc.game.addPersistRootNode(cc.find("panelLayer")); cc.game.addPersistRootNode(cc.find("tipLayer")); } 次にシーンを切り替えます。新しいシーンでも、sceneLayer などのレイヤーを表示したり取得したりすることができます。 オンロード(){ console.log(cc.find("sceneLayer")); //sceneLayerのcc.Nodeを出力 } 常駐ノードを使用すると、入口シーンに sceneLayer などのレイヤーを配置できます。参照を保存するには、レイヤー管理クラスを使用します。 III. ベストプラクティスレイヤー管理クラス、シングルトン デフォルトクラスLayerManagerをエクスポートし、cc.Componentを拡張します。 プライベート静的インスタンス:LayerManager; パブリック静的ins():LayerManager{ if (this.instance == null) { this.instance = 新しい LayerManager(); } this.instance を返します。 } パブリック パネル レイヤー:cc.Node; パブリック tipLayer:cc.Node; } エントリシーンに常駐ノードレイヤーを設定し、レイヤー管理クラスを使用して参照を保存します。後で使用するため。 @ccクラス デフォルトクラスHelloworldをエクスポートし、cc.Componentを拡張します。 オンロード(){ cc.game.addPersistRootNode(cc.find("sceneLayer")); cc.game.addPersistRootNode(cc.find("panelLayer")); cc.game.addPersistRootNode(cc.find("tipLayer")); LayerManager.ins().panelLayer = cc.find("panelLayer"); LayerManager.ins().tipLayer = cc.find("tipLayer"); } } 以上が、CocosCreator のレイヤー管理用常駐ノードの使用方法の詳細です。CocosCreator のレイヤー管理用常駐ノードの詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。 以下もご興味があるかもしれません:
|
<<: 新しい Linux ファイル権限設定における umask の詳細な理解
>>: Dockerコンテナとローカルマシン間でファイルを転送する方法
xhtml+css のウェブサイト再構築、ウェブ標準などについては、記事が多すぎるので繰り返しません...
目次序文成果を達成するコードCSSコードJSコードHTMLコードデモンストレーションのプロセス序文ク...
さて、質問させてください。MySQL で列を int(0) に設定すると何が起こりますか?この問題を...
Ubuntu では中国語入力方法の解決策はありません。仮想マシンや Ubuntu システムをインスト...
結果: html <canvas id="スターフィールド"><...
問題の原因ご存知のとおり、すべてのネットワーク動作は対応するネットワークトラフィックを生成し、すべて...
この記事の例では、カスケードセレクターを実装するためのelementUIの具体的なコードを参考までに...
中国初のカッター github.com/chokcocoまず、ここに画像があります。純粋な CSS ...
MySQL では、datetime 型は通常、時間を保存するために使用されますが、現在では多くのシス...
入力ボックスが小さい場合、内容を入力した後に、入力内容が拡大されたプロンプト ボックスを表示したいこ...
参考までに、ネイティブjsを使用して簡単な計算機(詳細なコメント付き)を実装します。具体的な内容は次...
この記事では、MySQL データベースでよく使用される SQL ステートメントを例を使用して説明しま...
この記事では、MySQL 5.7.18アーカイブ圧縮版をインストールする具体的な方法を参考までに紹介...
ウェブサイト機能を開発する場合、セッション キャッシュを時間内にクリアできません。一連の探索が始まり...
背景docker とアイデアを使用して、Java Web の開発、展開、運用までのプロセス全体を実現...