Cocos2dx-3.1.x中探究Action的子类

查看Action类的继承关系

Ref, Clonable->Action->FiniteTimeAction->ActionInterval

发现常用的动作都是继承ActionInterval的,共有29个,代表有变化的过程动作(可以看出普遍动作都有时间参数)

成对使用,绝对路径To是没有反动作的

功能动作动作2
缩放ScaleByScaleTo
贝塞尔曲线BezierByBezierTo
跳跃JumpByJumpTo
倾斜SkewBySkewTo
移动MoveByMoveTo
色调TintByTintTo
旋转RotateByRotateTo
重复RepeatForeverRepeat
节点的content size的大小ResizeByResizeTo

配合上面的组合使用

功能动作
动画Animate
延时动作DelayTime
从暗逐渐变亮FadeIn
从亮逐渐变暗FadeTo
从亮逐渐变消失FadeOut
所有动作同时执行Spawn
闪烁Blink
序列动作Sequence
从开始处到达目的地执行自定义函数ActionFloat
让节点执行该ActionTargetedAction
时间逆序执行,实际是无序的ReverseTime

注意

ResizeBy,ResizeTo, Cocos2d-x v3.14新增动作类:ResizeBy和ResizeTo,和ScaleBy、ScaleTo不同的是,ResizeBy和ResizeTo改变的是节点的content size的大小。这种动作对于支持九宫格特性的节点的缩放效果比ScaleBy和ScaleTo好,因为ScaleBy和ScaleTo是对节点做整体缩放。
By是相对,To是绝对路径,每个action都有反动作,但是To的反动作都没有实现,By的都实现了,

下面看reverse方法实现

MoveBy的reverse方法实现
c++
MoveBy* MoveBy::reverse() const
{
return MoveBy::create(_duration, -_positionDelta);
}

MoveTo的reverse方法实现
c++
MoveTo* MoveTo::reverse() const
{
CCASSERT(false, "reverse() not supported in MoveTo");
return nullptr;
}

以上,OVER

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值