• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
养眼大魔王
博客园    首页    新随笔    联系   管理    订阅  订阅

cocos代码研究(10)ActionEase子类学习笔记

理论部分

缓动动作的基类,继承自 ActionInterval类。ActionEase本身是一个抽象的概念父类,开发者最好不要在代码中直接创建它的对象,因为它没有具体的执行效果,这一类的子类速度变化大致可以划分成三种。

  • 由快变慢;
  • 由慢变快;
  • 又慢变快再由快变慢;

被 EaseBackIn, EaseBackInOut, EaseBackOut, EaseBezierAction, EaseBounce, EaseCircleActionIn, EaseCircleActionInOut, EaseCircleActionOut, EaseCubicActionIn, EaseCubicActionInOut, EaseCubicActionOut, EaseElastic, EaseExponentialIn,EaseExponentialInOut, EaseExponentialOut, EaseQuadraticActionIn, EaseQuadraticActionInOut, EaseQuadraticActionOut, EaseQuarticActionIn, EaseQuarticActionInOut, EaseQuarticActionOut, EaseQuinticActionIn, EaseQuinticActionInOut,EaseQuinticActionOut, EaseRateAction, EaseSineIn, EaseSineInOut , 以及 EaseSineOut 继承.

代码部分

EaseRateAction类及其子类被 EaseIn, EaseInOut , EaseOut的API 

设定速率。
void setRate (float rate)

获取速率
float getRate () const

用内部动作和速率参数来创建一个动作。
static EaseRateAction * create (ActionInterval *action, //一个给定的内部动作
float rate) //一个给定的速率

用内部动作和速率参数来创建一个由慢到快的动作
static EaseIn * create (ActionInterval *action, //内部动作。
float rate) //速率。

用内部动作和速率参数来创建一个由快到慢的动作。
static EaseOut * create (ActionInterval *action, //内部动作。
float rate) //速率。

用内部动作和速率参数来创建一个从慢到快再从快到慢的动作。
static EaseInOut * create (ActionInterval *action, //内部动作。
float rate) //速率。

实例:

    auto move = MoveBy::create(3, Vec2(VisibleRect::right().x-130,0));
    auto move_back = move->reverse();
    
    auto move_ease_in = EaseIn::create(move->clone(), 2.5f);
    auto move_ease_in_back = move_ease_in->reverse();
    
    auto move_ease_out = EaseOut::create(move->clone(), 2.5f);
    auto move_ease_out_back = move_ease_out->reverse();

 

posted @ 2015-10-07 15:21  养眼大魔王  阅读(2920)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3