帧动画
参考:动画
- 生成动画后,不会再对原来的图片产生依赖。后缀名为
.jta
- 设定动画的时候,将纹理设定:
单独纹理集
中 - 从外面导入进来,只需要导入
.jta
文件即可, 无需再导入图片相关 - 帧动画很少用于动态创建,通常在UI编译器中直接使用
- 不支持点击
制作动画示例:
帧频
: 可以设定24, 30, 60
播放间隔
: 设定每帧之间的播放速度,数值越大,越慢
纹理集
:将动画图片设定到单一纹理集中
导出图片序列
:制作的动画,会将图片名重新命名。新的命名格式类似: pet_0000 ~ pet.0007.png
代码示例:
local numClip = view:getChild("ani_num")
-- 设置颜色
numClip:setColor(cc.c3b(255, 0, 0))
-- 设置翻转
numClip:setFlip(fairygui.FlipType.NONE)
-- 设置播放相关
local startFrame = 0 -- 开始帧数
local endFrame = -1 -- 结束帧数, -1表示结束帧数
local endAt = endFrame -- 同结束帧数
local times = 1 -- 重复次数, 0表示循环
local comleteCallBack = function() -- 结束回调
print("帧动画播放结束")
end
numClip:setPlaySettings(startFrame, endFrame, times, endAt, comleteCallBack)
-- 设置播放
numClip:setPlaying(true)
动效
参考:动效
注意:
- 如果动效不需要代码中动态控制,可以勾选上:
自动播放
- 在动效测试中,如果参数得当却表现不出对应的效果,可以退出编辑。使用
舞台测试
查看 - 如果动效的效果很复杂,且利于后期维护, 推荐使用:
视频
- 动效的执行会改变节点的属性
示例:
配置:
<transition name="bagEffect" autoPlay="true" autoPlayRepeat="10">
<item time="0" type="XY" target="n18_ew1l" label="start" tween="true" startValue="965,-" endValue="25,-" duration="30" label2="end"/>
</transition>
name
: 动效名
autoPlay
: 是否自动播放
autoPlayRepeat
: 重复播放次数, -1表示无限播放
type
: 动效类型,表示位置
target
:目标对象
label/label2
: 标签名
startValue/endValue
: 开始/结束位置相关,"-"表示忽略Y轴位置
代码示例:
local bagGroup = view:getChild("bagGroup")
-- 重置下节点的位置
bagGroup:setX(1000)
local trans = view:getTransition("bagEffect")
-- 检测是否播放
if trans:isPlaying() then
trans:stop()
end
-- 设置持续时间, 要在开始标签前设定
trans:setDuration("start", 0.2)
-- 设置标签位置
trans:setValue("start", {600, 0})
-- 设置播放
local times = 1 -- 播放次数
local delay = 4 -- 延迟秒数
local completeCallBack = function()
-- 动效播放结束,bgGroup的位置为:516, 原有节点属性发生改变
print("动效播放结束, bgGroup的位置:", bagGroup:getY())
end
trans:play(times, delay, completeCallBack)
上一篇:cocos2d-Lua FairyGUI之图形(五)
下一篇:cocos2d-Lua FairyGUI 之 滑动条(七)