📊 表單 API
這裡API使你可以在遊戲中創建、修改或者影響 GUI界面
很明顯,清晰直觀的UI界面有助於玩家快速上手插件的使用,提供良好的用戶體驗。
📊 表單相關 API
對於某個特定的玩家對象pl,有以下這些表單接口可用
向玩家發送模式表單
模式表單包含一個標題、一個文本顯示框以及兩個按鈕
pl.sendModalForm(title,content,confirmButton,cancelButton,callback[,forUpdating])
- 參數:
- title :
String
表單標題 - content :
String
表單內容 - confirmButton :
String
按鈕1文本的字符串 - cancelButton :
String
按鈕2文本的字符串 - callback :
Function
玩家點擊按鈕之後被調用的回調函數。 - forUpdating :
Boolean(可選參數,在0.11.0中加入)是否為表單更新,默認值為false,即非表單更新
- title :
- 返回值:發送的表單ID
- 返回值類型:
Integer- 如果返回值為
Null,則代表發送失敗
- 如果返回值為
參數callback的回調函數原型:function(player,result,reason)
- player :
Player
與表單互動的玩家對象 - result :
Boolean
玩家點擊確定按鈕為true,取消按鈕為false
如果id為Null,則代表玩家取消了表單 - reason :
Integer(在0.9.0中加入) 表單被取消的原因 0 = UserClosed, 1 = UserBusy reason可能會是null.
向玩家發送普通表單
普通表單包含一個標題、一個文本顯示框以及若干按鈕,可以設置按鈕上顯示的圖標
由於按鈕的內容設置相對複雜,建議使用下一節的表單構建器API更好地完成這項任務。
pl.sendSimpleForm(title,content,buttons,images,callback[,forUpdating])
- 參數:
- title :
String
表單標題 - content :
String
表單內容 - buttons :
Array<String,String,...>
各個按鈕文本的字符串數組 - images :
Array<String,String,...>
各個按鈕對應的圖片路徑 - callback :
Function
玩家點擊按鈕之後被調用的回調函數。 - forUpdating :
Boolean(可選參數,在0.11.0中加入)是否為表單更新,默認值為false,即非表單更新
- title :
- 返回值:發送的表單ID
- 返回值類型:
Integer- 如果返回值為
Null,則代表發送失敗
- 如果返回值為
參數callback的回調函數原型:function(player,id,reason)
- player :
Player
與表單互動的玩家對象 - id :
Integer
玩家點擊的表單按鈕的序號,從0開始編號
如果id為Null,則代表玩家取消了表單 - reason :
Integer(在0.9.0中加入) 表單被取消的原因 0 = UserClosed, 1 = UserBusy reason可能會是null.
圖片路徑參數 images 使用材質包路徑或者URL來標識按鈕對應的圖標。
對於表單上的每個按鈕,如下設置對應的圖標
- 如果使用材質包路徑,圖片路徑應該形如
textures/items/apple - 如果使用URL路徑,那麼在這裡放入完整的URL即可,形如
https://www.baidu.com/img/flexible/logo/pc/result.png - 如果這個按鈕你不需要顯示圖片,那將對應的圖片路徑設置為空字符串即可
向玩家發送自定義表單(JSON格式)
自定義表單可以包含豐富的自定義控件。
由於相關JSON定義格式相對複雜,建議使用下一節的表單構建器API更好地完成這項任務。
pl.sendCustomForm(json,callback[,forUpdating])
- 參數:
- json :
String
自定義表單json字符串 - callback :
Function
玩家提交表單之後被調用的回調函數。 - forUpdating :
Boolean(可選參數,在0.11.0中加入)是否為表單更新,默認值為false,即非表單更新
- json :
- 返回值:發送的表單ID
- 返回值類型:
Integer- 如果返回值為
Null,則代表發送失敗
- 如果返回值為
參數callback的回調函數原型:function(player,data,reason)
- player :
Player
與表單互動的玩家對象 - data :
Array<...>
返回的表單內容數組
數組中,第一項一定為Null,從第二項開始,按表單上的控件順序儲存了每一個控件的內容
如果data只為Null,則代表玩家取消了表單 - reason :
Integer(在0.9.0中加入) 表單被取消的原因 0 = UserClosed, 1 = UserBusy reason可能會是null.
關閉玩家正在打開的表單
pl.closeForm()
- 返回值:請求是否成功
- 返回值類型:
Boolean