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. usb驱动的基本结构和函数简介【转】

    转自:http://blog.csdn.net/jeffade/article/details/7698404 几个重要的结构 struct--接口 struct usb_interface { /* ...

  2. MyBatis报错 Parameter '0' not found. Available parameters are [arg1, arg0, param1, param2]

    修改 <update id="updateStatusById" parameterType="java.lang.Integer"> update ...

  3. 【linux高级程序设计】(第十三章)Linux Socket网络编程基础 2

    BSD Socket网络编程API 创建socket对象 int socket (int __domain, int __type, int __protocol) :成功返回socket文件描述符, ...

  4. CentOS系统最小化安装没有wget解决方案

    -bash: wget: command not found的两种解决方法 今天给服务器安装新LNMP环境时,wget 时提示 -bash:wget command not found,很明显没有安装 ...

  5. HDU 4920.Matrix multiplication-矩阵乘法

    Matrix multiplication Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/ ...

  6. Python与数据库[2] -> 关系对象映射/ORM[1] -> sqlalchemy 的基本使用示例

    sqlalchemy 的基本使用示例 下面的例子中将利用sqlalchemy进行数据库的连接,通过orm方式利用类实例属性操作的方式对数据库进行相应操作,同时应用一些常用的函数. 完整代码如下: fr ...

  7. 通过命令行上传代码到GitHub

    自工作以来,本人第一次使用GitHub.下面是将本地的项目上传到GitHub的过程.上传代码的前提是:1.已注册GitHub账号:2.本地已安装Git. 第一步:远程Git仓库 进入本地的项目的根目录 ...

  8. 洛谷——P2656 采蘑菇

    P2656 采蘑菇 题目描述 小胖和ZYR要去ESQMS森林采蘑菇. ESQMS森林间有N个小树丛,M条小径,每条小径都是单向的,连接两个小树丛,上面都有一定数量的蘑菇.小胖和ZYR经过某条小径一次, ...

  9. 解密Java内存溢出之持久代

    垃圾回收是Java程序员了解最少的一部分.他们认为Java虚拟机接管了垃圾回收,因此没必要去担心内存的申请,分配等问题.但是随着应用越来越复杂,垃圾回收也越来越复杂,一旦垃圾回收变的复杂,应用的性能将 ...

  10. luogu P1072 Hankson的趣味题

    题目链接 luogu P1072 Hankson 的趣味题 题解 啊,还是noip的题好做 额,直接推式子就好了 \(gcd(x,a_0)=a_1=gcd(\frac{x}{a_1},\frac{a_ ...