2012-04-04 8 views
0

こんにちは、3つの別々のシーン、上部に1つ、中央に1つ(メイン)、下部に1つずつ、ユーザーに応じて非表示にするiPhoneアプリケーションを設計しています行動。Cocos2d:スクリーンを2つのシーンに分割する

スワイプジェスチャを変更してトップ/ボトムシーンを変更しない場合は中間(メイン)シーンが必要なので、これが必要です。

どうすればいいですか?

PS:私はいくつかの質問/ソリューションを見てきたし、どれも単純明快な答えを与えない

。それが大丈夫なら、本当に助けが必要です!私は考えることができる

+0

あなたはレイヤーを意味しません...正しいですか?あなたのシーンのレイアウトについてもっと具体的に...シーンのレイアウトについてもっと具体的に... – skytz

+0

私が理解しているところでは、レイヤーは作成されますが、CCSceneオブジェクトにCCLayerオブジェクトを追加することによってシーンにアプリケーションとして実装されていますその場面で基本的に私は3つのセクションで画面を必要とし、1つを変更することなく他の2つを変更することができます。どのように私はcocos2dでこれを行うことができます私の推測です私の質問です。コメントありがとう。 – steve

+0

yea ..しかし、異なるサイズのレイヤーを作成し、シーンごとに1つ以上のものを作成できます(スクリーンの外でも)。 – skytz

答えて

1

well..easiest方法は、あなたがそれのサイズを変更する層、

を作成するのに十分な

は、その簡単な希望と同じscreen..and位置にそれらに3層を作ることです<layer>.position=....

と触れられた層を検出するために:ちょうどそれが位置だ変更するには、[ <layer> setContentSize:...]を使用し3にも

- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event 
{ 
    CGPoint location = [self convertTouchToNodeSpace: touch]; 
if (CGRectContainsPoint(<layer1>.boundingBox, location)) 
{ 
    CCLog(@"touched 1st layer"); 
    return YES; 
} 
if (CGRectContainsPoint(<layer2>.boundingBox, location)) 
{ 
    CCLog(@"touched 2nd layer"); 
    return YES; 
} 
return NO; 
} 

...レイヤーをCCMoveToだけ使用してレイヤーを画面の上または外に移動させてください。

+0

ありがとう!私はシーンごとに複数のレイヤーを備えたプロトタイプアプリケーションを作成しました。しかし、このアプローチでは、他の2つのレイヤーに全く影響を与えずにレイヤーの1つを変更することはできますか?返信btwありがとうございます。 :) – steve

0

お試しください。あなたに役立つはずですか?

-(void) registerWithTouchDispatcher 
{ 
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES]; 
    } 
関連する問題