正文

基 礎 知 識(5)

iPhone & iPad Cocos2D游戲開發(fā)實戰(zhàn) 作者:(美)伊特海姆


3.4  CCNode類層次體系

所有節(jié)點都有一個公共父節(jié)點類——CCNode,它定義了除節(jié)點顯示外的多數(shù)公共屬性和方法。圖3-2顯示了從CCNode繼承的一些最重要的類,將來你會經(jīng)常使用這些類。而且,即使只用這些類,也能制作出非常出色的游戲。

3.5  CCNode類

CCNode是所有節(jié)點的基類。它是一個沒有具體顯示的抽象類,僅用于定義所有節(jié)點的公共屬性和方法。

3.5.1  節(jié)點的處理方式

CCNode類實現(xiàn)了添加、獲取以及刪除子節(jié)點的所有方法。下面列舉了一些針對子節(jié)點的處理方式:

創(chuàng)建新節(jié)點:

CCNode* childNode = [CCNode node];

把新建節(jié)點添加為子節(jié)點:

[myNode addChild:childNode z:0 tag:123];

獲取子節(jié)點:

CCNode* retrievedNode = [myNode getChildByTag:123];

利用標記刪除子節(jié)點;參數(shù)“cleanup”將令所有正在運行的動作(action)停止:

 

[myNode removeChildByTag:123 cleanup:YES];

 

利用指針刪除節(jié)點:

[myNode removeChild:retrievedNode];

刪除某個節(jié)點的所有子節(jié)點:

[myNode removeAllChildrenWithCleanup:YES];

將某個節(jié)點從其父節(jié)點中刪除:

[myNode removeFromParentAndCleanup:YES];

addChild方法中的參數(shù)“z”決定了節(jié)點的繪制順序。首先繪制z值最低的節(jié)點,最后繪制z值最高的節(jié)點。如果多個節(jié)點擁有相同的z值,就按照添加它們的先后順序進行繪制。當然,這只對有具體顯示的節(jié)點(比如精靈)有效果。

tag參數(shù)保證了你在使用getChildByTag方法時能夠區(qū)分并獲取特定節(jié)點。


上一章目錄下一章

Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號