Object: Gamepad memungkinkan game Anda untuk menerima input dari Console Controller, Gamepad atau Joystick yang terhubung dengan PC. Sementara berbagai perangkat harus bekerja dengan Object: Gamepad, ini dirancang dan bekerja sangat baik dengan XBox 360 Controller, atau Controller dengan rancangan serupa (dengan tata letak tombol / stik yang sama).
Sayangnya, apakah perangkat tertentu didukung atau tidak, tergantung pada banyak faktor, termasuk sistem operasi, driver yang tersedia, dan dukungan browser. Hal ini membuat sulit untuk mengetahui lebih lanjut apakah perangkat tertentu akan berfungsi bekerja dengan baik. Xbox 360 Controller berfungsi luar biasa pada sistem Windows dengan browser Google Chrome. Playstation 3 Controller biasanya tidak bekerja tanpa menginstal driver pihak ketiga (Third party) karena tidak didukung secara resmi. Karena alasan ini, maka disarankan untuk melakukan pengujian menggunakan Google Chrome di Windows dengan XBox 360 Controller, dan harus selalu mendukung metode Input alternatif seperti: Keyboard Input.
Sebagian besar perangkat Mobile tidak memiliki ‘Physical Socket’ untuk terhubung dengan Controller. Oleh karena itu, input dari Gamepad biasanya hanya bisa digunakan dengan komputer desktop. Untuk perangkat seluler dengan Input layar sentuh, fokuskan pada perancangan Touch control (https://www.scirra.com/tutorials/202/touch-controls-and-a-trick-to-detect-input-method).
Untuk mencegah situs web melacak Anda dari Controller yang ada, sebagian besar browser yang mendukung input Gamepad akan melaporkan bahwa tidak ada Controller yang terhubung, sebelum tombol ditekan pada salah satu perangkat.
Key mapping (Pemetaan tombol)
Controller yang berbeda memiliki pengaturan tata letak tombol yang berbeda, atau tombolnya memiliki nama yang berbeda. Misalnya: Playstation 3 Controller menggunakan tombol persegi, lingkaran, segitiga dan X, sedangkan XBox 360 Controller menggunakan A, B, X dan Y (perhatikan bahwa X juga muncul dalam posisi yang berbeda pada masing-masing Controller). Agar konsisten, Object: Gamepad mengacu pada tata letak XBox 360 Controller saja.
Object: Gamepad juga akan mencoba memetakan tombol Controller lainnya ke tata letak Xbox 360 secara internal, untuk memastikan tombol yang sama selalu memicu Event yang sama. Namun tidak praktis untuk mengatur ini untuk setiap perangkat yang ada, jadi beberapa tombol perangkat dapat memicu beberapa Event berbeda di Object: Gamepad. Ini adalah sebagian alasan mengapa disarankan untuk fokus pada Xbox 360 Controller. Jika Anda tertarik untuk menggunakan Gamepad Input secara ekstensif, pastikan untuk menguji secara luas berbagai perangkat yang dapat Anda peroleh.
Raw Input dapat diperoleh, dengan mengabaikan pemetaan bawaan dari tombol Object: Gamepad, menggunakan Expression: Raw.
Mengendalikan Behavior dengan Object: Gamepad
Untuk mengendalikan Behavior dengan Input dari Gamepad, gunakan Action: Simulate Control. Contoh ditunjukkan di bawah ini untuk mengendalikan Behavior: Platform dengan Analog Stick dan A untuk melompat.
Untuk mengendalikan Behavior dengan Input dari Gamepad, gunakan Action: Simulate Control. Contoh ditunjukkan di bawah ini untuk mengendalikan Behavior: Platform dengan Analog Stick dan A untuk melompat.
Multiple Gamepads
Beberapa perangkat Gamepad dapat dihubungkan ke satu komputer. Untuk membedakannya, sebagian besar Action, Condition dan Expresson di Object: Gamepad juga menggunakan ‘Gamepad Parameter’. Ini adalah indeks dari Controller berbasis nol. Sebagai contoh: 0 mengidentifikasi Controller pertama, 1 mengidentifikasi yang kedua, dan seterusnya. Ini memungkinkan Anda membuat Multiplayer Gamepad-controlled game.
Gamepad Properties
- Analog deadzone
Perangkat dengan Analog Joystick sangat sensitif terhadap Input. Hal ini memungkinkan kontrol halus (Fine) dalam game, namun juga berarti Joystick pada posisi diam (Rest) masih bisa mencatat pergerakan dalam jumlah yang cukup besar. Jika ini tidak diabaikan, pemain yang menggunakan Joystick bisa bergerak tak menentu bahkan saat pemain tidak menyentuh Controller. Untuk mengatasinya, semua nilai yang dekat dengan posisi diam ini diabaikan. Gerakan Joystick berada pada kisaran -100 sampai 100 pada setiap sumbu/Axis, dan jika jarak dari pusat berada di bawah nilai Analog Deadzone, maka akan menghasilkan 0. Sebagai contoh: Default-nya adalah 25, jadi nilai di dalam lingkaran dengan radius 25 masih akan dihitung sebagai nol. Ini adalah nilai yang disarankan untuk memastikan Controller dengan input yang tidak menentu, tidak menyebabkan gerakan pemain yang tidak diinginkan.
Gamepad Conditions
- Has gamepads
TRUE jika ada Gamepad yang terhubung dan diaktifkan. Untuk mencegah situs web melacak Anda berdasarkan Gamepad yang ada, sebagian besar browser yang mendukung input Gamepad akan melaporkan bahwa tidak ada Controller yang terhubung sebelum tombol ditekan pada salah satu perangkat. - On gamepad connected
Dipicu saat perangkat Gamepad terhubung ke komputer. Untuk mencegah situs web melacak Anda berdasarkan Gamepad yang ada, kebanyakan browser yang mendukung input Gamepad akan melaporkan bahwa tidak ada Controller yang terhubung sebelum tombol ditekan pada salah satu perangkat, Condition inipun akan terpicu. - On gamepad disconnected
Dipicu saat perangkat Gamepad terputus dari komputer, seperti: dengan menarik kabelnya. - Compare axis
Bandingkan posisi Joystick analog pada Gamepad. Nilai dalam Analog Deadzone dikembalikan sebagai 0. Nilai sumbu axis berkisar antara -100 sampai 100. - Is button down
TRUE jika tombol tertentu ditekan/turun pada Gamepad. Tombol-tombol itu selalu dirujuk sesuai dengan tata letak XBox 360 Controller, dan tombol mengacu pada pemetaan seperti yang dijelaskan di bagian Key mapping (Pemetaan tombol). - Is button index down
TRUE jika tombol tertentu berdasarkan indeks numerik ditekan/turun pada Gamepad. Indeks masih mengacu pada pemetaan seperti yang dijelaskan pada bagian Key mapping (Pemetaan tombol). - On any button pressed
Dipicu saat tombol manapun ditekan pada Gamepad. Expression: LastButton diset dengan indeks tombol. - On any button released
Dipicu saat tombol apapun dilepaskan pada Gamepad. Expression: LastButton diset dengan indeks tombol. - On button index pressed
Dipicu ketika tombol tertentu berdasarkan indeks numeriknya ditekan pada Gamepad. Indeks masih mengacu pada pemetaan seperti yang dijelaskan pada bagian Key mapping (Pemetaan tombol). - On button index released
Dipicu ketika tombol tertentu berdasarkan indeks numeriknya dilepaskan pada Gamepad. Indeks masih mengacu pada pemetaan seperti yang dijelaskan pada bagian Key mapping (Pemetaan tombol). - On button pressed
Dipicu saat tombol tertentu ditekan pada Gamepad. Tombol-tombol itu selalu dirujuk sesuai dengan tata letak XBox 360 Controller, dan tombol mengacu pada pemetaan seperti yang dijelaskan di bagian Key mapping (Pemetaan Tombol). - On button released
Dipicu saat tombol tertentu dilepas pada Gamepad. Tombol-tombol itu selalu dirujuk sesuai dengan tata letak XBox 360 Controller, dan tombol mengacu pada pemetaan seperti yang dijelaskan di bagian Key mapping (Pemetaan tombol).
Gamepad Actions
Gamepad Expressions
- Axis(Gamepad, Index)
Ambil posisi saat ini Joystick analog pada Gamepad. Indeks menentukan analog kiri X dan Y atau sumbu X dan Y analog kanan, sesuai dengan pemetaan tombol. Sumbu axis berkisar dari -100 sampai 100. Nilai sumbu dalam Analog Deadzone dikembalikan sebagai 0. - Button(Gamepad, Index)
Ambil tombol nilai tombol yang ditekan pada Gamepad. Indeks menentukan indeks tombol (berbasis nol) dari Dropdownlist pada Condition: Is button down (misalnya 0 mengembalikan nilai untuk tombol A). Nilai yang dikembalikan bergantung pada fitur tombol: jika tombolnya sensitif terhadap penekanan, ia dapat mengembalikan nilai apapun dari 0 sampai 100 tergantung pada penekanan; Jika tidak, hasilnya akan kembali 0 karena dianggap tidak ditekan, dan 100 berarti dianggap ditekan. Tombol yang tidak sensitif terhadap tekanan lebih mudah dideteksi dengan menggunakan Condition: Is button down. - GamepadCount
Mengambil jumlah perangkat Gamepad yang saat ini terhubung dan aktif. Untuk mencegah situs web melacak Anda berdasarkan Gamepad yang ada, sebagian besar browser yang mendukung Gamepad Input akan melaporkan bahwa tidak ada Controller yang terhubung sebelum tombol ditekan pada salah satu perangkat. - GamepadID(Gamepad)
String yang ditujukan untuk mewakili pabrikan dan model perangkat untuk Gamepad tertentu, misalnya: "XBox 360 controller". Namun dalam prakteknya ini bervariasi tergantung sistem dan browser yang digunakan. - LastButton
Mengambil indeks numerik dari tombol terakhir yang ditekan pada Gamepad. Ini berguna untuk memicu Condition: On any button pressed dan On any button released dalam mengatur kontrol khusus (Custom). - RawAxis(Gamepad, Index)
Mengambil input dari Raw Axis untuk indeks Gamepad dan sumbu Axis tertentu. Ini menghasilkan nilai tanpa Keymapping atau menerapkan Analog Deadzone. Nilai sumbu Axis berkisar dari -100 sampai 100. - RawAxisCount(Gamepad)
Mengambil jumlah sumbu Axis yang tersedia dalam Raw Input untuk Gamepad. Ini menghasilkan nilai tanpa Keymapping. - RawButton(Gamepad, Index)
Ambil Input dari Raw button untuk Gamepad dan indeks tombol tertentu. Ini menghasilkan nilai tanpa Keymapping. Nilai tombol berkisar antara 0 sampai 100 (penekanan terhadap tombol sensitif dapat mengembalikan nilai di sekitarnya). - RawButtonCount(Gamepad)
Mengambil jumlah tombol yang tersedia dalam Raw Input untuk Gamepad. Ini menghasilkan nilai tanpa Keymapping.

Komentar
Posting Komentar