iPhoneゲーム開発用にcocos2dを使用すると、レイヤーとシーンが混乱します。 たとえば、私のシンプルなゲームには、メインメニュー、ハイスコア、ゲームボードなどのいくつかの「UIページ」があります。iPhoneゲーム開発用Cocos2dのレイヤー対シーン
「UIページ」ごとにレイヤーまたはシーンを使用する必要があります。
iPhoneゲーム開発用にcocos2dを使用すると、レイヤーとシーンが混乱します。 たとえば、私のシンプルなゲームには、メインメニュー、ハイスコア、ゲームボードなどのいくつかの「UIページ」があります。iPhoneゲーム開発用Cocos2dのレイヤー対シーン
「UIページ」ごとにレイヤーまたはシーンを使用する必要があります。
SpritesDemo.mは/ .hの、彼らが、レイヤを使用して、新しいシーンを作成、層を付加し、コードが続いてい
@interface SpriteDemo : Layer
@interface SpriteManual : SpriteDemo
ディレクターにシーンを交換しているように思われるのレビュー次:だから
-(void)nextCallback:(id)sender {
Scene *s = [Scene node];
[s add: [nextAction() node]];
[[Director sharedDirector] replaceScene s];
}
、要するに、あなたの質問への答えは「両方」になり、あなたは、実際の「UIのページ」を表現するために、レイヤを使用していますが、新しいシーンにレイヤーを添付し、現在に置き換えます監督のシーン。
TouchEventsDelegateを実装するCocos2Dの唯一のクラスであるため、何らかのタッチ入力が得られない限り、本当にレイヤを使用する必要はありません。デモはレイヤーなしでシーンに直接コードを置くとうまくいきますので、他のCocos2Dの機能(子供の追加、ポジションの設定など)を実演するためにしかできませんでした。
それは簡単です:
彼らはこれらの例でCCLayerと新しいシーンを作り、その上に層を付加し、A +シーンメソッドを持っています。レイヤーは名前を付けたときに「UIページ」ではないためです。シーンは「UIページ」です。
両方(シーンとレイヤー)でレイヤーを子として追加できます。 これで、必要な数のレイヤーをスタックできます。これは、実際には、各オブジェクトのレイヤーを作成し、それらのレイヤーに触れることで、マルチタッチを有効にする良い方法です。ボトムライン、彼らはそれが正しい方法ですので、あなたはあまりにもレイヤーで作業し、+シーンメソッドを使用してメインレイヤーをシーンに貼り付けるべきです。
これが役に立ちます。 私の英語は申し訳ありません。ネイティブではありません。
ほとんどの場合、CCSceneではなくCCLayer関数をオーバーライドする必要があります。このようにして、CCScene関数をオーバーライドする必要はありません。 – Emadpres