2012-04-04 116 views
0

嗨,我設計了一個iPhone應用程序,需要3個獨立的場景,一個在頂部,一個在中間(主),一個在底部,根據用戶隱藏和取消隱藏動作。Cocos2d:將屏幕分爲2個場景

這是一個要求,因爲我需要中間(主)場景在滑動手勢和頂部/底部場景之間保持不變。

我該怎麼做?

PS:

我看過的幾個問題/解決方案,並沒有給出直接的答案。我只需要一些真正的幫助,如果沒問題的話!

+0

你的意思是layers..not場景......對嗎?如果你的意思是scene..be更具體的關於你的場景的佈局..問題不明確 – skytz 2012-04-04 22:04:56

+0

據我所知,層被創建,但通過CCLayer對象添加到CCScene對象之前作爲場景與那個場景。基本上我需要3個部分的屏幕,允許1改變而不改變其他2。我怎麼能做到這一點在cocos2d是我的問題,我想。感謝您的評論。 – steve 2012-04-04 22:14:55

+0

是的..但你可以創建不同大小的圖層和超過1個場景..並按照你想要的任何順序排列它們(甚至在屏幕之外) – skytz 2012-04-04 22:16:52

回答

1
我能想到的

well..easiest方法是使3層在同一screen..and,只要你想

它很容易創建圖層,

改變它的大小進行擺放只需使用[ <layer> setContentSize:...],改變它的立場:<layer>.position=....

,並檢測該層被觸摸:

- (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; 
} 

也......爲3 rd圖層只需使用CCMoveTo即可將圖層移入和移出屏幕

+0

謝謝!我創建了每個場景具有多個圖層的原型應用程序。但是採用這種方法,我可以更改其中一層而不會影響其他2層嗎?非常感謝您的回覆btw。 :) – steve 2012-04-04 22:32:00

0

試試吧。可能它會對你有所幫助。

-(void) registerWithTouchDispatcher 
{ 
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES]; 
    }