cocos2d-X 节点(CCProcessBase.h)API

本文来自http://blog.csdn.net/runaying ,引用必须注明出处!

cocos2d-X 节点(CCProcessBase.h)API

温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记

过程的基类

///cocos2d-x-3.0alpha0/extensions/CocoStudio/Armature/animation
//过程的基类



#ifndef __CCPROCESSBASE_H__
#define __CCPROCESSBASE_H__

#include "../utils/CCArmatureDefine.h"
#include "../datas/CCDatas.h"

NS_CC_EXT_ARMATURE_BEGIN

enum AnimationType
{
    SINGLE_FRAME = -4,          //! 这个 animation 只有一个 帧
    ANIMATION_NO_LOOP,          //! 这个 animation 不会循环

    ANIMATION_TO_LOOP_FRONT,    //! 这个 animation 从前面循环
    ANIMATION_TO_LOOP_BACK,     //! 这个 animation 从后面循环

    ANIMATION_LOOP_FRONT,       //! 这个 animation 从前面循环
    ANIMATION_LOOP_BACK,        //! 这个 animation 从后面循环

    ANIMATION_MAX,

};


class  ProcessBase : public Object
{
public:
	/**
     * @js ctor
     */
    ProcessBase(void);
    /**
     * @js NA
     * @lua NA
     */
    ~ProcessBase(void);

    /**
     * 使用动画名播放动画
     *
     * @param  animation  它不会在 ProcessBase 类里面使用
     * @param  durationTo 两个动画 changing-over(变化结束)之间的帧.
     *         这个动画需要改变多少个帧
     *
     *         -1 : MovementData 使用这个值从动画设计面板里面获取
     * @param  durationTween  你想在游戏中播放的帧的数量。
     *        如果_durationTween是80,那么动画将在一个循环中播放80帧
     *
     *         -1 : MovementData 使用这个值从动画设计面板里面获取
     *
     * @param  loop   动画是否循环
     *
     *         loop < 0 : MovementData 使用这个值从动画设计面板里面获取
     *         loop = 0 : this animation is not loop
     *         loop > 0 : this animation is loop
     *
     * @param  tweenEasing Tween easing 用于计算慢动作效果
     *
     *         TWEEN_EASING_MAX :  MovementData 使用这个值从动画设计面板里面获取
     *         -1 : fade out        淡出
     *         0  : line
     *         1  : fade in             淡入
     *         2  : fade in and out  淡入淡出
     *
     */
    virtual void play(void *animation, int durationTo, int durationTween,  int loop, int tweenEasing);

    /**
     * Pause the Process        //暂停
     */
    virtual void pause();
    /**
     * Resume the Process(处理)       //恢复
     */
    virtual void resume();
    /**
     * Stop the Process(处理)         //停止
     */
    virtual void stop();


    virtual void gotoFrame(int frameIndex);

    /**
     * 你不应该调用这个函数,除非你知道你在做什么
     * 
     *
     * @param The duration since last update            //更新过程,包括当前进程,当前帧
     */
    virtual void update(float dt);

    virtual int getCurrentFrameIndex();

protected:


    /**
     * Update(float dt) 将调用此处理程序,您可以在这里处理你的逻辑
     */
    virtual void updateHandler() {};

protected:
    //! Scale the process speed                         //缩放处理速度
    CC_SYNTHESIZE(float, _processScale, ProcessScale);

    //! Set and get whether the aniamtion is pause      //设置/获取 动画是否暂停
    CC_SYNTHESIZE(bool, _isPause, IsPause);

    //! Set and get whether the aniamtion is complete   //设置/获取 动画是否完成
    CC_SYNTHESIZE(bool, _isComplete, IsComplete);

    //! Set and get whether the aniamtion is playing   //设置/获取 动画是否正在播放
    CC_SYNTHESIZE(bool, _isPlaying, IsPlaying);

    //! Current percent this process arrived            //这个过程是否达到了 百分百
    CC_SYNTHESIZE(float, _currentPercent, CurrentPercent);

    //! The raw duration                                //资源持续时间
    CC_SYNTHESIZE(int, _rawDuration, RawDuration);

    //! The animation whether or not loop                   //动画是否循环
    CC_SYNTHESIZE(AnimationType, _loopType, LoopType);

    //! The tween easing effect                             //补间动画放缓效果
    CC_SYNTHESIZE(CCTweenType, _tweenEasing, TweenEasing);

    //! The animation update speed                              //更新动画速度
    CC_SYNTHESIZE(float, _animationInternal, AnimationInternal);


protected:
    //! The durantion frame count will run              //帧要运行的长短
    int _durationTween;

    //! Current frame this process arrived, this frame is tween frame //当前帧执行完了,这个帧是帧补间动画
    float _currentFrame;
    //! Frame index it the time line                    //帧的时间线索引
    int _curFrameIndex;

    //! Next frame this process need run to         //这个过程需要运行的下一帧
    int _nextFrameIndex;


    bool _isLoopBack;
};

NS_CC_EXT_ARMATURE_END

#endif /*__CCPROCESSBASE_H__*/


你可能感兴趣的:(api,cocos2d,cocos2dx,cocos2d-x)