導演Director、場景Scene、布景層Layer、精靈Sprite
導演控制場景,場景控制圖層,圖層控制精靈,精靈控制動作
(1)整個游戲一般只有一個導演。
(2)一個游戲可以由多個場景組成(菜單界面、游戲界面、游戲結束界面等),但是每次導演只能指導一個場景的運作。
(3)一個場景可以由多個圖層組成(背景層、道具層、英雄層、怪物層等,每個圖層都可以由多個精靈元素組成(標簽、按鈕、菜單等)。
(4)對于圖層上的每個精靈元素,一般都附帶相應的動作,可以帶多個動作。如揮刀、使用魔法、跑、跳,以及放大、縮小、旋轉等動作。
Director:在這里負責的就是讓不同的場景切換,控制整個游戲的流程,包括開始,繼續,暫停等。以及設置、獲取系統信息,比如調整OpenGL相關的設置,獲取屏幕的大小等。和Scene、Layer、Sprite等不同的是,導演類Director是直接繼承Ref類的,而不是Node類。
Scene:是繼承與Node類的。作為場景類,它卻只有函數create。因為場景就像是一個容器,將不同的布景層(Layer)組合在一起,方便管理。一個游戲會有很多的場景,比如,主界面,游戲界面,載入界面等等都是一個場景。而每一個場景都是由多個圖層組合在一起,形成一個完整的游戲畫面。
Layer:繼承于Node。Layer不僅繼承了CCNode的所有操作,還附加觸控、重力加速度計、支持鍵盤輸入的事件代理。一個布景層(Layer)可以包含多個元素,如標簽(Label)、菜單(Menu)、精靈(Sprite)等等。
注意:Layer的錨點默認為(0,0),即左下角。并且忽略錨點的設置,即使你setAnchorPoint了錨點,Layer的錨點也不會改變,依然是(0,0)。
Sprite:精靈說簡單一點,其實就是一個2D的圖片。并賦予圖片各種屬性以及特性。如大小、顏色、放縮、旋轉、動作等。精靈一般都是放在布景層(Layer)上面的,即一個布景層(Layer)應當有許多的精靈存在。精靈可以用來當做背景、人物、鳥、白云等內容。
Sprite不僅繼承了Node,還繼承了紋理協議接口TextureProtocol。
TextureProtocol紋理協議接口主要是負責紋理圖片的管理。
注意:精靈的錨點默認為(0.5,0.5),即中心點。