《星際爭霸2》賽車遊戲製作教程觸發器續
接下來看看OUTOFTRACK這個判斷出軌的目錄。這個目錄裡的觸發器要用到計時器。
圖 1 判斷出軌目錄
包括四個觸發器,其中第一個是最主要的觸發器:10秒倒數。內容如下:
圖 2 十秒倒數
事件:玩家控制的紅色奧迪離開軌道。這個軌道是我第一篇中要大家畫的區域,採取了合併的方式,將若干小的區域合成一整個賽車軌道區域。
動作:首先建立一個計時器視窗,題目上寫:警告,你離開了軌道!使用剩餘時間;然後將已經建立的視窗變數WINDOW設定為上一個建立的計時器視窗;然後設定一下你喜歡的視窗引數,型別,計時的方式;最後開始計時,採用一次計時ONE SHOT,並且新增10秒的倒數時間。
然後是DEFEAT觸發器,就是判斷玩家出軌超時的觸發器,如果玩家出軌超時,則彈出資訊框說明原因,玩家確認後重新遊戲。下面是DEFEAT的觸發內容:
圖 3 出軌超時
事件:計時器過期;條件:紅色奧迪不在軌道上;動作:顯示資訊:失敗!你沒在軌道上!
對應這個觸發內容的觸發器就是最後一個RESTART:
圖 4 重來
事件:玩家按下隨便的視窗按鈕。
動作:重新開始遊戲。
然後來看看GOON觸發器,就是繼續遊戲的觸發器:
圖 5 繼續遊戲
事件:紅色奧迪進入軌道。
條件:計時器時間還有。
動作:暫停計時器,隨後隱藏計時視窗,再刪除計時視窗。
一定要先暫停計時器,不然計時器無法消失。
然後來看看MENU這個資料夾,裡面只有一個MENU觸發器:
圖 6 顯示選單
事件:玩家按下ESC鍵。
動作:關閉這個觸發器(防止重複),然後顯示選單欄。如果5秒後玩家沒動,再隱藏選單欄。
這個相對比較簡單。
最後向大家介紹AIMOVE這個資料夾的所有觸發器。這是電腦智慧的觸發器,很關鍵。它將控制其餘五輛奧迪的行動。
圖 7 電腦智慧移動
前面我們做了十個點,分別沿著路線為點一到點九,然後起跑線上,也是終點線上為第十個點FINAL。解釋一下這些數字的含義:01表示從遊戲開始駛向第一個點;12表示從點一到點二,依此類推,F1就是起跑線到點一,路線重複,但觸發內容不重複;然後是幾個設定變數的觸發器,最後是贏或者輸的觸發器。
首先來看看01:
圖 8 01觸發器
事件:倒數的三秒過去之後。
條件:變數圈數等於0.0。
動作:命令所有的其他奧迪向點一移動。然後關掉這個觸發器。
來看看12:
圖 9 觸發器
事件:任何單位進入點一4.0以內範圍,也就是靠近點一。
條件:觸發的單位不是紅色奧迪並且圈數變數為0或1或1.5時。
動作:讓觸發的單位移動到點二。
解釋:這個遊戲最終是跑兩圈就結束了,如果想提高圈數,還要加一點圈數的變數。 1.5是為了防止衝突特別設定的。到時候會用到這個變數引數。
其他FI到9F都是一樣的型別,換湯不換藥,只是點的位置改變而已,這裡就不多說了。
於是來到SETLAP1觸發器。
圖 10 設定圈數變數1
事件:任何單位進入NO9。 NO9是個區域,如果你沒畫就趕快畫上去,它的位置就在點九那裡(快到終點線的那個點)。大小為能讓紅色奧迪肯定能進入的大小。
條件:圈數為0.0並且處罰的單位就是玩家的紅色奧迪。
動作:將圈數變數從0.0設定為1.0
解釋:之所以在終點線後面放這樣一個區域,是為了減少BUG。如果設定為經過終點區域,那麼紅色奧迪一開始就會經過,沒有跑一圈;所以NO9這個區域一定不能和六輛賽車碰到一起放置,稍微離得遠一點就不會產生錯誤。
當玩家走過一圈又回到起跑線的時候,我們將提示玩家還剩一圈。這個觸發器就是LEFTLAP=1:
圖 11 剩餘一圈提示
事件:任何單位進入終點線的區域。 LINE是我又新增的一個區域,橫跨終點線。
條件:圈數為1.0並且觸發單位為紅色奧迪。
動作:顯示資訊:剩餘一圈。過五秒清除資訊。
這個只是提示作用,很簡單。
再來看看SETLAP1.5這個觸發器:
圖 12 設定圈數變數1.5
條件:圈數為1.0並且觸發單位為紅色奧迪。
動作:過十二秒設為1.5
解釋:過十二秒是為了讓所有車輛都通過終點線區域並開始第二圈的行駛,否則會有衝突和錯誤。
然後是最終勝利和最終失敗:
圖 13 最終勝利
事件:任何單位進入終點區域。記得是區域不是點。
條件:圈數為1.5並且觸發單位就是玩家控制的奧迪。
動作:暫停所有單位;顯示玩家勝利和祝賀的資訊。確認後重新開始遊戲。
圖 14 最終失敗
事件:任何單位靠近了終點FINAL。
條件:圈數為1.5並且觸發單位不是玩家的紅色奧迪。
動作:暫停所有單位,顯示觸發玩家勝利的資訊。
總結
想不到一個賽車遊戲其實還是挺複雜的。如果大家也是志同道合,喜歡玩地圖的朋友,可以共同交流探討。這個賽車遊戲只是拋磚引玉。相信更多的地圖製作新手都會做出奇妙好玩的地圖! (附上我的測試過的遊戲地圖RACING和幾張遊戲截圖)
圖 15 遊戲截圖一
圖 16 遊戲截圖二