cocos2d笔记——CCNode与CCAction
CCNode
CCNode是所有node的基類,它是一個抽象類,沒有可視化表示形式,定義了所有node共有的屬性和方法。
操作子節(jié)點的一些方法:
CCNode* childNode = [CCNode node];//創(chuàng)建一個新節(jié)點
[myNode addChild:childNode z:0 tag:123];//添加子節(jié)點
CCNode* retrievedNode = [myNode getChildByTag:123];//根據(jù)標簽取得節(jié)點
[myNode removeChildByTag:123 cleanup:YES];//根據(jù)標簽刪除子節(jié)點,cleanup會刪除所有正在運行的動作
[myNode removeChild:retrieveNode];//根據(jù)指向子結點的指針刪除本子節(jié)點
[myNode removeAllChildrenWithCleanup:YES];//刪除所有子節(jié)點
[myNode removeFromParentAndCleanup:YES];//從父節(jié)點中刪除myNode
Action 動作
節(jié)點可以有動作,以后會提到。現(xiàn)在制止到動作可以包括移動、旋轉(zhuǎn)、放大縮小和其他隨時間推移做一些事。
CCAction* action= [CCBlink actionWithDuration:10 blinks:20];//動作聲明,一個閃爍動作
[myNode runAction:action];//讓節(jié)點閃爍
CCAction* retrievedAction = [myNode getActionByTag:234];//根據(jù)標簽取得節(jié)點
[myNode stopActionByTag:234];//根據(jù)標簽停止動作
[myNode stopAction:action];//根據(jù)指針停止動作
[myNode stopAllActions];//停止本節(jié)點的一切動作
Scheduled Message 定時消息
節(jié)點可以觸發(fā)定時消息。很多情況下,你需要一個特定的更新方法以運行在某個結點上進行一些處理,比如沖突檢測。最簡單的方法就是像下面這樣在每一幀都定期調(diào)用方法:
-(void) scheduleUpdates{[self scheduleUpdate];
}
-(void) update:(ccTime)delta{
//此方法在每一幀都調(diào)用
} 復制代碼
非常簡單是吧?注意update有一個固定的特征,意思是它一直用此方式定義。參數(shù)delta是代表從上次調(diào)用后過去的時間。這是每幀都定時觸發(fā)更新的首選方式,不過有些情況下也會使用一些更靈活的更新方法。
如果你需要一個不同的方法,或者你不想讓這個方法每幀調(diào)用而是每十分之一秒調(diào)用,那就需要用下面這個:
-(void) scheduleUpdates{[self schedule:@selector(updateTenTimesPerSecond:) interval:0.1f];
}
-(void) updateTenTimesPerSecond:(ccTime)delta{
//this method is called according to its interval, ten times per second
} 復制代碼
總結
以上是生活随笔為你收集整理的cocos2d笔记——CCNode与CCAction的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 75-76
- 下一篇: C#DataGridView添加序号