码迷,mamicode.com
首页 > 其他好文 > 详细

lua简化cocos2dx的Action动画序列

时间:2014-11-19 00:02:55      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   os   使用   sp   for   

 

情景

今天写代码时,又要写一个很常见的动画,就是变大变小模拟那个弹性的赶脚,很常用但写起来挺麻烦,突然思绪来了,其实代码可以很简洁,多亏了lua的灵活呀,真方便。

当然我也知道有缓动动画(EaseAction)可以实现反弹效果,但这不是重点

使用

-- 模拟3个cc.ScaleTo,但是不限于3个,个数没有限制
-- 1> 0.08秒 放大1.2倍
-- 2> 0.1秒  放大0.9倍
-- 3> 0.1秒  放大1倍
actionScaleTo(0.08,1.2, 0.1,0.9, 0.1,1)

实现

-- 就是根据参数动态生成lua代码,然后使用loadstring加载代码
function actionScaleTo(...)
    -- 奇数位置是时间,偶数位置是倍数
    local arg = {...}
    local container = {}
    for i=1, #arg, 2 do
        local xstr = string.format(" cc.ScaleTo:create(%f,%f)", arg[i], arg[i+1])
        table.insert(container, xstr)
    end
    local actions_str = table.concat(container, ",")
    local xstr = string.format("return cc.Sequence:create(%s )", actions_str)
    return loadstring(xstr)()
end

 

lua简化cocos2dx的Action动画序列

标签:style   blog   io   ar   color   os   使用   sp   for   

原文地址:http://www.cnblogs.com/luweimy/p/4106981.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!