我们用Silverlight框架开发WP8的应用程序的时,编写动画可以使用缓动效果来实现缓动动画对吧,那么在Cocos2d-x框架里面我们一样是可以缓动动作(缓动动画),其实技术的东西都是想通的,如果你很好地理解了缓动动画,那么对于Cocos2d-x框架的缓动动作其实就是一碟小菜了。那么对于缓动动作我们可以理解为给普通的动作加上了一个加速度,让其运动的效果更加符合我们的自然规律。那么在Cocos2d-x框架里面内置了一系列常用的缓动动作,我们来看下下面的这图类的继承图。

头文件:

 #include <CCActionEase.h>                       

继承关系图:

 
 示例代码:
//在init方法里面初始化当前的实例
bool HelloWorld::init()
{
bool bRet = false;
do
{
//CCLayer进行初始化,初始化失败跳出循环
if ( !CCLayer::init() )
{
break;
}
//获取手机屏幕的大小
CCSize size = CCDirector::sharedDirector()->getWinSize();
//创建精灵1
CCSprite *cat1 = CCSprite::create("cat.png");
cat1->setPosition(ccp(, ));
cat1->setPosition(ccp(, ));
this->addChild(cat1);
//创建精灵2
CCSprite *cat2 = CCSprite::create("cat.png");
cat2->setPosition(ccp(, ));
cat2->setPosition(ccp(, ));
this->addChild(cat2);
//创建精灵3
CCSprite *cat3 = CCSprite::create("cat.png");
cat3->setPosition(ccp(, ));
cat3->setPosition(ccp(,));
this->addChild(cat3);
//匀速的移动动作
CCActionInterval* move = CCMoveBy::create(, CCPointMake(,));
CCActionInterval* move_back = move->reverse();
CCFiniteTimeAction* seq1 = CCSequence::create( move, move_back, NULL);
cat1->runAction( CCRepeatForever::create((CCActionInterval*)seq1));
//添加EaseBackIn缓动效果的移动动画
CCActionInterval* move_ease_in = CCEaseBackIn::create((CCActionInterval*)(move->copy()->autorelease()) );
CCActionInterval* move_ease_in_back = move_ease_in->reverse();
CCFiniteTimeAction* seq2 = CCSequence::create( move_ease_in, move_ease_in_back, NULL);
cat2->runAction( CCRepeatForever::create((CCActionInterval*)seq2));
//添加EaseBackOut缓动效果的移动动画
CCActionInterval* move_ease_out = CCEaseBackOut::create((CCActionInterval*)(move->copy()->autorelease()) );
CCActionInterval* move_ease_out_back = move_ease_out->reverse();
CCFiniteTimeAction* seq3 = CCSequence::create( move_ease_out, move_ease_out_back, NULL);
cat3->runAction( CCRepeatForever::create((CCActionInterval*)seq3)); //接收界面的的触摸事件
setTouchEnabled(true); bRet = true;
} while ();
//返回成功
return bRet;
}

运行的效果,注意观察使用了缓动动作的精灵的运动情况:

