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. Linux内核中断引入用户空间(异步通知机制)【转】

    转自:http://blog.csdn.net/kingdragonfly120/article/details/10858647 版权声明:本文为博主原创文章,未经博主允许不得转载. 当Linux内 ...

  2. 中国大陆无法访问Steve Purcell的emacs配置解决办法

    因为大陆网络问题,没办法访问Steve Purcell的emacs配置中的melpa.org,所以我们更改目录即可. 1.删除自己的配置. $ rm ~/.emacs $ rm -rf ~/.emac ...

  3. 优化html中mp4视频加载速度

    如果使用参数faststart就会在生成完上边结构之后将moov移动到mdat前面:ffmpeg –i input.flv –c copy –f mp4 –movflags faststart out ...

  4. hdu 5109(构造数+对取模的理解程度)

    Alexandra and A*B Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...

  5. Javascript中call、apply函数浅析

    call/apply函数作用其实就是改变this的取值,有一句话是:谁调用的这个方法那方法里的this就是指谁,而有时我们会需要改变this值,所以call/apply就能派上用场. 下面我写个方法来 ...

  6. 16aspx源码要求安装.csproj类型怎么安装

    更改打开方式(不要双击打开),右键项目-打开方式选VS打开(应该会出现一个转换界面,转换下就好了).如果没有出那个界面我也没办法了

  7. PostgreSQL备份和恢复数据表

    备份数据表: pg_dump -U user_name db_name -t table_name -f /tmp/backup_file.suffix 恢复数据表: 方法1: 登录数据库:\i /t ...

  8. (15)C#集合

    http://blog.csdn.net/hcw_peter/article/details/3980723 集合分为非泛型集合和泛型集合 ,泛型集合可以指定放入集合中的类型. 一.非泛性集合 引用命 ...

  9. 中矿大新生赛 A 求解位数和【字符串】

    时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld 题目描述 给出一个数x,求x的所有位数的和. 输入描述: 第 ...

  10. LCA【bzoj3364】 [Usaco2004 Feb]Distance Queries 距离咨询

    Description  奶牛们拒绝跑马拉松,因为她们悠闲的生活无法承受约翰选择的如此长的赛道.因此约翰决心找一条更合理的赛道,他打算咨询你.此题的地图形式与前两题相同.但读入地图之后,会有K个问题. ...