作為一個熱情的龍與地下城玩家和技術愛好者,我決定通過創建一個帶有嵌入式屏幕的定制咖啡桌來提升我的遊戲設置。這張桌子顯示地圖、代幣、播放音效,甚至為玩家展示藝術品。所有這一切都透過一個名為 Foundry VTT 的強大平台運行,該平台與 Roll20 類似,但具有更好的定價模型和廣泛的開放模組系統。它非常適合客製化您的桌面體驗。
在探索增強設定的方法時,我注意到允許串流平台與 Foundry 整合的模組。這些工具提供對巨集和命令的快速訪問,使遊戲更加流暢。然而,在看到流甲板的價格(200 歐元!)後,我還沒有準備好進行這項投資。
然後我想起一件事——幾年前,我建造了一台街機。雖然機器早已被拆除,但我仍然保留著專案中的按鈕和控制板。憑藉一點創意和一台 3D 列印機,我透過列印一個帶有按鈕插槽的小盒子來製作自己的客製化「流甲板」。
現在我已經準備好了硬件,但將其與 Foundry VTT 整合是一個挑戰。我想在瀏覽器中使用 Gamepad API 來註冊我的按鈕按下操作,但令我震驚的是 API 處理輸入的方式缺乏靈活性。預設方法是使用 while(true) 循環不斷輪詢每個按鈕的按下狀態。雖然這在使用 requestAnimationFrame 的遊戲循環中運作得很好,但就我的目的而言,它感覺效率低下,坦白說,很愚蠢。我想簡單地用事件偵聽器回應按鈕按下,而不是不斷地無限循環地檢查遊戲手把狀態。
這促使我創建了今天分享的 Gamepad SDK。
透過此 SDK,我允許開發人員直接添加按鈕按下、釋放和軸更改的事件偵聽器,從而簡化了流程 - 無需輪詢。它還支援連接和斷開遊戲手柄,從而可以輕鬆與 Foundry VTT 等平台或任何基於瀏覽器的專案整合。
透過使用此 SDK,任何人都可以將其自訂控制器連接到基於瀏覽器的應用程序,而無需手動檢查遊戲手把狀態的麻煩。對於我的 D&D 桌子,現在意味著我可以無縫地使用我的臨時流平台來控制遊戲中的巨集、動作等 - 這一切都歸功於幾個按鈕和一些代碼。
如果您有興趣,請查看 SDK,如果您想解決類似問題,請隨時與我們聯繫!
Github:https://github.com/RamonGebben/Gamepad-SDK
NPM:https://www.npmjs.com/package/@pindakaasman/gamepad-sdk
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3