Functions
transition.newEasing(action, easingName, more)
为图像创造效果
transition.execute(target, action, args)
运行一个动作效果
transition.rotateTo(target, args)
将显示对象旋转到指定角度,并返回 CCAction 动作对象。
transition.moveTo(target, args)
将显示对象移动到指定位置,并返回 CCAction 动作对象。
transition.fadeTo(target, args)
将显示对象的透明度改变为指定值。并返回 CCAction 动作对象。

transition.scaleTo(target, args)
将显示对象缩放到指定比例,并返回 CCAction 动作对象。
transition.sequence(actions)
创建一个动作序列对象。
transition.playAnimationOnce(target, animation, removeWhenFinished, onComplete, delay)
在显示对象上播放一次动画。并返回 CCAction 动作对象。

Functions

transition.newEasing()

transition.newEasing(action, easingName, more)

为图像创造效果

transition.execute()

transition.execute(target, action, args)

运行一个动作效果


-- 等待 1.0 后開始移动对象
-- 耗时 1.5 秒。将对象移动到屏幕中央
-- 移动使用 backout 缓动效果
-- 移动结束后运行函数,显示 move completed
transition.execute(sprite, CCMoveTo:create(1.5, CCPoint(display.cx, display.cy)), {
delay = 1.0,
easing = "backout",
onComplete = function()
print("move completed")
end,
})

transition.execute() 是一个强大的工具,能够为原本单一的动作加入各种附加特性。

transition.execute() 的參数表格支持下列參数:

  • delay: 等待多长时间后開始运行动作
  • easing: 缓动效果的名字及可选的附加參数,效果名字不区分大写和小写
  • onComplete: 动作运行完毕后要调用的函数
  • time: 运行动作须要的时间

transition.execute() 支持的缓动效果:

  • backIn
  • backInOut
  • backOut
  • bounce
  • bounceIn
  • bounceInOut
  • bounceOut
  • elastic, 附加參数默觉得 0.3
  • elasticIn, 附加參数默觉得 0.3
  • elasticInOut, 附加參数默觉得 0.3
  • elasticOut, 附加參数默觉得 0.3
  • exponentialIn, 附加參数默觉得 1.0
  • exponentialInOut, 附加參数默觉得 1.0
  • exponentialOut, 附加參数默觉得 1.0
  • In, 附加參数默觉得 1.0
  • InOut, 附加參数默觉得 1.0
  • Out, 附加參数默觉得 1.0
  • rateaction, 附加參数默觉得 1.0
  • sineIn
  • sineInOut
  • sineOut

Parameters

  • CCNode target 显示对象
  • CCAction action 动作对象
  • table args 參数表格对象

Returns

  • mixed 结果

transition.rotateTo()

transition.rotateTo(target, args)

将显示对象旋转到指定角度。并返回 CCAction 动作对象。


-- 耗时 0.5 秒将 sprite 旋转到 180 度
transition.rotateTo(sprite, {rotate = 180, time = 0.5})

Parameters

  • CCNode target 显示对象
  • table args 參数表格对象

Returns

  • mixed 结果

transition.moveTo()

transition.moveTo(target, args)

将显示对象移动到指定位置,并返回 CCAction 动作对象。


-- 移动到屏幕中心
transition.moveTo(sprite, {x = display.cx, y = display.cy, time = 1.5})
-- 移动到屏幕左边,不改变 y
transition.moveTo(sprite, {x = display.left, time = 1.5})
-- 移动到屏幕底部,不改变 x
transition.moveTo(sprite, {y = display.bottom, time = 1.5})

Parameters

  • CCNode target 显示对象
  • table args 參数表格对象

Returns

  • mixed 结果

transition.fadeTo()

transition.fadeTo(target, args)

将显示对象的透明度改变为指定值,并返回 CCAction 动作对象。


-- 无论显示对象当前的透明度是多少,终于设置为 128
transition.fadeTo(sprite, {opacity = 128, time = 1.5})

Parameters

  • CCNode target 显示对象
  • table args 參数表格对象

Returns

  • mixed 结果

transition.scaleTo()

transition.scaleTo(target, args)

将显示对象缩放到指定比例,并返回 CCAction 动作对象。


-- 总体缩放为 50%
transition.scaleTo(sprite, {scale = 0.5, time = 1.5})
-- 单独水平缩放
transition.scaleTo(sprite, {scaleX = 0.5, time = 1.5})
-- 单独垂直缩放
transition.scaleTo(sprite, {scaleY = 0.5, time = 1.5})

Parameters

  • CCNode target 显示对象
  • table args 參数表格对象

Returns

  • mixed 结果

transition.sequence()

transition.sequence(actions)

创建一个动作序列对象。


local sequence = transition.sequence({
CCMoveTo:create(0.5, CCPoint(display.cx, display.cy)),
CCFadeOut:create(0.2),
CCDelayTime:create(0.5),
CCFadeIn:create(0.3),
})
sprite:runAction(sequence)

Parameters

  • table args 动作的表格对象

Returns

  • CCSequence 动作序列对象

transition.playAnimationOnce()

transition.playAnimationOnce(target, animation, removeWhenFinished, onComplete, delay)

在显示对象上播放一次动画,并返回 CCAction 动作对象。


local frames = display.newFrames("Walk%04d.png", 1, 20)
local animation = display.newAnimation(frames, 0.5 / 20) -- 0.5s play 20 frames
transition.playAnimationOnce(sprite, animation)

还能够用 CCSprite 对象的 playAnimationOnce() 方法来直接播放动画:


local frames = display.newFrames("Walk%04d.png", 1, 20)
local animation = display.newAnimation(frames, 0.5 / 20) -- 0.5s play 20 frames
sprite:playAnimationOnce(animation)

