Rumah > hujung hadapan web > tutorial js > Membina Dek Strim Tersuai untuk Jadual D&D Saya: Menyelesaikan Penyepaduan Pad Permainan dengan SDK Tersuai

Membina Dek Strim Tersuai untuk Jadual D&D Saya: Menyelesaikan Penyepaduan Pad Permainan dengan SDK Tersuai

Linda Hamilton
Lepaskan: 2024-10-01 20:18:29
asal
753 orang telah melayarinya

Building a Custom Stream Deck for My D&D Table: Solving Gamepad Integration with a Custom SDK

Sebagai pemain Dungeons & Dragons yang bersemangat dan peminat teknologi, saya memutuskan untuk meningkatkan persediaan permainan saya dengan mencipta meja kopi tersuai yang menampilkan skrin terbenam. Jadual ini memaparkan peta, token, memainkan kesan bunyi dan juga menunjukkan karya seni untuk pemain. Semua ini berjalan melalui platform berkuasa yang dipanggil Foundry VTT, yang serupa dengan Roll20 tetapi dengan model harga yang lebih baik dan sistem modul terbuka yang luas. Ia sesuai untuk menyesuaikan pengalaman atas meja anda.

Semasa meneroka cara untuk meningkatkan persediaan saya, saya melihat modul yang membenarkan dek aliran disepadukan dengan Foundry. Alat ini menyediakan akses pantas kepada makro dan arahan, menjadikan permainan lebih lancar. Bagaimanapun, selepas melihat harga dek aliran (200 euro!), saya belum bersedia untuk membuat pelaburan itu.

Kemudian saya teringat sesuatu - beberapa tahun lalu, saya membina mesin arked. Walaupun mesin itu telah lama dibongkar, saya masih mempunyai butang dan papan pengawal daripada projek itu. Dengan sedikit kreativiti dan pencetak 3D, saya membuat "dek strim" tersuai saya sendiri dengan mencetak kotak kecil dengan slot untuk butang.

Sekarang saya telah menyediakan perkakasan, tetapi menyepadukannya dengan Foundry VTT memberikan cabaran. Saya mahu menggunakan API Gamepad dalam penyemak imbas untuk mendaftarkan butang menekan saya, tetapi saya terkejut dengan kekurangan fleksibiliti dalam cara API mengendalikan input. Pendekatan lalai adalah menggunakan gelung while(true) untuk sentiasa mengundi untuk keadaan ditekan setiap butang. Walaupun ini berfungsi dengan baik dalam gelung permainan menggunakan requestAnimationFrame, untuk tujuan saya, ia berasa tidak cekap dan terus terang, bodoh. Saya hanya mahu membalas penekanan butang dengan pendengar acara, bukan sentiasa menyemak keadaan pad permainan dalam gelung yang tidak berkesudahan.

Ini membawa saya mencipta Gamepad SDK yang saya kongsi hari ini.

Dengan SDK ini, saya mempermudahkan proses dengan membenarkan pembangun menambahkan pendengar acara untuk menekan butang, keluaran dan perubahan paksi secara langsung – tiada undian diperlukan. Ia juga termasuk sokongan untuk menyambung dan memutuskan sambungan pad permainan, yang memudahkan untuk disepadukan dengan platform seperti Foundry VTT atau mana-mana projek berasaskan penyemak imbas.

Dengan menggunakan SDK ini, sesiapa sahaja boleh menyambungkan pengawal tersuai mereka ke apl berasaskan penyemak imbas tanpa perlu menyemak keadaan pad permainan secara manual. Untuk jadual D&D saya, kini bermakna saya boleh menggunakan dek strim sementara saya dengan lancar untuk mengawal makro dalam permainan, tindakan dan banyak lagi – semuanya terima kasih kepada beberapa butang dan sedikit kod.

Jika anda berminat, lihat SDK dan jangan ragu untuk menghubungi jika anda ingin menyelesaikan masalah yang sama!

Github: https://github.com/RamonGebben/Gamepad-SDK
NPM: https://www.npmjs.com/package/@pindakaasman/gamepad-sdk

Atas ialah kandungan terperinci Membina Dek Strim Tersuai untuk Jadual D&D Saya: Menyelesaikan Penyepaduan Pad Permainan dengan SDK Tersuai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan