cocos2d-X 节点(CCTween.h)API
本文来自http://blog.csdn.net/runaying ,引用必须注明出处!cocos2d-X 节点(CCSpriteFrameCache.h)API温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记
·
本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
cocos2d-X 节点(CCTween.h)API
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记
补间动画
///cocos2d-x-3.0alpha0/extensions/CocoStudio/Armature/animation
//补间动画
#ifndef __CCTWEEN_H__
#define __CCTWEEN_H__
#include "CCProcessBase.h"
#include "../utils/CCTweenFunction.h"
NS_CC_EXT_ARMATURE_BEGIN
class Bone;
class ArmatureAnimation;
class Tween : public ProcessBase
{
public:
/**
* Create with a Bone
* @param bone the Bone Tween will bind to //这个bone 将绑定到 Bone Tween
*/
static Tween *create(Bone *bone);
public:
/**
* @js ctor
*/
Tween(void);
/**
* @js NA
* @lua NA
*/
virtual ~Tween(void);
/**
* Init with a Bone
* @param bone the Bone Tween will bind to
*/
virtual bool init(Bone *bone);
/**
* 开始过程
*
* @param movementBoneData the MovementBoneData 包含了所有的 FrameData
* @param durationTo 这个动画需要改变 的帧的数量
* @param durationTween 你想在游戏中播放的帧的数量。
* 如果_durationTween是80,那么动画将在一个循环中播放80帧
*
* @param loop w动画是否循环
*
* loop < 0 : MovementData 使用这个值从 action 编辑器里面获取
* loop = 0 : this animation is not loop
* loop > 0 : this animation is loop
*
* @param tweenEasing Tween easing 用于计算慢动作效果
*
* TWEEN_EASING_MAX : MovementData 使用这个值从 action 编辑器里面获取
* -1 : fade out 淡出
* 0 : line
* 1 : fade in 淡入
* 2 : fade in and out 淡入淡出
*
*/
virtual void play(MovementBoneData *movementBoneData, int durationTo, int durationTween, int loop, int tweenEasing);
inline void setAnimation(ArmatureAnimation *animation)
{
_animation = animation;
}
inline ArmatureAnimation *getAnimation() const
{
return _animation;
}
protected:
/**
* Update(float dt) 将调用此处理程序,您可以在这里处理你的逻辑
*/
virtual void updateHandler();
/**
* 计算当前帧是否到达,如果当前帧有时间监听,那么调用事件监听
*/
virtual float updateFrameData(float currentPercent);
/**
* 计算_from和_TO的之间的值,并把它送给帧数据
*/
virtual void setBetween(FrameData *from, FrameData *to, bool limit = true);
/**
* 按照百分比来计算当前FrameData与补间效果
*/
virtual FrameData *tweenNodeTo(float percent, FrameData *node = NULL);
/**
* 按照百分比来计算当前的颜色与补间效果
*/
virtual void tweenColorTo(float percent, FrameData *node);
/**
* 显示更新索引,当到达一个关键帧过程的关键帧事件
*/
virtual void arriveKeyFrame(FrameData *keyFrameData);
protected:
//! 弱引用到当前MovementBoneData。该数据是在数据池
CC_SYNTHESIZE(MovementBoneData *, _movementBoneData, MovementBoneData)
FrameData *_tweenData; //! 计算补间动画帧数据, //! the Bone's tweenData 是弱引用
FrameData *_from; //! From 帧数据,用于值之间的计算
FrameData *_to; //! To frame 帧数据,用于值之间的计算
FrameData *_between; //! Between 帧数据,用于值之间的计算 FrameData(m_pNode) 的值
Bone *_bone; //! 一个 Bone 的弱引用
CCTweenType _frameTweenEasing; //! 获取当前帧使用的补间动画效果
int _betweenDuration; //! 当前关键帧将持续_betweenDuration帧
int _totalDuration;
int _fromIndex; //! MovementBoneData的帧列表中的当前帧的索引, 它和 m_iFrameIndex 不同
int _toIndex; //! MovementBoneData的帧列表中的下一帧的索引, 它和 m_iFrameIndex 不同
ArmatureAnimation *_animation;
};
NS_CC_EXT_ARMATURE_END
#endif /*__CCTWEEN_H__*/
更多推荐
已为社区贡献113条内容
所有评论(0)