Paikalliset ryhmät, peliohjaimet ja puhelinohjaimet PlayDrop-peleissä
Lue peliohjaimia ja PlayDropin puhelinohjaimia sdk.device-rajapinnalla, seuraa paikallisten pelaajien paikkoja ja ilmoita ohjaintuki ja paikalliset ryhmäkoot.
Paikallinen ryhmä tarkoittaa useaa ihmistä pelaamassa yhdellä näytöllä, kullakin oma ohjain: fyysinen peliohjain tai puhelin, josta PlayDrop tekee ohjaimen koodin skannauksella. Pelisi lukee jokaista ohjainta samalla tavalla SDK:n kautta, niin verkkosivustolla kuin sovelluksissa.
Ilmoita ohjaimet ja ryhmäkoot
{
"types": ["solo", "party"],
"party": { "local": [1, 2, 3, 4] },
"controller": { "support": "optional", "type": "simpler" }
}controller.supportonoff,optionaltairequired. Ilmoita se jokaisessa pelissä, myös arvooff.controller.typenimeää vähimmäisohjaimet, joita peli tarvitsee:any(suunnat, Vahvista ja Peruuta),simpler(yksi tatti, neljä etupainiketta ja Menu; puhelinohjaimet kelpaavat) taistandard(ristiohjain, kaksi painettavaa tattia, neljä etupainiketta, kaksi olkapainiketta, kaksi liipaisinta ja Menu).party.localluettelee tarkat pelaajamäärät yhdellä näytöllä;1vaatiisolo-tyypin. Kun ohjaintuki on päällä, jokaisen luetellun määrän on oltava pelattavissa ohjaimilla.
Lue ohjaimia
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();- Kutsu
enableControllerInput()kerraninit()-kutsun jälkeen. Se hylätään virheelläcontroller_input_unavailabletaicontroller_input_timeout, kun isäntä ei pysty tarjoamaan syötettä; peli jatkaa toimintaansa. gamepad(playerIndex)palauttaa tilannevedoksen selaimen vakioasettelussa:axes(vasen x/y ja oikea x/y välillä -1…1), seitsemäntoistabuttons-painiketta,source(physicaltaivirtual) jaid.playerIndex0 on pelaaja 1.- Painikkeilla on sijaintiin perustuvat nimet, kuten
southjaeast.pad.label("south")antaa näytettävän kehotteen: ”A”, ”Cross” tai ”B” ohjaimesta riippuen.pad.has("dpad")kertoo, onko ohjaimessa kyseinen säädin. - Menu ja Home kuuluvat PlayDropille, ja ne näkyvät pelille aina vapautettuina.
- Älä koskaan kutsu
navigator.getGamepads(): puhelinohjaimet tavoittavat pelit vain SDK:n kautta, ja PlayDrop kirjaa varoituksen.
Paikallisten pelaajien paikat
sdk.device.localPlayers luettelee pelaajien valitsemat paikat, { playerIndex, gamepadKey }, ja onLocalPlayersChange(callback) ilmoittaa muutoksista. Irronnut ohjain säilyttää paikkansa. Kun pelaajaluettelo muuttuu tai tyhjenee, palaa järkevään valikkoon kaatumisen sijaan. Yksi ohjain yksinään on tavallista syötettä, ei ryhmä.
Painikkeesta sdk.social.openParty({ mode: "local" }) avaa PlayDropin yhdistämisikkunan, jossa näkyvät puhelimen QR-koodi ja yhdistetyt peliohjaimet. Tarjoa vain ilmoittamiasi tiloja.
Paikallinen tai verkko, ei molempia
Isäntä käynnistää pelin joko paikallisena ryhmänä tai verkkoryhmänä, ei koskaan molempina: paikalliset pelaajat eivät voi liittyä verkkohuoneisiin. Verkkopelaamisesta ystävien kanssa katso verkkoryhmät ja puhe.
Suunnittele sohvalle
Näytä jokaisen pelaajan väri ja ohjainkehote, anna kenen tahansa liittyä painamalla painiketta ja pidä HUD luettavana sohvalta. Säilytä kosketus- ja näppäimistöohjaus yksinpeliä varten.