Playmaker全面實踐教程之Playmaker常用工具

大學霸發表於2015-05-27

Playmaker全面實踐教程之Playmaker常用工具

Playmaker常用工具

Playmaker外掛搭載了8個工具:FSM BrowserState BrowserTemplatesToolsActionsGlobalsEventsFSM Log。熟練的使用這些工具,可以讓開發者更全面的掌控當前的遊戲專案,方便的檢視和管理使用Playmaker建立的狀態機。本章將詳解介紹這些常用工具。

Playmaker檢視/管理專案中的狀態機

我們可以使用FSM Browser(狀態機瀏覽器)檢視/管理遊戲專案中的所有狀態機。單擊PlayMaker|Editor Windows|FSM Browser命令,可以開啟此編輯視窗,如圖6-1所示。


6-1  FSM Browser

提示:本節介紹FSM Browser時,使用的示例截圖來源於一個自制的遊戲專案。此遊戲專案包含5個遊戲物件,擁有狀態機的遊戲物件是CubeCylinder,如圖6-2所示。Cube上的狀態機名為FSMCube,包含狀態CubeState1CubeState2Cylinder上的狀態機名為CylinderFSM,包含狀態CylinderState1,如圖6-3所示。


6-2  遊戲場景中的遊戲物件         6-3  賦予CubeCylinder物件的狀態機

注意:此遊戲示例不包含任何功能,只是為了清楚解釋FSM Browser的使用方法和作用。

Playmaker狀態機列表

FSM Browser中間的檢視區域,就是狀態機列表,它呈現了下面5個方面的資訊:

q  2指向的核取方塊,決定了是否要禁用遊戲專案中的此狀態機;

q  3指向的字串,顯示了狀態機所屬的遊戲物件以及狀態機名;

提示:如果不希望看到狀態機所屬的遊戲物件,可以單擊6指向的按鈕,然後取消對Show Full FSM Path的複選,如圖6-4所示。


6-4  Show Full FSM Path  6-5  playMakerInspector Panel中,編輯狀態機描述和線上資源網址的位置

q  4指向的字串,是對被選中狀態機的功能描述;

q  5指向的字串,是一個線上資源的網址;

提示:單擊8指向的圖示後,瀏覽器會自動載入5指向的網址。

q  7指向的字串,是狀態機當前所處的狀態;

提示:開發者可以直接編輯45所指向的位置,效果等同於在playMakerInspector Panel中進行編輯,如圖6-5所示。


Playmaker篩選狀態機

1指向的下拉選單,可以篩選FSM Browser中顯示的狀態機。篩選的條件有下列4個(下拉選單的4個選項),如圖6-6所示。

q  All:顯示全部的狀態機;

q  On Selected Object:顯示選中游戲物件上的狀態機;

q  Recently Selected:顯示近期選擇過的狀態機;

q  With Errors:顯示有錯誤的狀態機;


6-6  預置的4個篩選條件

Playmaker使用此工具的優點

使用FSM Browser可以檢視/管理遊戲專案中的狀態機。具體到細節而言,使用此工具可以帶來以下優點:

q  快速選中游戲專案中的狀態機;

q  遊戲執行時,實時檢視狀態機當前所處狀態;

q  快速的切換狀態機的可用/禁用狀態;

q  直接編輯狀態機的描述和連結資訊;

Playmaker檢視/管理狀態機中的狀態

使用State Browser可以檢視/管理指定狀態機中的狀態。單擊PlayMaker|Editor Windows|State Browser命令,可以開啟此編輯器口,如圖6-7所示。


6-7  State Browser

提示:本節介紹State Browser時,使用的示例截圖來源於一個自制的遊戲專案,此遊戲專案與上一節相同。

Playmaker狀態列表

State Browser中間的列表,就顯示了指定狀態機中的所有狀態。

提示:也就是2所指向的區域。

Playmaker指定狀態機

