WE常用小技巧

一般

  • 善用剪下(Ctrl+X)、複製(Ctrl+C)、貼上(Ctrl+V)、刪除(Delete):這幾個Windows常用指令在WE也是處處行得通,可以省下很多時間

  • 用鍵盤快速跳位。例如目前在:

    按下U之後就能立刻跳到首字為U的地方:

    然後再配合上下方向鍵,就能快速找到你想要的東西。
    如果是中文也一樣,轉成中文輸入法後,輸入中文字,就能跳到以它為首的地方;某些輸入法(如新注音)甚至可一次輸入多個中文字。
    其實在Windows及多處視窗型軟體也能用這個方法。

  • 撰寫更新歷史和注意事項:WE提供的註解有字元數限制,如果怕空間不夠,可以開一個觸發,轉成JASS,並把它停用(Disable;快速鍵Ctrl+I),就能寫空間無限的註解了。
    更新歷史和設計該地圖的注意事項通常相當重要,內建在地圖中比較方便,而且不會增加太多地圖容量,所以筆者建議這樣做。當然,如果要寫在別的地方也是可以。

  • 在WE中複製-貼上中文時,請先轉成中文輸入法再複製,要貼上時也要先轉成中文輸入法再貼上。否則可能會出現亂碼。

  • WE可以同時打開多個地圖,進行地圖間的資料轉移。可以從功能表的「視窗」選擇地圖,然後選定要複製的東西並複製,再從「視窗」選擇要貼上的地圖貼上東西,非常方便!!

  • WE常會有為數不少的功能要測試,建議大家自己設計一張小型的、測試功能專用的地圖來測試。不要每次想測什麼都直接加到自己寫的一張很大的地圖裡測,這樣速度是差很多的。

地形編輯與物件擺設

  • 先大致決定好座標再畫圖,這樣畫出的圖會比較準。尤其要畫一張對稱的地圖時,定座標的動作更是不可少

  • 記住,選取色板上的物件後,可以在主畫面擺設物件;不選取時,可以選擇主畫面的物件並加以設定(按Enter或點兩下)。
    按下空白鍵可以切換色板的選取、不選取狀態(會自動記住之前選取的類型)

  • 移動瀏覽畫面的位置:

    • 按方向鍵的↑↓←→

    • 按住滑鼠右鍵拖曳

  • 調整攝影機視角:

    • 按住Ctrl後:

      • 按方向鍵的↑↓,可以上升/下降攝影機

      • 按方向鍵的←→,可以左旋/右旋攝影機

      • 按住滑鼠右鍵拖曳,可以快速調整攝影機的視角 ,包括左旋、右旋、上旋、下旋

      • 使用滑鼠滾輪可以上升/下降攝影機

    • 不小心把視角調亂時,可用「檢視」→「切換到遊戲攝影機」(Ctrl+Shift+C)切回預設視角

  • 選取一塊地形後,可以利用「編輯」的鏡射、左右旋轉、旋轉180度等功能做調整;
    或者先按下複製、貼上,在準備貼上時,利用「編輯」的鏡射貼上、旋轉貼上調整剪貼簿內容,再進行貼上。

  • 選取物件之後,按住Ctrl再用滑鼠左鍵點擊一個地方,即可使所有選取的物件面向該處

  • 選取物件之後,使用「編輯」→「推動選取的物件」中的快速鍵可以更快速地做你想要的設定(緊按亦可):

    • 數字區

      • 1 2 3 4 6 7 8 9可以微調物件位置,甚至放到滑鼠不容易放到的地方

      • / *可以稍微旋轉物件位置

      • + -可以放大或縮小

    • Home、End可以在XY軸方向放大或縮小

    • Page Up、Page Down可以在Z軸方向放大或縮小

  • 使用「檢視」的功能切換想看和不想看的東西,或者鎖定視角等,以便更清楚、精細、不受干擾地設定想設定的東西

  • 善用「進階」的置換功能改變已放置的部隊、飾物、地形等等,尤其是部隊身上己設置了許多相關的觸發時更為有用,因為置換部隊會自動同步更新觸發。

  • 不同用途的區域可以設成不同的顏色以利辨識

  • 可以用物件管理器(F11)找尋物件,並且做檢視和刪除

物件編輯器

  • 利用種族、戰役(Campaign)、特殊(Special)為部隊分類;物品或其它同理

  • 利用「檢視」的功能開關項目,以便更快地尋找和編輯你想設定的欄位

  • 選取一個物件,按下複製再按下貼上,就可以快速地以它為底創造出一個新物件

  • Ctrl+D是切換以原始資料顯示數值,非常重要!絕對不要忘記!

