PlayDrop logoPlayDrop Studio
BuatTukar mainHasilkanBelajarKonektorAsetKomunitasBantuan
PlayDrop logoPlayDrop Studio
BuatTukar mainHasilkanBelajarKonektorAsetKomunitasBantuan
Masuk
Grup lokal dan pengontrol
Dokumentasi

Mulai di sini

RingkasanGame pertamamuGame PlayDropFAQ

Buat dengan Cloud

Pembuatan CloudPaket & generasi

Hubungkan aplikasi AI Anda

Semua konektorClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Terbitkan dan bagikan

Terbitkan dari aplikasi AI AndaGame HTML sederhanaPengemasan dan .playTerbitkan dan imporBerkas gameVisibilitas dan jangkauanGambar dan video listinganGenre dan tagLokalisasiGame Instan

Pengalaman bermain

Pemuatan, jeda, dan audioLayar penuh dan area amanSimpanan cloudGrup lokal dan pengontrol

Bermain bersama

Berbagi, teman, dan undanganPapan peringkatPencapaianGrup online dan suaraServer game realtime

Penghasilan

MonetisasiKredit & hadiah

Aset

Aset gamePembuatan aset AIFormat kustom dan kreasi pemain

Referensi

SDK klienSDK servercatalogue.jsonKesalahan dan pemulihanPemecahan masalah
DokumentasiGrup lokal dan pengontrol
Pengalaman bermain

Grup lokal, gamepad, dan pengontrol ponsel di game PlayDrop

Baca gamepad fisik dan pengontrol ponsel PlayDrop lewat sdk.device, ikuti slot pemain lokal, serta deklarasikan dukungan pengontrol dan ukuran grup lokal.

Grup lokal adalah beberapa orang yang bermain di satu layar, masing-masing dengan pengontrol: gamepad fisik atau ponsel yang diubah PlayDrop menjadi pengontrol dengan memindai kode. Game Anda membaca setiap pengontrol dengan cara yang sama lewat SDK, di situs web maupun di aplikasi.

Deklarasikan pengontrol dan ukuran grup

json
{
  "types": ["solo", "party"],
  "party": { "local": [1, 2, 3, 4] },
  "controller": { "support": "optional", "type": "simpler" }
}
  • controller.support bernilai off, optional, atau required. Deklarasikan di setiap game, termasuk off.
  • controller.type menyebutkan kontrol minimum yang dibutuhkan game: any (arah, Konfirmasi, dan Batal), simpler (satu stik, empat tombol muka, dan Menu; pengontrol ponsel memenuhi syarat), atau standard (D-pad, dua stik yang bisa diklik, empat tombol muka, dua tombol bahu, dua pelatuk, dan Menu).
  • party.local mencantumkan jumlah pemain persis di satu layar; nilai 1 memerlukan tipe solo. Jika dukungan pengontrol aktif, setiap jumlah yang dicantumkan harus bisa dimainkan dengan pengontrol.

Baca pengontrol

js
await sdk.device.enableControllerInput().catch(() => { /* keep keyboard and touch */ });

const stop = sdk.device.onButton(({ playerIndex, button, pressed }) => {
  if (button === "south" && pressed) jump(playerIndex);
});

function update() {
  for (const slot of sdk.device.localPlayers) {
    const pad = sdk.device.gamepad(slot.playerIndex);
    if (pad?.connected) move(slot.playerIndex, pad.axes[0], pad.axes[1]);
  }
  requestAnimationFrame(update);
}
update();
  • Panggil enableControllerInput() sekali setelah init(). Panggilan ini ditolak dengan controller_input_unavailable atau controller_input_timeout saat host tidak bisa menyediakan input; game tetap berjalan.
  • gamepad(playerIndex) mengembalikan snapshot dalam tata letak standar browser: axes (x/y kiri, x/y kanan dari -1 sampai 1), tujuh belas buttons, source (physical atau virtual), dan id. playerIndex 0 adalah pemain 1.
  • Tombol memiliki nama posisi seperti south dan east. pad.label("south") memberikan petunjuk tombol yang perlu ditampilkan: "A", "Cross", atau "B", tergantung pengontrolnya. pad.has("dpad") menunjukkan apakah sebuah kontrol tersedia.
  • Menu dan Home adalah milik PlayDrop dan selalu terbaca sebagai dilepas.
  • Jangan pernah memanggil navigator.getGamepads(): pengontrol ponsel hanya sampai ke game lewat SDK, dan PlayDrop mencatat peringatan.

Slot pemain lokal

sdk.device.localPlayers mencantumkan slot yang dipilih pemain, { playerIndex, gamepadKey }, dan onLocalPlayersChange(callback) melaporkan perubahannya. Pengontrol yang terputus tetap memegang slotnya. Saat daftar pemain berubah atau menjadi kosong, kembali ke menu yang masuk akal alih-alih membuat game crash. Satu pengontrol saja hanyalah input biasa, bukan grup.

Dari sebuah tombol, sdk.social.openParty({ mode: "local" }) membuka jendela pemasangan PlayDrop dengan kode QR ponsel dan gamepad yang terhubung. Tawarkan hanya mode yang sudah Anda deklarasikan.

Lokal atau online, bukan keduanya

Host memulai game sebagai grup lokal atau grup online, tidak pernah keduanya: pemain lokal tidak bisa bergabung ke room online. Untuk bermain online bersama teman, lihat grup online dan suara.

Rancang untuk bermain bersama di sofa

Tampilkan warna dan petunjuk tombol pengontrol setiap pemain, biarkan siapa pun menekan tombol untuk bergabung, dan buat HUD tetap terbaca dari sofa. Pertahankan kontrol sentuh dan keyboard untuk bermain solo.

Panduan terkait

  • Grup online dan suaraAjak teman bermain online bersama: deklarasikan ukuran grup, buka jendela grup PlayDrop, gabung ke room lewat sdk.multiplayer.join, dan atur suara ruang.
  • Layar penuh dan area amanBuat game PlayDrop memenuhi layar, jaga HUD di dalam area aman CSS dan jauh dari kontrol host dengan memakai reservedCorners yang diukur SDK.
  • catalogue.jsonField catalogue.json yang dipakai game PlayDrop: identitas, listingan, mode bermain, permukaan, login, Instan, pramuat, media, terjemahan, skor, dan server.
SebelumnyaSimpanan cloud untuk game PlayDropBerikutnyaBerbagi, teman, dan undangan di game PlayDrop
Lihat Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Di halaman ini

Deklarasikan pengontrol dan ukuran grupBaca pengontrolSlot pemain lokalLokal atau online, bukan keduanyaRancang untuk bermain bersama di sofa
Lihat Markdown