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 动作表格对象