[Cocos2d-x For WP8]EaseActions缓动动作的更多相关文章

  1. Learning Cocos2d-x for WP8(8)——动作Action

    原文:Learning Cocos2d-x for WP8(8)--动作Action 游戏很大程度上是由动作画面支撑起来的. 动作分为两大类:瞬间动作和延时动作. 瞬间动作基本等同于设置节点的属性,延 ...

  2. requestAnimationFrame之缓动的应用

    之前需要使用的定时器的时,立马想到的是setInterval(),用着用着就成为习惯,并没有遇到什么不妥之处.习惯性的操作往往容易让一个人拒绝尝试一些其他的方法.现在的方法用得好好的,没事干啥找其他法 ...

  3. window.requestAnimationFrame与Tween.js配合使用实现动画缓动效果

    window.requestAnimationFrame 概述 window.requestAnimationFrame()这个方法是用来在页面重绘之前,通知浏览器调用一个指定的函数,以满足开发者操作 ...

  4. DOTween-Ease缓动函数

    Ease.InQuad 不知道Quad代表什么意思  Ease.InQuart 有1/4的时间是没有缓动.  Ease.InQuint, 是1/5时间没有缓动.  Ease.InExpo 一直很平缓, ...

  5. 过渡与动画 - 缓动效果&基于贝塞尔曲线的调速函数

    难题 给过渡和动画加上缓动效果是一种常见的手法(比如具有回弹效果的过渡过程)是一种流行的表现手法,可以让界面显得更加生动和真实:在现实世界中,物体A点到B点往往也是不完全匀速的 以纯技术的角度来看,回 ...

  6. JS特效@缓动框架封装及应用

    | 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.变量CSS样式属性获取/赋值方法 给属性赋值:(既能获取又能赋值) 1)div.style.width 单个赋值:点语法,这个方法比较固定 ...

  7. tween.js缓动(补间动画)

    一.理解tween.js 如果看到上面的已经理解了,可以跳过下面的部分.下面为对Tween.js的解释 下面就介绍如何使用这个Tween了,首先b.c.d三个参数(即初始值,变化量,持续时间)在缓动开 ...

  8. quick-cocos2dx 之transition.execute()的缓动效果

    注:本文图片来源(http://hosted.zeh.com.br/tweener/docs/en-us/misc/transitions.html. 侵权请告知,即刻删除) 什么是缓动, 缓动(ea ...

  9. 【WPF学习】第五十一章 动画缓动

    线性动画的一个缺点是,它通常让人觉得很机械且不能够自然.相比而言,高级的用户界面具有模拟真实世界系统的动画效果.例如,可能使用具有触觉的下压按钮,当单击时按钮快速弹回,但是当没有进行操作时它们会慢慢地 ...

随机推荐

  1. 在Windows Server 2012 中安装 .NET 3.5 Framework

    问题 如今,仍然有许多程序和应用需要依靠.NET 3.5 framework 来运行.在Windows Server 2012中,微软提供了.NET 3.5 和.NET 4.5的安装选项以为你的应用程 ...

  2. 技术分享:WIFI钓鱼的入门姿势

    简介 该实验先是搭建一个测试环境,然后创建一个假的无线接入点,把网络连接连接到假的接入点并且强迫用户连接假的无线点. 事先准备 1.无线网卡:无线网卡用于数据包的嗅探和注入. 2. Backtrack ...

  3. JSoup——用Java解析html网页内容

    当需要从网页上获取信息时,需要解析html页面.筛选指定标签,并获取其值是必不可少的操作,解析html页面这方面的利器,Python有BeautifulSoup,Java一直没有好的工具,之前的Htm ...

  4. Install ssdb-rocks on CentOS 6

    Install ssdb-rocks on CentOS 6 C.C.  发表于 2014年08月10日 20:14 | Hits: 649 为了优化节操精选的弹幕系统,打算更换到Facebook的R ...

  5. 【Markdown】notepad++ 支持 markdown语法、预览

    Notepad++中支持Markdown   最近在学习Markdown语言的使用,很想在XP主机上使用Markdown的离线编辑器,但MarkdownPad.作业部分的离线客户端都不能再XP上运行, ...

  6. 【JAVA、C++】LeetCode 010 Regular Expression Matching

    Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...

  7. codeforces B. The Fibonacci Segment 解题报告

    题目链接:http://codeforces.com/problemset/problem/365/B 题目意思:简单来说,就是要找出最长的斐波纳契长度. 解决的方法不难,但是要注意更新左区间和右区间 ...

  8. 何时使用hadoop fs、hadoop dfs与hdfs dfs命令(转)

    hadoop fs:使用面最广,可以操作任何文件系统. hadoop dfs与hdfs dfs:只能操作HDFS文件系统相关(包括与Local FS间的操作),前者已经Deprecated,一般使用后 ...

  9. js prototype

    1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展.我们称B的原型为A. 2 javasc ...

  10. .net学习笔记---HttpRuntime类

    HttpRuntime在ASP.NET处理请求中负责的是创建HttpContext对象以及调用HttpApplicationFactory创建HttpApplication. 其定义如下: publi ...