animation/CCProcessBase
来源:互联网 发布:分水岭算法区域增长 编辑:程序博客网 时间:2024/05/29 04:06
#ifndef __CCPROCESSBASE_H__
#define __CCPROCESSBASE_H__
#include "../utils/CCArmatureDefine.h"
#include "../datas/CCDatas.h"
NS_CC_EXT_BEGIN
enum AnimationType
{
SINGLE_FRAME = -4, //! the animation just have one frame
ANIMATION_NO_LOOP, //! the animation isn't loop
ANIMATION_TO_LOOP_FRONT, //! the animation loop from front
ANIMATION_TO_LOOP_BACK, //! the animation loop from back
ANIMATION_LOOP_FRONT, //! the animation loop from front
ANIMATION_LOOP_BACK, //! the animation loop from back
ANIMATION_MAX,
};
class CCProcessBase : public CCObject
{
public:
CCProcessBase(void);
~CCProcessBase(void);
/**
* Play animation by animation name.
*
* @param animation It will not used in the CCProcessBase Class
* @param durationTo The frames between two animation changing-over.
* It's meaning is changing to this animation need how many frames
*
* -1 : use the value from CCMovementData get from flash design panel
* @param durationTween The frame count you want to play in the game.
* if _durationTween is 80, then the animation will played 80 frames in a loop
*
* -1 : use the value from CCMovementData get from flash design panel
*
* @param loop Whether the animation is loop
*
* loop < 0 : use the value from CCMovementData get from flash design panel
* loop = 0 : this animation is not loop
* loop > 0 : this animation is loop
*
* @param tweenEasing CCTween easing is used for calculate easing effect
*
* TWEEN_EASING_MAX : use the value from CCMovementData get from flash design panel
* -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);
/**
* You should never call this function, unless you know what you do
* Update the Process, include current process, current frame and son on
*
* @param The duration since last update
*/
virtual void update(float dt);
virtual int getCurrentFrameIndex();
protected:
/**
* Update(float dt) will call this handler, you can handle your logic here
*/
virtual void updateHandler() {};
protected:
//! Scale the animation speed
CC_SYNTHESIZE_PASS_BY_REF(float, m_fAnimationScale, AnimationScale);
//! Set and get whether the aniamtion is pause
CC_SYNTHESIZE_PASS_BY_REF(bool, m_bIsPause, IsPause);
//! Set and get whether the aniamtion is complete
CC_SYNTHESIZE_PASS_BY_REF(bool, m_bIsComplete, IsComplete);
//! Set and get whether the aniamtion is playing
CC_SYNTHESIZE_PASS_BY_REF(bool, m_bIsPlaying, IsPlaying);
//! Current percent this process arrived
CC_SYNTHESIZE_PASS_BY_REF(float, m_fCurrentPercent, CurrentPercent);
//! The raw duration
CC_SYNTHESIZE_PASS_BY_REF(int, m_iRawDuration, RawDuration);
//! The animation whether or not loop
CC_SYNTHESIZE_PASS_BY_REF(AnimationType, m_eLoopType, LoopType);
//! The tween easing effect
CC_SYNTHESIZE_PASS_BY_REF(CCTweenType, m_eTweenEasing, TweenEasing);
//! The animation update speed
CC_SYNTHESIZE_PASS_BY_REF(float, m_fAnimationInternal, AnimationInternal);
protected:
//! The durantion frame count will run
int m_iDurationTween;
//! Current frame this process arrived, this frame is tween frame
float m_fCurrentFrame;
//! Frame index it the time line
int m_iCurFrameIndex;
//! Next frame this process need run to
int m_iNextFrameIndex;
bool m_bIsLoopBack;
};
NS_CC_EXT_END
#endif /*__CCPROCESSBASE_H__*/
- animation/CCProcessBase
- cocos2d-X 节点(CCProcessBase.h)API
- animation
- animation
- Animation
- Animation
- Animation
- Animation
- Animation
- Animation
- Animation
- Animation
- animation
- Animation
- Animation
- animation
- Animation
- Animation
- Struts 2.1.6 精简实例系列教程(3):新闻管理Model层的开发(整
- animation/CCTween
- Centos上Apache重启,mysql重启,nginx重启方法
- jsp页面中的html:radio 如何struts传递
- 递归手动生成treepanel的儿孙树节点
- animation/CCProcessBase
- 01背包问题(动态规划)python实现
- 批处理产生的文件名后缀带有问号
- BMFont中文字体图集制作的方法~(for unity ngui)
- javascript中的类式继承
- web 调试 log 输出
- MVC以外的另两种软件架构(ORM,IOC)
- animation/CCArmatureAnimation
- redis 链接