Roblox menerima input dari gamepad seperti pengontrol Xbox dan PlayStation. Untuk menyederhanakan input lintas platform, termasuk gamepad, Roblox menyediakan Sistem Aksi Input untuk mendefinisikan aksi seperti "melompat," "berlari," atau "menembak" dan mengatur binding untuk beberapa input perangkat keras untuk menggerakkan aksi tersebut.
Saat mengikat input gamepad, lihat skema kontrol umum untuk menciptakan pengalaman gamepad yang konsisten bagi pemain. Setelah input diatur, Anda dapat meningkatkan pengalaman pemain dengan menyertakan umpan balik haptic pada pengontrol yang didukung.
Saat Anda membangun dukungan untuk gamepad, ingatlah untuk menguji secara berkala menggunakan gamepad yang terhubung atau Emulator Pengontrol di Studio.
Deteksi jenis input
Dalam pengembangan lintas platform, penting bagi Anda untuk menentukan dan merespons jenis PreferredInput yang digunakan pemain, biasanya untuk memastikan bahwa elemen UI seperti tombol dan menu di layar berfungsi dengan baik dan mendukung interaksi di berbagai perangkat.
Sebagai contoh, konsol menganggap bahwa gamepad adalah input default, tetapi pemain di PC atau laptop juga dapat memilih untuk menghubungkan gamepad bluetooth. Dalam hal ini, mouse/keyboard tetap menjadi input yang valid untuk pemain tersebut, tetapi Anda dapat mengasumsikan mereka ingin beralih ke gamepad yang terhubung sebagai jenis input utama.
Lihat deteksi jenis input untuk informasi lebih lanjut.
Skema kontrol umum
Saat mempertimbangkan binding kontrol spesifik untuk Sistem Aksi Input, sebaiknya menetapkan konsistensi di berbagai game. Binding input berikut akan membantu pemain merasa akrab dan nyaman dengan kontrol gamepad.
| Input | Kasus penggunaan umum |
|---|---|
| ButtonA | Menerima prompt pemain atau pilihan GUI. Sebagai alternatif digunakan untuk aksi utama seperti melompat. |
| ButtonB | Membatalkan prompt pemain atau pilihan GUI. Sebagai alternatif digunakan untuk aksi sekunder seperti menghindar, berguling, atau berlari. |
| Thumbstick1 | Umumnya terkait dengan pergerakan karakter. |
| Thumbstick2 | Umumnya terkait dengan pergerakan kamera. |
| ButtonL2, ButtonR2 | Umumnya digunakan untuk aksi utama, seperti menembak. |
| ButtonL1, ButtonR1, ButtonX, ButtonY | Aksi sekunder seperti mengisi ulang, menargetkan, atau mengakses inventaris atau minimap. |

Umpan balik haptic
Banyak pengontrol gamepad memiliki motor yang terpasang untuk memberikan umpan balik haptic. Menambahkan getaran dan getaran dapat sangat meningkatkan pengalaman pemain dan memberikan umpan balik halus di luar visual atau audio.
Roblox mendukung haptics untuk gamepad PlayStation, gamepad Xbox, dan pengontrol Quest Touch. Umpan balik haptic dikelola melalui instance HapticEffect yang dapat diatur ke Type tertentu seperti GameplayCollision atau UIClick.
Setelah HapticEffect diterapkan, Anda dapat memulainya melalui metode Play(), misalnya:
local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
effect.Type = Enum.HapticEffectType.GameplayExplosion
effect.Parent = Workspace
-- Mainkan efek haptic
effect:Play()Emulasi pengontrol
Gunakan Emulator Pengontrol untuk menguji input gamepad langsung di Studio tanpa pengontrol fisik yang terhubung. Ini menunjukkan gambar perangkat yang disimulasikan dan menyalakan kontrolnya saat input tiba, yang membantu mengonfirmasi bahwa handler UserInputService Anda dan binding Sistem Aksi Input bereaksi seperti yang Anda harapkan.