這次教學前,首先要看一下哈哈姆特的特殊介面(目前必須在app版才能互動的樣子)
就是可以跟 官方柚子bot 玩動漫電玩通 的這個介面:
就是可以跟 官方柚子bot 玩動漫電玩通 的這個介面:
強烈建議先去玩一下柚子再來看下面的文章,對柚子說“問答”就可以玩了
這個介面有開api能讓我們自己設計使用,整個有點像做遊戲的感覺
因為要使用這個介面,其實涉及到程式的撰寫面比較多,的確是要一點軟底子的,
為了讓大家更好理解一點,這次只會講解一下設計概念(簡單)的部分
範例程式的部分會附上程式碼,code寫得不好的話還請見諒啊~
然後因為這篇比較進階,實作的部分請一定要先去這篇實作完後再進行下去
那教學開始囉!
這次目標是要做出這樣的bot:
不用打字打指令,只要點按鈕就能觸發bot動作
以我做的美食殿bot 為例,
點右上角?按鈕會觸發特殊介面,然後點介面上的按鈕能夠:
1. 顯示bot 能夠查詢資料的遊戲角色
2. 抽卡模擬
3. bot說明
要做出上面這樣的介面需要這幾個步驟:
1. 設定:一個關鍵字,當作啟動介面用(我的例子是綁定bot的代號)
2. 設計:啟動介面的圖案&初始的介面樣子(我的例子是用可口蘿圖,不顯示血條...)
介面上每個按鈕都要給一個指令,然後把這些資訊依照官方文件的格式打包起來,以下簡稱 那一包
3. 設計:按下按鈕後介面變動後的樣子,介面上每個按鈕的指令,以下簡稱 第二包(柚子的介面會因應答題對錯然後換下一題而變動,我的例子是和初始介面一樣,不會變動)
4. 設定:按下按鈕bot要做出的對應動作(柚子的例子是檢查有沒有答對,我的例子是列出角色表..)
然後整體流程,應該會是這樣的順序:
- 使用者輸入了啟動特殊介面的關鍵字 ->
- 我們的bot收到關鍵字後,把啟動圖&初始介面的 那一包 丟給哈哈姆特server ->
- 哈哈姆特記住了 那一包 上每個按鈕的指令 ->
- 哈哈姆特把 那一包 的畫面設定轉成介面顯示給使用者看到 ->
- 使用者點擊按鈕 ->
- 哈哈姆特找到之前記住按鈕對應的指令,把它丟回給我們的 bot ->
- 我們的bot收到指令後,執行我們設定的功能,並且把 第二包 丟給哈哈姆特server ->
- 哈哈姆特記住了 第二包 上每個按鈕的指令 ->
- 哈哈姆特把 第二包 的畫面設定轉成介面顯示給使用者看到 -> 回到步驟5
實作:
把程式碼貼到google apps script就能用了,這邊就不多說啦!
第一次嘗試的朋友可以看這一篇,照著做就OK了
歸納這個介面以下幾個要點:
1. 要開啟遊玩介面前,要給一個點擊用的圖片,點擊以後開始遊玩
2. 介面上的元件有:
a.血條
b.圖片
c.文字
d.按鈕
3. 可以即時的去對元件做處理:
現在的血量是多少、圖片顯示哪張、文字內容、按鈕文字和數量變化
4. 元件全部都可以選擇要不要被隱藏起來(不顯示血條就變成了戀愛模擬遊戲的感覺XD)
5. 介面可以被縮成小視窗(能邊聊天邊玩?)
6. 每次觸發可以被視為不同的獨立事件
這個要特別說一下,玩了幾次柚子的動漫電玩通後發現,
如果我連續打兩次問答,出現了兩次“展開柚子“的圖,但是點擊後發現並是不同一局!
也就是說,事件可以同時進行!
然後,這個東西好像有點活!?感覺能夠拿來做成很多種應用
比如說:
a. 不顯示血條和按鈕,設計成每隔一秒就更換圖片和文字的話 => 故事介面
b. 按鈕設計成攻擊指令,圖片設計成Boss,Boss會應血量變化而換圖 => 戰鬥介面
也太好玩了XD
那這次就先介紹到這邊囉~有空的話看看要不要來做一個打boss的戰鬥介面教學XD
bot圖片來自: 居家型暗黑凶宅
https://home.gamer.com.tw/homeindex.php?owner=shau0516