觸發編輯器

  • 沒人規定一定要用英文,能寫中文的地方可以盡量使用中文

  • 暫時不用的觸發或觸發中的一行指令可以先停用(Ctrl+I、Ctrl+F)而不必急於刪除

  • 可以用物件管理器(F11)找尋你要的觸發或變數,以及檢視它們相互調用的情形,尤其可以輕易看出是否有變數未被觸發使用,方便你找到和刪除垃圾。在研究他人的地圖時 也特別有用,它能幫助你了解整體的架構。

  • 可以設計一些作弊碼以利測試;作弊碼建議限制單機使用以免你忘了停用而讓別人發現和濫用:

    Init
     Events
      Map initialization
     Conditions
     Actions
      Custom script: set udg_IsSingleGame = bj_isSinglePlayer

    這是判斷是否為單人遊戲的設定,其中IsSingleGame是自己定的變數。這裡是直接撿現成,用b社已判斷好的變數值,如果你要自己計算玩家數也可以。

    Debug Level Up
     Events
      Player - Player 1 (Red) types a chat message containing -level as An exact match
     Conditions
      IsSingleGame Equal to True
     Actions
      Unit Group - Pick every unit in (Units currently selected by (Triggering player)) and do (Hero - Set (Picked unit)
       Hero-level to 99, Show level-up graphics)

    這是典型的作弊碼寫法,應該不用多作解釋吧?

  • 多利用註解,或者用註解功能畫分隔線,日後修改會較方便,不會自己看了都一頭霧水。註解的原則基本上就是「把自己當作是讀者」來寫,越詳細越好。除非日後不會再修改這個地圖、很快就能做好、或者沒有保護程式怕被盜改等特殊原因,否則筆者建議大家養成加上註解的習慣。

  • 暫存變數是一個相當實用的技巧,用得好可以簡化複雜的動作,通常像實數型的用x、y、z;整數用a、b、c;點用P1、P2、P3;部隊用TempUnit;玩者用TempPlayer;物品用TempItem

  • 利用副程式:不同觸發可以用此這行互相調用:

    Trigger - Run <Trigger> (checking(ignoring) conditions)

    利用這點,可以把常用的一連串動作設計成沒有Events的觸發當作副程式。然後在主要的觸發用此進行呼叫,以增加便利性,也較方便修改:

    Trigger - Run <Trigger>

  • 善用Add Event:如果你要把一些特定的部隊加入日後的事件,可以考慮用Add Event。最典型的範例如樹木復活

  • 使用單行JASS設定區域變數,以解決一般變數在等待中被修改的問題。要這麼做只要學三個函數就夠了:

    local [變數名稱]         <-必須寫在最前面
    local [變數名稱] = [變數初始值] <-必須寫在最前面
    set [變數名稱] = [變數值]
    技巧上來說:
    Custom script: set 區域變數 = udg_全域變數
    Wait
    Custom script: set udg_全域變數 = 區域變數

  • 使用單行JASS設定「本機玩者」以便對特定玩者播放音效或者執行類似動作

  • 對於一些想在GUI觸發中直接使用,但是必須用JASS取得的函數值,可以用在初始化時記錄在變數中,例如:

    Init
     Events
      Map initialization
     Conditions
     Actions
      Custom script: set udg_IsSingleGame = bj_IsSinglePlayer
      Custom script: set udg_LocalPlayer = GetLocalPlayer()
      Custom script: set udg_Locust = 'Aloc'

    如此要用的時候就輕鬆很多:

    Unit - Add Locust to (Triggering unit)
    If (LocalPlayer Equal to Player 1 (Red))
     then do (Sound - Play BlizzardTarget1 <gen>) else do (Do nothing)

  • 程度高一點的可以學習有關記憶體漏失的問題,以優化地圖,減低不必要的延遲和資源浪費

JASS撰寫

  • 暫時不用的JASS語句前加上//以達到停用單行JASS的目的。

  • 利用ExecuteFunc來新增執行緒,參數問題可以借用blizzard.j的共用變數,或者自訂全域變數來傳送。

  • 寫JASS要學習動態、靈活地增刪物件,尤其是觸發器,使它們在不需要時不存在,需要時立即可被調用。如此便可省下不必要的資源浪費。

  • 常用到的特定步驟,就可以考慮製成一個函數,如此便可精簡程式碼,日後也容易做統一性的修改,這便是模組化。

  • 利用回傳錯誤和遊戲快取做資料連結,只要有其中的某個物件,就能夠取得其它相關的物件。如此便能做出支援多重施法的高階技能。

技能製作

  • 使用隱藏部隊達到合併技能效果、單體技群體化、一般技改為自動施展等

  • 利用有蝗蟲技能的部隊做特效,以便做出不同大小、高度、顏色、透明度的特效效果

  • 使用連結做為觸發技能的基底

  • 使用法術書做出多項選擇的技能

  • 隱藏被動技圖示:把被動技放在法術書內,把法術書用觸發關閉,然後添加法術書給部隊,部隊就會得到隱藏的被動技。

  • 使用暴風烏鴉技能以便用觸發改變非飛行部隊的飛行高度。如果不想看到圖示,可用觸發關閉之

  • 使用浮動文字做出字幕效果,一般方法是:創造、設位移、設時限、設壽命、設衰退點

  • 使用觸發加入特效和音效,以增加技能的華麗度

  • 利用科技需求做為技能的限制。例如要讓英雄變身後就不能用技能,可以把它的技能加入一個科技需求:[變身前的英雄]
    ※注意是否允許科技重疊(單玩家多個重複英雄的情形)。

  • 使用觸發Enable/Disable Ability做為技能的限制,和科技需求不同的是,被停用的技能不會顯示、不能學習,而未達科技需求的技能仍會顯示出圖示和說明,也可以學習。
    ※注意是否允許科技重疊(單玩家多個重複英雄的情形)。

  • 利用Turn On/Off以及時間事件,做出間隔時間短的細微動畫(卡通原理)
    ※注意是否支援多重施法

  • 使用觸發技能時要注意技能可否重學、可否重設冷卻時間(有些技能牽涉到變數記錄,不能在一次技能生效期間施展第二次)、可否改變施法者的所有權、可否一個玩家多個施法者、可否用Spell Shield……等等可能造成錯亂的狀況

綜合教學/we常用小技巧.txt · 上一次變更: 2007年11月10日 7:53 pm 來自 wasabi
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0