距離《塔可泡泡》手機商店上架不知不覺也已經超過一個月了,期間各種維護修改接洽的事務還真是比想像中的多。雖然說這跟它的總開發時間比起來只是小巫見大巫,但身為遊戲製作者還是很希望回歸到製作的正軌上的。畢竟我已經動作慢又沒效率又懶了嗚嗚去年揉掉的兩個動作類遊戲到底能不能浴火重生變得簡潔又能見人呢
嘛,碎念完來補一些最近用到的半生熟肉吧。GM:S製作的網頁遊戲要怎麼跟網頁溝通呢?
(1) JavaScript Extension:
- 新增 extension,Files -> Add JS Placeholder,就可以產生出一個外掛 .js 檔,用任意的文字編輯器加入新的 js function 囉。對 gml 內部則是使用 IDE 介面再次對著 .js 名稱點兩下,Functions -> Add Function 就可以幫 .js 裡的 function 名稱新增一個 gml 這邊看到的名稱。那既然這個玩意實質上就是在網頁中的 js,愛怎麼調用 js 功能就可以隨意囉。例如:function hello() { console.log("Hello, browser!"); } 值得注意的是,這個js檔案似乎是不會被 gms obsfuscate 的,所以就別在裡面藏甚麼秘密了吧。
(2) gmcallback_
- 在 gms project 裡面新增特殊字串開頭的 script: "gmcallback_",很神奇地也是不會被 obsfuscate 的!如此外部的網頁 script 就可以任意操弄你的遊戲了呢,真的是 amazing。在遊戲中放這種大開的後門真的可以嗎?例如:gmcallback_hello.gml show_debug_message("Hello, game."); 在網頁中就是 document["gml_Script_gmcallback_hello"]。
以上資料都可以在 YoYo Games 官方論壇搜尋到。不負責任無圖文請見諒XD