CCDirector: ?導(dǎo)演元扔,負(fù)責(zé)場(chǎng)景的切換以及場(chǎng)景的信息拼弃。如寬度,高度摇展,旋轉(zhuǎn)場(chǎng)景內(nèi)容吻氧。
CCScene: ????場(chǎng)景. 場(chǎng)景包含有布景,精靈咏连,每場(chǎng)戲的不同盯孙,要切換場(chǎng)景。游戲中可分為主界面祟滴, 游戲振惰, 分?jǐn)?shù)榜,結(jié)束界面等垄懂。
CCLayer: ????布景. 類(lèi)似是層的概念骑晶,也可來(lái)源于PS的層的概念痛垛。每一層都帶有眾多精靈等
CCSprite: ???精靈。就是演員的桶蛔,演員就需要加入到層里面去的匙头。有相應(yīng)的動(dòng)作。
CCAction: ???動(dòng)作仔雷。精靈的動(dòng)作蹂析。
場(chǎng)景切換時(shí)通過(guò)Director導(dǎo)演類(lèi)來(lái)實(shí)現(xiàn)的,在cocos中定義了如下幾種場(chǎng)景切換函數(shù):
1碟婆,void runWithScene(Scene *scene)电抚。這是一個(gè)運(yùn)行場(chǎng)景的函數(shù),該函數(shù)的使用情況是當(dāng)前沒(méi)有場(chǎng)景正在運(yùn)行竖共,因?yàn)橐淮沃荒苓\(yùn)行一個(gè)場(chǎng)景蝙叛。
2,void replaceScene(Scene *scene)公给。?? 這是第一種用來(lái)切換到另一個(gè)場(chǎng)景的函數(shù)借帘,用一個(gè)新的場(chǎng)景來(lái)代替當(dāng)前場(chǎng)景,當(dāng)前場(chǎng)景則會(huì)被終端釋放妓布。
因?yàn)閜ushScene并不會(huì)銷(xiāo)毀前一個(gè)scene姻蚓,僅僅是將后一個(gè)scene按照堆棧的方式加入到前一個(gè)scene的上面宋梧。如果自身代碼中內(nèi)存管理寫(xiě)的不好的匣沼,利用pushScene很難發(fā)現(xiàn)該方面的問(wèn)題,一旦崩潰定位都很難定位捂龄。replaceScene可以及早的將隱含的問(wèn)題給暴露出來(lái)释涛。
3,void pushScene(Scene *scene)倦沧。??????這是第二種用來(lái)切換到下一個(gè)場(chǎng)景的函數(shù)唇撬,用一個(gè)新的場(chǎng)景來(lái)代替當(dāng)前場(chǎng)景,當(dāng)前場(chǎng)景掛起壓入場(chǎng)景堆棧中展融。
????void??popScene(Scene* scene)窖认。?????? 該函數(shù)配合pushScene使用,用來(lái)返回上一個(gè)場(chǎng)景告希。
??? void? popToRootScene(Scene*scene)扑浸。配合pushScene使用,返回根場(chǎng)景燕偶。