playAnimationOnce() 提供了丰富的功能,比如在动画播放完毕后就删除用于播放动画的 CCSprite 对象。比如一个爆炸效果:


local frames = display.newFrames("Boom%04d.png", 1, 8)
local boom = display.newSprite(frames[1]) -- playAnimationOnce() 第二个參数为 true 表示动画播放完后删除 boom 这个 CCSprite 对象
-- 这样爆炸动画播放完成,就自己主动清理了不须要的显示对象
boom:playAnimationOnce(display.newAnimation(frames, 0.3/ 8), true)

此外,playAnimationOnce() 还同意在动画播放完毕后运行一个指定的函数,以及播放动画前等待一段时间。

合理运用这些功能。能够大大简化我们的游戏代码。

Parameters

  • CCNode target 显示对象
  • CCNode animation 动作对象
  • boolean removeWhenFinished 播放完毕后删除显示对象
  • function onComplete 播放完毕后要运行的函数
  • number delay 播放前等待的时间

Returns

  • table 动作表格对象

quick-cocos2d-x transition使用方法的更多相关文章

  1. 发布Qt Quick桌面应用程序的方法(使得planets在XP上运行)

    发布Qt Quick桌面应用程序的方法 Qt是一款优秀的跨平台开发框架,它可以在桌面.移动平台以及嵌入式平台上运行.目前Qt 5介绍程序发布的文章帖子比较少.大家又非常想要知道如何发布Qt应用程序,于 ...

  2. Cocos2d 利用继承Draw方法制作可显示三维数据(宠物三维等)的三角形显示面板

    很久没有写博客了,这段时间比较忙,又是搬家又是做自己的项目,还有太多琐碎的事情缠身,好不容易抽出时间把最近自己做的一些简单例子记录一下. 在我的项目中,我需要一个显示面板来显示游戏中的一个三维数据,例 ...

  3. cocos2d中各种action方法的应用

    Action示例: 1.移动动作 cc.MoveBy:create(time, posX, posY)  在time时间内,相对当前位置基础上移动x,y个单位. cc.MoveTo:create(ti ...

  4. cocos2d 场景转换的方法执行顺序

    转自:http://shanbei.info/the-cocos2d-scene-conversion-method-execution-order.html 如果你希望在场景转换的过程中使用过渡效果 ...

  5. 发布Qt Quick桌面应用程序的方法

    这个对话框出现的原因可能是msvcrt.dll在XP这个版本没有vsprintf_s这样的动态库.目前还暂时没有找到好的解决思路,稍后我再单独研究一下,看这个事情该如何解决. 解决办法有很多,我没有一 ...

  6. Cocos2d 使用控制台打印的方法

    1.打开当前项目的win32解决方案. 2.在解决方案管理器的win32文件夹下打开main.cpp 3.增加以下代码: #define USE_WIN32_CONSOLE //以下加到入口函数 #i ...

  7. css3渐变 transition使用方法

    <style> div{ width:300px; height:300px; background:#89F; margin:100px auto; transition:width 1 ...

  8. SpriteKit中类似Cocos2D的CCActionSpawn并发方法GroupAction

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们知道在Cocos2D中对于并发Action的处理可以使用C ...

  9. cocos2d JS-(JavaScript) 动态生成方法的例子

    function User(properties) { for (var i in properties) { (function (which) { var p = i; which["g ...

随机推荐

  1. vue-cli打包后图片路径取不到的问题

    今天准备把vue-cli build 的文件发到服务器上单发现会出现图片找不到的问题 解决办法如下 修改 assetsPublicPath: './' .打开webpack.prod.conf.js, ...

  2. 转载:C++ 多继承和虚继承的内存布局

    C++ 多继承和虚继承的内存布局[已翻译100%] 英文原文:Memory Layout for Multiple and Virtual Inheritance 标签: <无> run_ ...

  3. linux内核分析之进程地址空间【转】

    转自:http://blog.csdn.net/bullbat/article/details/7106094 版权声明:本文为博主原创文章,未经博主允许不得转载. 本文主要介绍linux内核中进程地 ...

  4. java中数组有没有length()方法?string没有lenght()方法?

    java中数组有没有length()方法,求数组的长度可以使用数组的length属性. int[] arr={1,2,3,4,5}; int length=arr.length;//求数组的长度 -- ...

  5. OutputDebugString方便格式化WIN32封装

    void TRACE(LPCTSTR lpszFmt, ...) { va_list args; va_start(args, lpszFmt); ; TCHAR *lpszBuf = (TCHAR* ...

  6. HDU 1171 Big Event in HDU【01背包/求两堆数分别求和以后的差最小】

    Big Event in HDU Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...

  7. Codeforces 946G Almost Increasing Array (树状数组优化DP)

    题目链接   Educational Codeforces Round 39 Problem G 题意  给定一个序列,求把他变成Almost Increasing Array需要改变的最小元素个数. ...

  8. java的IO,AIO简单对比

    以下内容转载lzzzl Channel 通道 Buffer 缓冲区 Selector 选择器 其中Channel对应以前的流,Buffer不是什么新东西,Selector是因为nio可以使用异步的非堵 ...

  9. 腾讯消消乐 (状态压缩DP)

    腾讯消消乐 题意 给出长度为 n 的序列,每次可以选择删除序列的一个连续区间,要求这一段区间内所有数最大公约数不小于 k ,删除后剩下的序列仍然构成连续序列. 定义 f(i) 为进行 i 次操作将整个 ...

  10. 【 模_板 】 for NOIP 2017

    高精度 #include <cstring> #include <cstdio> #define max(a,b) (a>b?a:b) inline void read( ...