Cocos2d-x基础:TestCpp之ActionsTest




动作效果,都是作用于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:组个各种动作的效果。


看懂结构图后,大部分的动作都是类似,也就不做笔记,也不整理了。

                

        

        

        


发布了31 篇原创文章 · 获赞 2 · 访问量 7万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章