首页 > 代码库 > lua简化cocos2dx的Action动画序列
lua简化cocos2dx的Action动画序列
情景
今天写代码时,又要写一个很常见的动画,就是变大变小模拟那个弹性的赶脚,很常用但写起来挺麻烦,突然思绪来了,其实代码可以很简洁,多亏了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动画序列
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。