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