動作效果,都是作用於CCNode。
那CCSprite精靈也屬於CCNode,當然就可以使用動作啦~
精靈的縮放:
setScaleX(float fScaleX);
setScaleY(float fScaleY);
理解:設置節點X、Y軸的比例因子,默認爲1.0f,
如果參數爲負數,則改變座標軸的方向。
精靈的透明度:
void CCSprite::setOpacity(GLubyte opacity)
理解: 設置精靈的透明程度。參數Glubyte是unsigned char類型,範圍是0~255。0 是全透明。
精靈的顏色:
void CCSprite::setColor(const ccColor3B& color3)
理解:參數是一個顏色結構體,結構體有三個參數:分別是r,g,b,且都是unsigned char類型。精靈的動作概述:
CCAction * CCNode::runAction(CCAction* action)
理解:參數是一個CCAction動作。可以是單個動作,也可以是CCSequence一系列動作(按順序執行)。但系列動作中只能是CCFiniteTimeAction類及其子類。
主要的動作類一共有三個,從左到右:有限時間的動作類、跟蹤動作類、動作速度類。
將精靈(節點)添加動作效果,需要調用上面的runAction()語句。那麼我們只需要創建想要的Action對象,直接調用就好了。
還是一步一步跟着TestCpp來學習。
精靈的移動:
CCActionInterval* actionTo = CCMoveTo::create(5, ccp(s.width-40, s.height-40));
CCActionInterval* actionBy = CCMoveBy::create(1, ccp(s.width-40, s.height-40));
CCActionInterval* actionByBack = actionBy->reverse();
理解:CCMoveto和CCmoveBy都是CCactionInterval的子類。Moveto是在一段時間內移動到一個絕對座標位置。Moveby是在一段時間內移動到以自己爲原點的相對座標位置。reverse()就是反向動作。
精靈的旋轉:
和移動類似。
CCRotateTo是移動到特定的角度。
CCRotateBy是順時針旋轉一個角度。
剩下幾個重要的類:
CCRepeatForever:不斷重複動作。
CCSequence:組個各種動作的效果。
看懂結構圖後,大部分的動作都是類似,也就不做筆記,也不整理了。