1指向的下拉選單,用於指定遊戲專案中的狀態機,如圖6-8所示。而State Browser中顯示的狀態,則是此狀態機中的所有狀態。


6-8  1指向的下列列表

提示:此時的遊戲專案中,Cube擁有狀態機FSMCubeCylinder擁有狀態機CylinderFSM

Playmaker使用此工具的優點

使用State Browser可以檢視/管理狀態機中的狀態,具體到細節而言,使用此工具可以帶來以下優點:

q  快速預覽選定狀態機中的所有狀態;

q  快速選擇狀態機中的特定狀態;

Playmaker檢視/管理狀態機模板

模板(Template)可以加快我們建立狀態機的速度。在很多功能重複的狀態機上,模板的作用不可小覷。Templates可以檢視/管理狀態機模板,單擊PlayMaker|Editor Windows|Templates Browser命令,可以開啟此編輯視窗。

提示:本節的操作,依然建立在上一節遊戲專案的基礎之上。

Playmaker建立模板

假設FSMCube狀態機裡,狀態CubeState1CubeState2構成的功能,其它狀態機也同樣需要,那麼就無需在其它狀態機裡再次構建,因為使用模板是最快捷的方法。請按照下面的步驟操作,學習建立模板的方法:

1FSMCube狀態機及其狀態,如圖6-9所示。現在需要將狀態CubeState1CubeState2建立為模板。


6-9  FSMCube狀態機及其狀態

2我們需要同時選中狀態CubeState1CubeState2,然後右擊並選擇Save Template命令,再為“模板”資源指定檔名和儲存路徑以後,模板就建立成功了。

提示:預設情況下,模板都被儲存在Project檢視的PlayMaker/Templates路徑下,如圖6-10所示。本示例建立了兩個版本template1template2


6-10  模板資源的預設儲存路徑

Playmaker為模板分類

在瞭解為模板分類的方法之前,首先來看Templates的列表檢視區域。Template編輯視窗,如圖6-11所示。


6-11  Templates

提示:Templates編輯視窗列出了開發者建立的所有模板。

q  1表示模板的分類;

提示:單擊這個表示模板分類的按鈕,可以展開所有此分類下的模板。

q  2表示模板;

在選中一個具體的模板以後,編輯3指向的文字框,即可“新建模板分類”或者“指定模板分類”!而4指向的位置,則用於為模板新增描述資訊。

Playmaker使用模板

假設狀態機CylinderFSM要用到我們之前建立的模板。請按照下面的步驟來操作,學習使用模板的方法。

1狀態機CylinderFSM裡現有的狀態,如圖6-12所示。


6-12  狀態機CylinderFSM,及其狀態

2在狀態機編輯視窗編輯區域的空白處右擊,然後選擇Paste Template命令,從此選單項中找到建立的模板,然後單擊目標模板即可。例如,本示例建立的模板位於Gengeral分類下,如圖6-13所示。


6-13  Paste Template   6-14  在狀態機CylinderFSM中使用模板template1

3完成以上操作以後,模板template1就被新增到狀態機CylinderFSM中了,如圖6-14所示。

 

Playmaker注意事項

建立和使用模板時,需要注意以下幾點:

q  建立模板時,被選中狀態所使用的變數和事件,也會一併被“儲存”到模板中;

q  使用模板時,模板狀態中的變數和事件,也會一併被“新增”到狀態機中;

Playmaker狀態機常用操作(過時)

編輯狀態機的時候,很多操作都是十分常用的,如新增狀態、新增過渡等等。舊版本的Playmaker收集、整理了這些常用操作,最後整合到了Tools中。單擊PlayMaker|Editor Windows|Edit Tool Window命令,可以開啟此編輯視窗,如圖6-15所示。

提示:因為這一工具已經過時,所以本節只會簡要介紹這一工具。


6-15  Tools

