從零開始上手LuaSTG#2:Stage以及簡(jiǎn)單的子彈
好,第二個(gè)教程來了(
這一期我們開始正式講解LuaSTG的使用
知識(shí)要點(diǎn):這期的主要內(nèi)容:
1.關(guān)于節(jié)點(diǎn)(節(jié)點(diǎn)的插入,刪除等等)
2.Stage節(jié)點(diǎn)全解讀(?)
3.簡(jiǎn)單彈幕的創(chuàng)建
4.task的使用
好了,那么開始吧.


我們繼續(xù)用上次新建的空工程
我們左鍵單擊"project?setting"節(jié)點(diǎn),然后點(diǎn)擊上面的"stage",選中第一個(gè),右鍵單擊.
恭喜,你插入了一個(gè)節(jié)點(diǎn)!(
然后,他彈出了一個(gè)窗口

Name?是名字吧?沒錯(cuò),就是這個(gè)關(guān)卡組的名字.這會(huì)影響在標(biāo)題菜單中的"Select?Difficulty"中顯示的關(guān)卡組的名字

部分節(jié)點(diǎn)的參數(shù)右邊的下箭頭有上圖的效果
但是呢,這個(gè)是Stage?Group(關(guān)卡組),里面一個(gè)Stage(關(guān)卡)都沒有
嗯!這個(gè)長(zhǎng)的像小房子一樣的東西一定就是Stage吧!
我發(fā)動(dòng)魔法卡"插入"!,將我所選擇的節(jié)點(diǎn)作為選擇節(jié)點(diǎn)的子節(jié)點(diǎn)!
.....
納尼!怎么沒有用!
哈哈,那是因?yàn)槟銏?chǎng)上的怪獸"節(jié)點(diǎn)箭頭"處于攻擊表示而"Stage"只能作為"Stage的子節(jié)點(diǎn)",所以無法插入!

咳咳(?就當(dāng)沒看見好了(
因?yàn)檫@個(gè)節(jié)點(diǎn)只能作為關(guān)卡組的子節(jié)點(diǎn)(怎么理解呢,就相當(dāng)于他的兒子好了)
那么該怎么做呢

同樣彈出來的窗口也類似,是關(guān)卡的名字
然后你會(huì)發(fā)現(xiàn)你的Stage自帶一個(gè)"create?task",這個(gè)節(jié)點(diǎn)就是讓你插入的
而這個(gè)task,和那個(gè)task里的task有什么區(qū)別呢(?)
不管它有什么區(qū)別,反正是拿來插別的節(jié)點(diǎn)的就對(duì)了(

那么我們插個(gè)那個(gè)像沙漏一樣的節(jié)點(diǎn),再運(yùn)行一下試試?

LuaSTG中,一幀是60秒,而這里的Wait 60?Frames,就是代表等待了60幀(一秒)
所以出現(xiàn)了這個(gè)突然進(jìn)去又突然出來的效果
然后把這個(gè)wait的參數(shù)從60改到600,再調(diào)試一下試試?
然后你就能在那里等10秒鐘(

我們?cè)俚絙ullet欄里,選擇之前放的Wait節(jié)點(diǎn),再點(diǎn)擊Create?Simple?Bullet節(jié)點(diǎn)(第四個(gè)),運(yùn)行一下游戲試試?

可以看到,在結(jié)束的一瞬間,出現(xiàn)了一個(gè)紅色的,位置在中心的,方向?yàn)?度的鱗彈
這里再說說關(guān)于角度,因?yàn)橛行┤丝赡軣o法理解(
角度是0~360度,左邊為0,逆時(shí)針增加,但是,打個(gè)比方,加入角度是450度,那么就相當(dāng)于轉(zhuǎn)了90度轉(zhuǎn)了1圈(90+360=450),所以發(fā)射出去的角度是90度
然后,再來講講子彈的具體參數(shù)


可以看到,子彈的朝向變成了45度,即右斜向上
然后我們復(fù)制粘貼幾次,然后每個(gè)子彈節(jié)點(diǎn)之間加個(gè)比較短的wait試試?


那么,那種一圈的子彈(開花彈幕)該怎么做呢?我們會(huì)在下一期里詳細(xì)講解
然后,你會(huì)不會(huì)覺得每次建立工程的時(shí)候,都要這樣放stagegroup?stage的,會(huì)不會(huì)很麻煩?
那么我們就用自帶的模板:

嗯?這個(gè)叫stage?init的文件夾是啥?里面還放了個(gè)奇怪的東西?
嗯....這個(gè)文件夾是在general欄里,拿來放別的節(jié)點(diǎn),方便復(fù)制,然后里面的那個(gè)節(jié)點(diǎn)是設(shè)置關(guān)卡背景的,在stage欄里,然后可以選擇許多背景

運(yùn)行一下,可以看到,多了一個(gè)守矢神社的背景,即"temple"
那么,這個(gè)stage?init到底有什么用呢?
init,是initalization的縮寫,即"設(shè)定初值"?,就是關(guān)卡的初始帶的東西
那么你可能又會(huì)想,每次運(yùn)行的時(shí)候不都是從頭開始的嗎?這有什么意義?
這里們用這個(gè):

從選中節(jié)點(diǎn)開始Debug
什么意思呢?我這里直接做個(gè)操作好了


從這兩個(gè)gif的區(qū)別,就能大致明白了...吧
不過這個(gè)只能對(duì)stage的task的下一級(jí)節(jié)點(diǎn)使用

好了,這一期差不多了,下一期講循環(huán)的使用方法
順便講個(gè)子彈的例子
祝你們提前?再見