cocos2d-Lua FairyGUI 之 动画(六)

本文介绍了FairyGUI中帧动画和动效的制作与使用。帧动画涉及帧频、播放间隔和纹理集的设置,通常在UI编译器中直接应用,不支持点击事件。动效则包含多种类型,如位置变化,支持自动播放和重复次数设定,其执行会影响节点属性。代码示例展示了如何控制播放和设置参数。
摘要由CSDN通过智能技术生成

帧动画


参考:动画

  • 生成动画后,不会再对原来的图片产生依赖。后缀名为.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 之 滑动条(七)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹤九日

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值