Tools中的內容會依據開發者在playMaker編輯器中的選擇而發生變化。它會顯示出與當前選擇相關的按鈕。

注意:本節介紹的工具的功能已經被整合到了playMaker的上下文選單中。

Playmaker編輯狀態機

當開發者選中了一個狀態機,Tools中的內容如圖6-16所示。此時Tools認為開發者打算編輯狀態機。

提示:現在這一功能已被整合到playMaker的上下文選單中,右擊playMaker的空白處,如圖6-17所示。


6-16  編輯狀態機           6-17  上下文選單

Playmaker編輯狀態

當開發者選中了一個狀態,Tools中的內容如圖6-18所示。此時Tools認為開發者打算編輯狀態。

提示:現在這一功能已被整合到playMaker的上下文選單中,右擊狀態,如圖6-19所示。


6-18  編輯狀態                 6-19  上下文選單

Playmaker編輯過渡事件

當開發者選中了一個過渡事件,Tools中的內容如圖6-20所示。此時Tools認為開發者打算編輯過渡事件。

提示:現在這一功能已經被整合到playMaker的上下文選單中,右擊過渡事件,如圖6-21所示。


6-20  編輯過渡事件                6-21  上下文選單

Playmaker檢視/新增動作

Playmaker外掛預置了大量的動作,我們可以使用Actions檢視/新增這些動作。單擊PlayMaker|Editor Windows|Action Browser命令,可以開啟此編輯視窗,如圖6-22所示。


6-22  Actions(太長,截成兩段展示)

本節將以Input動作分類中的Any Key動作為例,說明Actions編輯器視窗的使用方法,如圖6-23所示。


6-23  ActionsInput動作分類中的Any Key動作

q  1指向的是動作分類按鈕,單擊此按鈕可以展開此分類中的所有動作;

q  2指向的是動作;

Playmaker預覽動作

使用動作前,可以在Actions裡預覽選中的動作。

提示:要預覽選中的動作,需要確保5所指屬性Preview被複選。

q  3所指字串是動作的簡要描述;

q  4所指區域是動作的屬性;

Playmaker定位幫助文件

要了解所選動作的更多幫助資訊(包括動作屬性的意義),可以單擊6所指的按鈕,Playmaker會讓瀏覽器自動定位到對應動作的線上幫助文件。例如動作Any Key,線上文件如圖6-24所示。


6-24  動作Any Key的線上文件

Playmaker新增動作

要新增Actions中所選的動作到狀態,可以使用下列兩種方法:

q  雙擊Actions中所選的動作;

q  單擊7所指的按鈕Add Action To State

Playmaker檢視/管理全域性變數

全域性變數儲存的資訊可以被遊戲場景中的所有狀態機共享,因此它是十分重要的。使用Globals可以檢視/管理所有的全域性變數,單擊PlayMaker|Editor Windows|Global Variables命令,可以開啟此編輯視窗,如圖6-25所示。


6-25  Globals

注意:“當前遊戲專案”中定義的全域性變數,都會在Globals中列出。不要誤以為是“當前遊戲場景”。

Playmaker全域性變數列表

Globals中間的檢視區域,就是全域性變數列表。此列表列出了當前遊戲專案中所有的全域性變數。其中:

q  1指向的列表示全域性變數的名稱;

q  2指向的列表示全域性變數被使用的次數;

提示:為了讓全域性變數的使用次數更準確,可以手動更新,方法是單擊8所指向的按鈕。

q  3指向的列表示全域性變數的型別;

Playmaker新增/刪除全域性變數

Globals下側的部分,可以被用來新增全域性變數,其中:

q  6指向的部分用來命名全域性變數;

q  7指向的部分用來設定型別;

q  9指向的Add按鈕用來新增全域性變數;

如果對已定義的全域性變數不滿意,可以單擊5所指向的按鈕,刪除指定的全域性變數。

Playmaker注意事項

對於Globals編輯視窗,需要特別注意的是:

