动作效果,都是作用于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:组个各种动作的效果。
看懂结构图后,大部分的动作都是类似,也就不做笔记,也不整理了。