2011-12-06 23 views
3

我有一個菜單場景層次,像這樣:cocos2d中圖層之間的轉換過程如何?

Scene 
    | 
Background Layer 
    |   | 
Main Menu Settings Menu 

我想從主菜單的設置菜單,而無需移動背景層過渡。有很多關於如何在場景之間轉換的文檔,但沒有任何可以在層之間找到的文檔。主菜單和設置菜單層都是全屏,透明背景,我只想在它們之間滑動而不移動背景。

簡單的問題,但我一個多小時在網上搜索後,我完全難住了。

+0

爲什麼不按照它的意圖做到這一點?沒有必要讓事情變得更加複雜。如果持久狀態(沒有附加代碼)對你很重要,你可能還想看看推送和流行場景。 – LearnCocos2D

+0

從我看到的我不能有一個持久的背景。我正在談論保持放置的背景,沒有動畫(即使新場景的背景相同,我不希望它移動)。 – rnystrom

+0

如果您不使用轉場,背景將不會移動。要轉換圖層,只需加載兩個圖層並同時在每個圖層上運行CCMoveTo等動作,以便將它們移入和移出。 – LearnCocos2D

回答

2

有一個節點,其主菜單是一個孩子。將設置菜單添加到此節點,偏移量爲+ screenWidth或-screenWidth,具體取決於所需的方向。然後創建一個CCMoveTo的序列,你接着是CCCallFunc它調用一個函數來從主節點刪除主菜單層移動你的節點到屏幕的另一邊(如果倒退或關閉屏幕)。這對於垂直轉換同樣適用(只需使用screenHeight並垂直移動節點)。

+0

當我回到家時,我會玩這個遊戲,看起來很有前途。當你說「節點」時,你是說使用CCNode還是CCLayer的節點? – rnystrom

+1

使用CCNode('CCNode * container = [CCNode node];'儘管您可能會在頭中設置一個指針而不是新頭)。 – jrtc27

+0

你釘了它。設置一個自定義菜單管理器,將菜單放在節點中,並將它們按照我想要的方式在場景中進出。謝謝! – rnystrom