問題タブ [cclayer]
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.
image - Cocos2d. 画像を正しく読み込んで保存しますか?
この質問にはたくさんの答えがあります。しかし、それらはすべて正しくありません。
たとえば、1 つの CCSprite オブジェクトで CCLayer オブジェクトを作成したとします。3 つのテクスチャがあり、タッチするたびにそれらを切り替えたいと考えています。
たとえば、次のようなものを使用します。
このアプリケーションを Simulator で実行します。次に、メモリ警告を呼び出します。次に、画像 (テクスチャ) を切り替えてみます。そして、3枚のうち2枚の画像が削除されていることがわかります(メモリ警告が表示されたときに画像が表示された場合を除く)。
CCSprite と ССTexture2D の保持/解放コマンドを使用しようとしましたが、解放されたオブジェクトの dealloc メソッドが呼び出されない状況が発生します。
では、それらを正しく保管するにはどうすればよいでしょうか。それらをメモリ警告で保存し、現在のレイヤーが破棄されたときにそれらを解放/削除したい。
ios - Cocos2d でのレイアウトの自動サイズ変更
サイズが変更された場合に自動的に再レイアウトされるメニューを Cocos 2D で作成しようとしています。UIKit を使用すると、(プログラムまたは Interface Builder を介して) 自動サイズ変更オプションを設定できます。私は似たようなことをしたいと思っています。CCLayers (または CCNodes) をレイアウトするためのオプションが Cocos2D に存在しますか?
c++ - cocos2d-x cclayer はマルチレイヤーで私のタッチを処理しません
cocos2d-x でのタッチ処理に問題があります。私は2つのレイヤーを持っています。そのうちの 1 つは一種のワークスペースであり、もう 1 つはワークスペース レイヤーの上にあるツールボックスです。どちらも特別なタッチ処理を備えています。上のレイヤー(ツールボックス)をクリックすると、すべてが正しいのですが、2番目のレイヤー(ワークスペース)をクリックできません。ツールボックスは画面の小さな領域ですが、ワークスペース レイヤーをクリックすると、cocos2d がツールボックスのタッチ ハンドラーを呼び出します。ツールボックスとワークスペースでこのコマンドを使用しました
ワークスペース レイヤーに同じコードがあります。この関数の 3 番目のパラメーターを 0 に変更すると、cocos2d はワークスペース タッチのみを処理し、ワークスペースは機能しません。ありがとうございました。
cocos2d-iphone - Cocos2d for iPhone の基本的な描画動作
基本的な Xcode テンプレート プロジェクトを使用しています。HelloWorldLayer では、正方形の CCSprite を位置 CGPointZero の子ノードとして追加しています。また、位置 CGPointZero を持つ CCLayerColor サブクラスを子ノードとして追加しています。描画されると、スプライトの中心点が画面の左下隅に揃えられます。ただし、レイヤーの左下隅は画面の左下隅に揃えられています。
スプライトとレイヤーの配置が異なるのはなぜですか? 両方の位置が (0,0) に設定されているため、両方の中心点が画面の左下隅に揃えられると思います。
編集 - 詳細: スクリーンショットが判読しにくい場合は申し訳ありません。スプライトは icon-small-50.png を使用しています。レイヤーのコンテンツ サイズは (100,100) に設定されています。注: レイヤーの位置を (10,10) に設定して、左下隅が実際に画面の左下隅に揃えられるようにしました (位置が (0,0) の場合)。
編集 - 詳細情報: CCNode.h でこれに気付きました:
それがそれを説明していると思います。
android - CCLayer を拡張するクラスで getAssets を使用する方法
を拡張するクラスがありますCCLayer
。assets フォルダーからテキスト ファイルを取得する必要があります。getAssets()
しかし、私はこのクラスでは使えませんでした。getAssets()
拡張するクラスでどのように使用できますCCLayer
か???
ios - CA :: Layer::set_positionでのランダムクラッシュ
アプリにクラッシュするバグがあります。
それは同じ場所で起こりますが、いつもではありません。問題は見つかりませんでした。
2つのクラッシュログを次に示します。
////////////////////////////2番目のクラッシュログ/////////////////// ////////////////
詳細が必要な場合は、ご利用いただけます。
調査後、問題となっているコードは次のとおりです。
cocos2d-iphone - Cocos2d-シーンを2回実行しても、更新はスケジュールされません
UIKit ViewControllerから、ゲームを開始するためにこれを行います。
MyGameLayerは次のようになります。
初めてゲームをプレイするときは、すべて正常に動作します。-(void) update: (ccTime) dt
必要に応じて呼び出されます。ゲームを終了してこれを行う場合:
そして、もう一度ゲームをプレイします。呼び出されることは-(void) update: (ccTime) dt
わかっていますが、呼び出されません-init()
。ゲームは画面に表示されますが、更新スケジュールは2回目は機能しません。Cocos2dがアップデートをスケジュールしない原因とその修正方法を教えてください。
cocos2d-iphone - 1つのシーンでのCCLayer間の通信
別々の.mファイルで相互に通信する必要がある2つのCCLayerがあります
- Level1.m(Level1 CCLayerを使用したCCScene)-タイル化されたマップとプレーヤーのスプライトを保持します
- HUDLayer.m(Level1.mの上部へのリンク)-すべてのボタンを保持します
HUDLayer.mで次のコードを取得して、Level1.mのプレーヤースプライトと通信するにはどうすればよいですか?
私がこれに何日も立ち往生しているのを手伝ってください。少なくとも誰かが私を正しい方向に向けることができれば。ありがとう!
cocos2d-iphone - cclayer のフェード中にすべてのアクションを一時停止し、cocos2d でゲームプレイを再開するにはどうすればよいですか?
私はこれを持っています:
フェードインが発生している間にアクションを停止し、フェードバックが発生したときにアクションを再開するにはどうすればよいですか?
cocos2d-iphone - 特定の CCLayer でのみ向きを許可しない
全体的に、私のゲームは 2 つの向きをサポートしています: 横向き右と横向き左
1 つのサブスクリーン (CCLayer を継承) で、現在の向きをロックする必要があるため... 現在の向きがロックされています... ユーザーが別の画面 (CCLayer) に戻ると、向きは再び自由に機能するはずです。