首先還是提供一個模板(聯機版):
鏈接: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")
就可以看到特效效果了
具體通過什麼方式來釋放特效,下一篇會提到