程序员人生 网站导航

quick-cocos2d-x transition用法

栏目:互联网时间:2014-11-09 11:01:29
Functions
transition.newEasing(action, easingName, more)
为图象创造效果
transition.execute(target, action, args)
履行1个动作效果
transition.rotateTo(target, args)
将显示对象旋转到指定角度,并返回 CCAction 动作对象。
transition.moveTo(target, args)
将显示对象移动到指定位置,并返回 CCAction 动作对象。
transition.fadeTo(target, args)
将显示对象的透明度改变成指定值,并返回 CCAction 动作对象。
transition.scaleTo(target, args)
将显示对象缩放到指定比例,并返回 CCAction 动作对象。
transition.sequence(actions)
创建1个动作序列对象。
transition.playAnimationOnce(target, animation, removeWhenFinished, onComplete, delay)
在显示对象上播放1次动画,并返回 CCAction 动作对象。

Functions

transition.newEasing()

transition.newEasing(action, easingName, more)

为图象创造效果

transition.execute()

transition.execute(target, action, args)

履行1个动作效果

-- 等待 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() 是1个强大的工具,可以为本来单1的动作添加各种附加特性。

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)

创建1个动作序列对象。

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)

在显示对象上播放1次动画,并返回 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 对象。例如1个爆炸效果:

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

另外,playAnimationOnce() 还允许在动画播放完成后履行1个指定的函数,和播放动画前等待1段时间。公道应用这些功能,可以大大简化我们的游戏代码。

Parameters

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

Returns

  • table 动作表格对象
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