跳到正文
本頁目錄

📊 表單 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,即非表單更新
  • 返回值:發送的表單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,即非表單更新
  • 返回值:發送的表單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來標識按鈕對應的圖標。
對於表單上的每個按鈕,如下設置對應的圖標

  1. 如果使用材質包路徑,圖片路徑應該形如 textures/items/apple
  2. 如果使用URL路徑,那麼在這裡放入完整的URL即可,形如 https://www.baidu.com/img/flexible/logo/pc/result.png
  3. 如果這個按鈕你不需要顯示圖片,那將對應的圖片路徑設置為空字符串即可

向玩家發送自定義表單(JSON格式)

自定義表單可以包含豐富的自定義控件。
由於相關JSON定義格式相對複雜,建議使用下一節的表單構建器API更好地完成這項任務。

pl.sendCustomForm(json,callback[,forUpdating])

  • 參數:
    • json : String
      自定義表單json字符串
    • callback : Function
      玩家提交表單之後被調用的回調函數。
    • forUpdating : Boolean (可選參數,在0.11.0中加入)是否為表單更新,默認值為false,即非表單更新
  • 返回值:發送的表單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