問題タブ [cocos2d-html5]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cocos2d-iphone - 未定義のプロパティ 'setTitleText' を読み取れません - ccui.Button
Cocos2d-JS で未定義のプロパティ 'setTitleText' を表示できません。
これがコードです
selChild は、ccui.Button が追加されたノードです。
ここでどのように追加されたか、そのノードのタグを取得していますが、その子として ccui.Button を見つけることができません
javascript - Cocos2d-html5 - エンジンの再起動/終了は可能ですか?
Cocos2d-html5 を使用して、後でエンジンを再起動できるように、エンジンを「終了」してその状態を再初期化する方法はありますか? 単一ページの Web アプリで Cocos2d ゲームを使用しています。ユーザーが別のページに移動した場合、プログラムでキャンバス div を削除し、Cocos2d エンジンを終了しようとします。残念ながら、これを行う良い方法はないようで、新しいゲームをロードしようとするとエラーが発生します。
シーンをきれいにアンロードしてエンジンを終了するにはどうすればよいですか?
私たちは V3.1 を使用しており、いくつかのアプローチを試しましたが、どれもうまくいかないようです。例えば:
- cc オブジェクトに保持されている多くの変数をリセットしようとしています (詳細は後述)。このアプローチでは、_ で始まり、ドキュメントに記載されていないため、プライベートに見える変数をリセットする必要があります。
- CCBoot.js の一部を選択、選択、および書き換えましたが、これは複雑であり、ライブラリ全体に依存しているため、エンジンの更新に耐えられないように見えました。
私が考えた他のアプローチですが、すべてハックのように聞こえます:
3. cc オブジェクト全体を null にして、何らかの方法でスクリプトを再度実行します。
4. cc オブジェクトを別のオブジェクトでラップして、リセットしやすくします。CCBoot.js は、window オブジェクトに何かをアタッチするようです。
私は最初のアプローチから遠く離れていますが、コンテキストの問題で立ち往生しています。キャンバスを離れるとき、DOM から削除する前に、次のように呼び出します。
その後、2回目以降の呼び出しで再起動すると
そして、ここに私が得る種類のエラーがあります。コンテキストを適切にリセットしていないようです:
dynamic - Cocos2d js 動的ライト
このように動的ライトを使用する方法はありますかcocos2d js
。これに関する情報は見つかりません。すべてのリンクは cocos2d-x にのみ移動します
cocos2d-js - カスタムレイヤーでスケジュールを設定し、コールバックが起動しない
Cocos2d-html5 で単純な再利用可能なカスタム レイヤーを作成して、古典的な連続バックグラウンド スクローラーを管理しています。私は最初にこれをメインのゲームレイヤーで作成し、そこで機能させましたが、それを独自の BackgroundScroller レイヤーに移動すると、メインレイヤーから設定されているか、BackgroundScroller 内のメソッドで設定されているかに関係なく、スケジュールを除いてすべてが機能します関数「スクロール" 呼び出されることはありません。
スケジュールが登録されても実行されない原因は何ですか? 範囲の問題ですか?BackgroundScroller でイベントをスケジュールする必要がありますか、またはそれをインスタンス化するコード内からスケジュールする必要がありますか?
BackgrounScroller カスタム レイヤーのコードは次のとおりです。
ios - iOS アプリが html をロードします。URL プレフィックスを変更できますか
会社のアプリを引き継いだところです。このアプリは、cocos2d-html5 ゲームをプレイするために html をロードする必要があります。index.html の読み込みと index.html の url プレフィックスはですがfile:///
、コードに判断が含まれており、url プレフィックスに含まれている場合はnegame://
いくつかのメソッドが応答できるため、プレフィックスをnegame://
cocos2d-js - Cocostudio で定義された複数のシーン間を移行する最良の方法
複数のゲーム シーンを切り替える必要があるゲームを設計しています。各シーンは cocostudio で作成され、次のように json ファイルとしてコードにインポートされます。
これは問題なく動作しますが、別のシーンに移行してから元のシーンに戻る必要がある場合、いくつかの問題が発生します。
シーンの新しいインスタンスを作成すると、次のように戻ります。
PNG ファイルが正しく読み込まれず、透明部分が白一色で表示されます。ただし、シーンの古いインスタンスを次のように保持すると:
次に、json ファイルからすべてのアニメーションを手動でリロードする必要があり、すべてのパーティクル システムが破壊されます (それらはまだ存在しますが、更新されません)。
他の誰かが同様のことを経験しましたか? runScene の代わりに pushScene と popScene を使用することを検討しましたが、私が知る限り、シーン遷移を実行する時代遅れの方法のようです。
javascript - Cocos2d-x JS 3.7.1 タッチ イベント MAC の問題
現在、最初の cocos2d-x JS プロジェクトに取り組んでいますが、MAC プロジェクトの実行で問題が発生しました。WEBでは正常に動作しています。
次の eventListener を作成しました。
また、eventManager で使用されるコード部分があります。
アプリを実行すると、次のエラーが発生します。
誰かがその問題を解決するのを手伝ってくれますか? MAC/IOS バージョンで間違っていることはありますか? その場合の eventListener の初期化方法と使用方法。
javascript - Cocos2d html5 onTouchEnded が機能しない
私の単純なプロジェクトでは、タッチ イベントを使用してボタンの状態を変更します。この場合、すべて正常に動作します。
しかし、この場合、私の onTouchEnded 関数は一度も呼び出されていません:
デバッグをしばらく行った後、cc.eventManager._onTouchEventCallback 関数で「if」ステートメントを見つけました。
私の場合、 "listener._claimedTouches" == 0 であり、if ステートメントは onTouchMove および onTouchEnded リスナーの呼び出しを拒否します。
なぜ「listener._claimedTouches」== 0なのか、なぜそのようなことが起こったのか、誰にも分かりますか?