給crazystorm人看的LuaSTG教程(大噓)
嗯,我動態(tài)里也發(fā)過了,我要寫這么一篇文章
這一篇的比較簡單,因為EX的編輯器有一個很方便的節(jié)點,如果沒有ex的話請下載一個ex版本的luaSTG或者看下一篇文章.
那么這個節(jié)點是什么呢,對了,就是我們最愛的一件絲滑!(

首先是和子彈事件組有關(guān)的東西.
打開luaSTG,然后點左上角的Create a new project,選single stage,然后點browse選擇你要存放的路徑.
你先定義一個自定義子彈,然后在on create(init)插♂入一個task(create task)(被跟我說你不知道怎么定義,在哪定義(除了stage里都可以放))

然后找到左箭頭還有一個x(set value to)節(jié)點,在Task里

第一個一般都是self,可以不用改
第二個是你需要變化的哪個值
第三個是...變化到哪個值也不準確,和下面的valuemode有關(guān)
第四個是變化時間
第五個是變化模式,NORMAL是線性的,ACC是加速,DCC是減速,ACC_DCC是先加速后減速
第六個相當于當前幀
第七個,和第三個有很大的關(guān)系,假設(shè)TargetValue是3,如果這個是MODE_SET(變化到)的話,那_speed就會變成3,MODE_ADD(加)的話,_speed會加3(如果想減就輸負數(shù)),MODE_MUL(乘),_speed會乘3.
然后就是第二個的具體意思了

x是子彈的x坐標(這一點就比cs要好(()
y是子彈的y坐標
rot是子彈的朝向(不是子彈的子彈速度方向)
omiga是子彈的自轉(zhuǎn),設(shè)為多少那子彈的每幀增加的朝向就是那么多
vx是子彈x方向的速度大小
vy是子彈y方向的速度大小
這兩個組成矢量就是子彈的速度(包括大小和方向)
ax,ay是子彈x,y方向的加速度大小
hscale,vscale是子彈的寬比,高比(注意:只改變這個值不會改變子彈的判定大小)
a,b是子彈判定的長,寬(注意單位是像素,如果想要成倍的擴大請把ValueMode改為MODE_MUL)
pause我還真不知道(
_angle就是子彈速度方向
_speed是子彈速度
用這個節(jié)點能實現(xiàn)大部分的子彈事件組的功能,然后就是剩下部分的說明了
生命,嗯,LuaSTG里并沒有生命這個東西,所以要實現(xiàn)這個,需要再在那個on init里插一個task節(jié)點,然后這樣↓

那個wait也在Task里,wait的值就是子彈的生命,然后如果想把消彈效果關(guān)掉,就把這個Trigger event改成false
類型.LuaSTG里是把類型和顏色分開了的(就像cs2.0),然后子彈的類型和顏色是可以直接選中這個自定義子彈的on create(init)改


然后如果想改子彈的類型和顏色的話,需要用Bullet里的
change bullet's style and color(就是那個藍棱彈,紅星彈,綠札彈圖標的)

然后是子彈的RGB,這個也可以用那個一鍵絲滑,R,G,B的分別對應_r,_g,_b,不透明度是_a(這個_a是從0~255,0是完全透明,255是不透明)
然后是子彈的加速度和加速度方向,上面那個ax,ay可能有些難理解,反正你知道ax=子彈加速度大小*cos(子彈加速度方向),ay=子彈加速度大小*sin(子彈加速度方向)就行了.
橫比縱比在LuaSTG里沒有,需要自己實現(xiàn)
如果想要關(guān)閉霧化效果需要像我這么寫

消彈效果上面寫了
高光效果需要用到一個Object里的節(jié)點

把Blend mode改成mul+add就行了(那里有一個下拉的箭頭,有很多混合模式,只需要選這個mul+add就行了),如果留空就是不高光
拖影需要用到Effects里的那個smear,直接插on create(init)里就行了,不過這個拖影和cs里的拖影有億點不一樣()
出屏即消...嚴格上LuaSTG里沒有現(xiàn)成的(但是你可以實現(xiàn)一個),但是有一個self.bound,改為true,他出屏,就,不會消失(
無敵狀態(tài)可以改在on create(init)里的Destroyable,改為true就不會被自機消彈
........
接下來是發(fā)射器事件組.
由于LuaSTG并沒有發(fā)射器這么個東西,所以,實際上,你基本上在任何地方都能發(fā)射子彈(
比如說,最簡單的,在stage里帶的那個task里.
........
(啊好難解釋啊,讓我先縷一縷)
如果想要實現(xiàn)發(fā)射器的話...
先講講如何實現(xiàn)發(fā)射器的基本屬性吧.
首先,我們要用到task里的 task repeat(就是那個帶沙漏的循環(huán)標志的東西)
啊啊啊我不知道起始和持續(xù)怎么解釋(
然后是發(fā)射,首先呢,我們要創(chuàng)建子彈,先找到創(chuàng)建子彈的節(jié)點(在Bullet里,那個多了個加號的星星)


半徑和角度有關(guān),暫且不提
然后是條數(shù)....條數(shù)需要用到循環(huán)

(那些不要真的寫了漢字了,這只是一個比較直觀的表示而已)
嗯....可以這么理解,但是.....(我個人)感覺.....

然后就是半徑了,只需要在創(chuàng)建子彈的節(jié)點的position里這么寫:
x坐標+半徑*cos(a+半徑方向),y坐標+半徑*sin(a+半徑方向)
對了,LuaSTG的角度和crazystorm的是有區(qū)別的,比如說LuaSTG的90度,就是crazystorm的270度,反正luaSTG是順時針從0°~360°,cs是逆時針
然后,大概就是最難理解的地方了:

這個parameter,是很多萌新的噩夢其實是很難理解的(?),你看到子彈的on create(init)里也有一個parameter,而你可以在這里面加參數(shù),比如說n.m.s.l名字是無所謂的,你想取什么就取什么


.....其實這一段完全沒必要,因為我寫的又sb又不知道該怎么說,如果想要了解的更深的話,可以看看我前面那幾個教程,還有一位巨巨巨佬小炎(B站ID:高冷的二胡)寫的LuaSTG專欄教程,還有另一位巨巨巨佬吃藥圖書做的視頻教程,目前都是很基礎(chǔ)的,
如果說你們看不懂我寫的這一篇也沒辦法,畢竟這一篇實際上也是隨便水水的((