q  全域性變數(資源)的儲存位置是,Project檢視PlayMaker/Resources路徑下的PlayMakerGlobals檔案中,如圖6-26所示。


6-26  全域性變數(資源)的儲存位置

Playmaker檢視/管理事件

使用Events可以檢視/管理遊戲專案中所有的事件。單擊PlayMaker|Editor Windows|Event Browser命令,可以開啟此編輯視窗,如圖6-27所示。


6-27  Events

注意:“當前遊戲專案”中的使用的事件,都會被Events列出。不要誤以為是“當前遊戲場景”。

Playmaker事件列表

Events中間的檢視區域,就是事件列表。此列表列出了當前遊戲專案使用的所有事件。其中:

q  1指向的列用於標識全域性事件。要讓一個事件成為全域性事件,只需要複選此列的核取方塊即可;

提示:本地事件只能被當前狀態機觸發,而全域性事件可以被外部狀態機觸發。

q  2指向的列表示事件的名稱;

q  3指向的列表示事件被使用的次數;

Playmaker使用/刪除事件

事件都被定義在狀態機中,但是可以在Events中直接編輯。例如要將其刪除,可以單擊4指向的按鈕。

單擊5指向的按鈕Add Selected Events To FSM,可以將選中的事件新增到狀態機中,然後狀態機再決定如何使用此事件。

Playmaker檢視狀態機執行細節

狀態機在遊戲執行時,執行的太快。如果希望掌握其執行細節,可以使用FSM LogFSM Log會詳細記錄指定狀態機的執行細節。單擊PlayMaker|Editor Windows|Log Window命令,可以開啟此編輯視窗,如圖6-28所示。


6-28  FSM Log

提示:本節使用的FSM Log截圖例項,來源於本章第一節的遊戲示例。而狀態細節記錄的是FSMCube狀態機的執行,如圖6-29所示。


6-29  本章FSM Log截圖示例,記錄的狀態機,及其執行過程

Playmaker狀態機執行細節列表

FSM Log中間的檢視區域就是狀態機執行細節列表。此列表按照時間順序,從上到下記錄了指定狀態機的執行細節。其中:

q  2指向的是一個時間,表示從開始執行遊戲到此執行此細節所消耗的時間;

提示:如果讀者的FSM Log沒有顯示時間,可以手動設定。方法是單擊5指向的按鈕,然後選擇Show TimeCode,如圖6-30所示。

q  3指向的是一個“符號”,可以讓我們閱讀FSM Log細節列表的速度更快;

提示:Playmaker預置了3種“符號”,如圖6-31所示,分別表示“進入狀態”、“警告”和“錯誤”。


6-30  手動設定,令FSM Log顯示時間       6-31  預置的3種“符號”

q  2指向的字串,時間後面的字串是有固定格式的。這種格式相當於一種約定,可以讓字串更短,表示的含義更多;

提示:Playmaker預置了4種字串“格式”,如圖6-32所示。它們分別表示“狀態機開始執行”、“狀態機接收到事件”、“從狀態退出”和“進入狀態”。


6-32  Playmaker預置的4種字串“格式”

Playmaker選擇狀態機

FSM Log一次只能記錄一個狀態機的執行細節。我們可以從1指向的下拉選單中選擇要檢視的狀態機。例如,對於本章一直在使用的遊戲示例,此下拉選單中的內容,如圖6-33所示。


6-33  1指向的下列列表中選擇要檢視的狀態機

Playmaker清除記錄內容

FSM Log可以持續不斷的記錄很多、很長的細節。如果有很多記錄細節是不需要的,可以單擊4指向的按鈕Clear,清除FSM Log中記錄的所有內容。

本文選自:Playmaker全面實踐教程Input篇大學霸資料,轉載請註明出處,尊重技術尊重IT人!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-1673348/,如需轉載,請註明出處,否則將追究法律責任。

相關文章