lua简化cocos2dx的Action动画序列

情景

今天写代码时,又要写一个很常见的动画,就是变大变小模拟那个弹性的赶脚,很常用但写起来挺麻烦,封装一下用起来就简单多了。

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

使用

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

实现

方式一:根据参数动态生成lua代码,然后使用loadstring加载代码

function actionScaleTo(...)
    -- 奇数位置是时间,偶数位置是倍数
    local arg = {...}
    local container = {}
    , #arg,  do
        ])
        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

方式二:直接创建

function actionScaleTo(...)
    -- 奇数位置是时间,偶数位置是倍数
    local arg = {...}
    local container = {}
    , #arg,  do
        ])
        table.insert(container, scale)
    end
    return cc.Sequence:create(unpack(container))
end
上一篇:python基础整理笔记(二)


下一篇:Cocos2d-x 文本渲染