quick-cocos2d-x transition用法

Functions
transition.newEasing(action,easingName,more)
为图像创造效果
transition.execute(target,action,args)
执行一个动作效果
transition.rotateTo(target,204); width:669.3125px; border-top-style:none!important"> 将显示对象旋转到指定角度,并返回 CCAction 动作对象。
transition.moveTo(target,204); width:669.3125px; border-top-style:none!important"> 将显示对象移动到指定位置,并返回 CCAction 动作对象。
transition.fadeTo(target,204); width:669.3125px; border-top-style:none!important"> 将显示对象的透明度改变为指定值,并返回 CCAction 动作对象。
transition.scaleTo(target,204); width:669.3125px; border-top-style:none!important"> 将显示对象缩放到指定比例,并返回 CCAction 动作对象。
transition.sequence(actions)
创建一个动作序列对象。
transition.playAnimationOnce(target,animation,removeWhenFinished,onComplete,delay)
显示对象上播放一次动画,并返回 CCAction 动作对象。

Functions

transition.newEasing()

transition.newEasing(action,more)

为图像创造效果

transition.execute()

transition.execute(target,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

  • CCNodetarget显示对象
  • CCActionaction动作对象
  • tableargs参数表格对象

Returns

  • mixed 结果

transition.rotateto()

transition.rotateto(target,args)

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

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

Parameters

  • CCNodetarget显示对象
  • tableargs参数表格对象

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,158)!important">-- 移动到屏幕底部,不改变 x
transition.moveto(sprite,{y = display.bottom,time = 1.5})

Parameters

  • CCNodeargs参数表格对象

Returns

  • mixed 结果

transition.fadeto()

transition.fadeto(target,args)

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

-- 不管显示对象当前的透明度是多少,最终设置为 128
transition.fadeto(sprite,{opacity = 128,32)">args参数表格对象 
   
  

Returns

  • mixed 结果

transition.scaleto()

transition.scaleto(target,args)

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

-- 整体缩放为 50%
transition.scaleto(sprite,{scale = 0.5,158)!important">-- 单独水平缩放
transition.scaleto(sprite,{scaleX = 0.5,158)!important">-- 单独垂直缩放
transition.scaleto(sprite,{scaleY = 0.5,32)">args参数表格对象 
   
  

Returns

  • mixed 结果

transition.sequence()

transition.sequence(actions)

创建一个动作序列对象。

local sequence = transition.sequence({
    CCMoveto:create(0.5,CCFadeOut:create(0.2),CCDelayTime:create(0.5),CCFadeIn:create(0.3),})
sprite:runAction(sequence)

Parameters

  • tableargs动作的表格对象

Returns

  • CCSequence 动作序列对象

transition.playAnimationOnce()

transition.playAnimationOnce(target,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() 方法来直接播放动画:

-- 0.5s play 20 frames
sprite:playAnimationOnce(animation)

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

"Boom%04d.png",8)
local boom = display.newSprite(frames[1])

-- playAnimationOnce() 第二个参数为 true 表示动画播放完后删除 boom 这个 CCSprite 对象
-- 这样爆炸动画播放完毕,就自动清理了不需要的显示对象
boom:playAnimationOnce(display.newAnimation(frames,0.3/ 8),true)

此外,playAnimationOnce() 还允许在动画播放完成后执行一个指定的函数,以及播放动画前等待一段时间。合理运用这些功能,可以大大简化我们的游戏代码

Parameters

  • CCNodetarget显示对象
  • CCNodeanimation动作对象
  • booleanremoveWhenFinished播放完成后删除显示对象
  • functiononComplete播放完成后要执行的函数
  • numberdelay播放前等待的时间

Returns

  • table 动作表格对象

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...