問題タブ [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.
iphone - 2層で処理されるタッチ
私はCCLayer
他CCLayer
の多くのを含んでいます(テキストのアイテムなど)。CCLayer
左側にもう1つあり、これらの「シーン」のサムネイルを表示したいと思います。
左側の手CCScrollLayer
はその境界内のタッチに応答する必要があり、右側のレイヤーの要素は個々の境界内のタッチに応答する必要があります。
私が見ている問題は、たとえば右側のレイヤーをドラッグするCCScrollLayer
と、左側のレイヤーが応答してスクロールしていることです。ただし、スクロールレイヤーをスクロールしても、右側の要素は影響を受けません。のCCScrollLayer
境界が大きすぎるようですが、意図的に100ピクセル幅に設定したからではありません。ここで説明のつかない動作が働いていますか?
効果はhttp://imageshack.us/photo/my-images/210/dragd.png/で見ることができます
timer - cocos2d スケジューラを使用して、タイマー条件が 2 回渡される
なぜこれが起こっているのか、私は自分の仕事の生涯を理解することはできません。私は CCLayer から派生したクラスを持っています。クラスを初期化するときに、そのようにメソッド呼び出しをスケジュールしています
そしてその方法は
それでも、プログラムを実行すると、コンソールステートメントは、条件がクールダウンごとに2回渡されていることを示しています
012-06-29 09:52:57.667 テスト ゲーム[5193:707] アイドル アニメーションの再生
2012-06-29 09:52:57.701 テスト ゲーム[5193:707] アイドル アニメーションの再生
2012-06-29 09:53:05.750 テスト ゲーム[5193:707] アイドル アニメーションの再生
2012-06-29 09:53:05.851 テスト ゲーム[5193:707] アイドル アニメーションの再生
アイドル アニメーションの再生が終了したときにゲームがクラッシュするバグを修正しようとしていますが、これが何らかの原因であると確信しています。
memory-management - clayer をオブジェクトに渡すときのメモリの問題
多くのボタンを追加したい CCLayer があります。この init 関数を使用してクラス MyButton を作成しました。
}
この init 関数はレイヤーにボタンを追加し、MyButton クラスですべての動作 (動き、画像の変更) を管理しています。
そのため、レイヤーはすべての MyButton インスタンスに送信されています。各ボタンが離されるまで、レイヤーは dealloc メソッドを呼び出しません。
これらのボタンは、配列を介してレイヤーに追加されています。
私の問題は、このシーンを置き換えると、MyButton の dealloc メソッドが呼び出されず、メモリが解放されないことです。これは、[_buttons release] がレイヤーの dealloc メソッドにあり、これも呼び出されていないためです。レイヤーが各ボタンに渡されました。
それは混乱です。このメモリの問題を解決するための最良の方法を誰か教えてもらえますか?
- 編集
replaceScene を呼び出す前にボタンの配列を手動で解放しようとすると、各ボタンが dealloc を呼び出しますが、次のエラー メッセージが表示されます。
iphone - 複数のタッチが有効な CCLayers、最上層はタッチを消費しない
2 つの CCLayers を互いに積み重ねています。どちらもタッチ対応です。最上層の CCLayer がタッチに応答して消費し、最下層が最上層が消費するタッチに反応しないようにします。
最上層には、次のような CCTouchBegan メソッドがあります。
最下層には、次のような CCTouchesEnded メソッドがあります。
その結果、最上位レイヤーはタッチを消費せず、まったく応答しません。最下層のみがタッチに反応します。
iphone - cocos2d でシーンをプッシュしてパラメーターを渡す方法
cocos2d 2.0 でシーンをプッシュして、このプッシュされたシーンにパラメータを渡す方法があるかどうか知りたいです。たとえば、シーンをプッシュするには、これを使用することを知っています。
これは単純なレイヤーである helloworldlayer をプッシュします。
しかし、このレイヤーにいくつかのパラメーターを渡したいので、レイヤーがプッシュされたときに、渡したパラメーターを使用できます。
どうすればできますか?
cocos2d-iphone - 別の上にcclayerを追加します
ある cclayer を別の cclayer の上に追加したい。次のコードを使用してこれを試しました
しかし、いくつかの間違いがあるかもしれません.newLayerに何かを追加しようとすると、.hファイルでも宣言されている場合でも宣言されていない変数を使用していると表示されます。
詳細コードを教えてください。
iphone - シーンに HUD レイヤーが追加されない
既に gameLayer を保持している CCScene があり、その上に HUD レイヤーを追加しようとしています。しかし、HUD レイヤーがシーンに追加されていません。HUD レイヤーに CCLabel を設定して実行すると、それが言えます。私のプロジェクトでは、そのラベルが表示されません。
これが私がやっていることです:私のgameLayerで:
次に、HUD レイヤーで、次のように init メソッドに CCLabelTTF を追加しました。
しかし、今、プロジェクトを実行すると、そのラベルが表示されません。ここで何が間違っていますか..?
何か案は.. ?
お時間をいただきありがとうございます。
iphone - シーンに新しいレイヤーが追加されていません
すでにgameLayerを保持しているCCSceneがあり、その上にHUDレイヤーを追加しようとしていますが、HUDレイヤーがシーンに追加されていないため、HUDレイヤーにCCLabelを設定し、実行すると、私のプロジェクトでは、そのラベルが表示されません。
これが私がしていることです:私のgameLayerで:
そして、HUDレイヤーで、次のようにinitメソッドにCCLabelTTFを追加しました。
しかし、プロジェクトを実行すると、そのラベルが表示されません。ここで何が間違っているのでしょうか。
HUDレイヤーのinitメソッドも呼び出されていません。
何か案は.. ?
よろしくお願いします。
cocos2d-iphone - 2 つの CClayer 間の通信
// クラス Ah -> コード:
クラス Am -> コード:
//Bh コード:
//Bm コード:
これを行うことで、別のクラス (つまりクラス B) から LHSprite を追加できますが、本体ではありません。追加した LHSprite のボディを追加するには、どのような変更を行う必要がありますか?
よろしく、スタック。
ios - cocos2dは子を非同期的に追加できません
画面に表示するには、データベースからデータを取得する必要があります。アプリケーションがブロックされないようにしたいので、データを取得してデータを追加する前に、次の画面を表示します。
これは、画面上に必要な情報を追加する方法です。
メソッドgenerateInfoForPlayerWithId:tag:sender:がブロックされる可能性があるため、独自のスレッドに配置しました。UIの更新なので、メインスレッドにメニューを追加します。
infoMenuは正しいCCMenu*オブジェクトであると確信しています。
//(1)で示された行をコメントアウトしないと、EXC_BAD_ACCESSが発生します。