魔獸編輯器的變量是什麼,怎麼使用變量??

在利用魔獸編輯器做一些比較複雜的觸發時,我們常常會聽到一個詞語:“變量”

聽起來很高深,似乎也很難懂,但沒有這個叫變量的東西,我們在做一些觸發時往往又覺得無從下手或者做出來效果很糟糕。這篇文字就來教大家認識什麼是變量,以及變量在實際例子中如何應用。

魔獸編輯器的變量是什麼,怎麼使用變量?

工具/原料

魔獸地圖編輯器YDWE

認識變量

變量,概括地說就是設置一個標籤,可以給地圖上任意一個物體貼上,如果到一定時間時你想要找到這個物體,那麼你不需要知道他現在在哪個位置,在做什麼,只需要呼叫這個標籤那麼該物體就會出現,從而方便你對他進行後續的編輯。

以全局變量為例(全局變量和局部變量的區別我會在後面的文字中進行說明),變量是通過變量表來設置的。打開觸發編輯器,找到上面一個黃色的X按鈕,這個就是變量表,打開它後進入設置,點擊上面的綠色加號可以新建變量,紅色叉叉刪除變量,已經建好的變量可以通過對它雙擊來進行編輯修改。

如圖所示,我新建了一個叫footman的單位類型的變量,可以用這個變量來給地圖上任意一個單位貼上標籤。

魔獸編輯器的變量是什麼,怎麼使用變量?

魔獸編輯器的變量是什麼,怎麼使用變量?

魔獸編輯器的變量是什麼,怎麼使用變量?

這裡說的變量指的是“全局變量”,全局變量是一個相對概念,在YDWE中是相對於局部變量來說的。

全局變量之所以稱為“全局”,簡單來說就是這個變量一旦設置,那麼它在遊戲的全盤中都會起到作用,它可以存在於多個觸發中,無論你如何使用它,它都會一直存在;而局部變量,以YDWE特有的逆天局部變量為例,它只在當個觸發中有效,離開了這個觸發,在另一個觸發裡這個變量就不再有效了。因為這個特點,全局變量如果同時在多個觸發器內運行,可能會產生前後衝突的問題,而局部變量不會。因此我更推薦在一些可以使用局部變量的地方儘量使用局部變量。

變量的簡單應用

認識完變量後我們舉個例子來說明變量的應用。

舉一個簡單的例子:我在遊戲開始5秒後順序創建一個農民和一個步兵在地圖中心,然後在遊戲開始10秒後殺死農民。

這裡先寫出創建農民和步兵的觸發:

魔獸編輯器的變量是什麼,怎麼使用變量?

如果我們把觸發寫成如下的方式,那麼我們會發現,創建農民和步兵5秒後,農民並沒有被殺死,步兵卻被殺死了,原因在於這裡“最後創建的單位”已經不是我們之前創建的那個農民而是步兵,因為我們的創建動作第一條是創建農民,第二條是創建步兵,而最後創建的單位只能有一個,故按照順序當然是步兵,所以步兵被殺死了。

魔獸編輯器的變量是什麼,怎麼使用變量?

正確的做法是,我們需要設置一個單位變量來給這個創建出來的農民貼上標籤,方便我們殺死他時使用。

設置變量的方法如前所述,設置完畢後,我們在創建單位後加一條語句:設置farmer=最後創建的單位,該語句可以使得我們創建出來的農民被貼上farmer的標籤,然後用“單位--殺死單位”這個動作,在單位下可以找到farmer這個單位變量。

所以正確的觸發應該是這樣寫:

魔獸編輯器的變量是什麼,怎麼使用變量?

魔獸編輯器的變量是什麼,怎麼使用變量?

現在讓我們來增加一步,在殺死農民後5秒創建一個騎士,然後殺死步兵。

按照上面的分析,創建完騎士後,最後創建的單位指的就是騎士,那麼我們需要給步兵貼一個標籤,而不能直接用殺死最後創建的單位。這裡用footman這個單位變量來做。

這裡注意,觸發是按照先後順序執行的,創建完一個單位後,就要用變量記錄該單位為最後創建的單位。

觸發為:

魔獸編輯器的變量是什麼,怎麼使用變量?

相關問題答案