首先还是提供一个模板(联机版):
链接:https://pan.baidu.com/s/1OyTqa2CqpTeghma4w2NLGw 密码:swi2
需要的工具:spriter
提供一个汉化补丁(感谢老王传给我的汉化)(找到你的spriter目录,将这个exe文件覆盖进去):
链接:https://pan.baidu.com/s/1HxFCcgil91eKerAPDZzETg 密码:n89q
------------------------------------正文---------------------------------------
本篇主要讲spriter如何制作逐帧特效动画
首先依然是在\exported中新建一个文件夹myeffect_fire,然后在这个文件夹里在新建一个文件夹,名字随意,我这里叫myeffect_fire_anim
将做好的逐帧动画素材图片放进这个文件夹中,注意标序号,图片文件可以用“xxx-序号”的格式命名
打开spriter,新建一个项目
单击这个文件,点 选择文件夹,后面会说到为什么这样做
选择好后右边栏是这样的
素材面板里保证有这个文件夹,图片顺序反了没关系,点一下“Name”就正序了
下面的动画栏,一级标题写myeffect_fire(一开始就设定好了),二级标题填动画的名字,这里可以在我们设定好的名字后面加个后缀就好了,我这里就叫做myeffect_fire_fx吧
下面开始做动画
将第一幅图拖入画布,第一帧就好了
然后找到下面的时间轴,在第一帧后面选个地方,单击,准备做第二帧(具体两帧间隔多少不用担心,到后面依然可以调整)
选好位置后,在画布中的这张图片上,按住右键,选择第二张图片,第二帧就做好了(如果上文中我们没有新建exported下的二级文件夹,这里右键就没效果了)
后面依照这个步骤全部做好后,播放几遍,自己调整调整每一帧的间隔,觉得差不多了就行了
这个地方是 现在时间轴的位置/时间轴总长度 , 我这里动画时长就是519ms,总长度我们就改为519
这里的重复播放勾上
然后保存,名字依然是myeffect_fire
这样动画部分就做好了
代码部分很简单了
简单看一下\prefabs\myeffect_fire.lua
local assets =
{
Asset("ANIM", "anim/myeffect_fire.zip"),
}
local function fn()
local inst = CreateEntity()
local trans = inst.entity:AddTransform()
local anim = inst.entity:AddAnimState()
anim:SetBank("myeffect_fire")
anim:SetBuild("myeffect_fire")
anim:PlayAnimation("myeffect_fire_fx",true) --这里就是动画的名字,还记得我们设定的二级标题么
inst.Transform:SetScale(1, 1, 1) --这里可以改变预设物大小
inst:DoTaskInTime(2.595, inst.Remove) --这里是播放多长时间后,移除它
return inst
end
return Prefab("myeffect_fire", fn, assets)
其他部分不赘述了
进游戏,等待modtools给你打包好后,在游戏中控制台输入
c_spawn("myeffect_fire")
就可以看到特效效果了
具体通过什么方式来释放特效,下一篇会提到