本文来自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__*/

本文详细介绍了Cocos2d-X中ProcessBase类的功能与使用方法,包括动画播放、暂停、恢复及停止等操作,并解释了动画类型及其参数的意义。
3万+

被折叠的 条评论
为什么被折叠?



