PlayDrop logoPlayDrop Studio
MakenSpeelruilVerdienenLerenConnectorsAssetsCommunitySupport
PlayDrop logoPlayDrop Studio
MakenSpeelruilVerdienenLerenConnectorsAssetsCommunitySupport
Inloggen
Lokale groepen en controllers
Documentatie

Begin hier

OverzichtJe eerste gamePlayDrop-gamesFAQ

Maken met Cloud

Maken met CloudAbonnementen en generaties

Verbind je AI-app

Alle connectorsClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publiceren en delen

Publiceren vanuit je AI-appEenvoudige HTML-gamesVerpakken en .playPubliceren en importerenGamebestandenZichtbaarheid en bereikAfbeeldingen en video voor de gamepaginaGenres en tagsLokalisatieInstantgames

Spelervaring

Laden, pauze en audioSchermvullend en veilige zonesCloudsavesLokale groepen en controllers

Samen spelen

Delen, vrienden en uitnodigingenRanglijstenPrestatiesOnlinegroepen en spraakRealtime gameservers

Verdienen

InkomstenCredits en beloningen

Assets

Game-assetsAI-assets genererenEigen formaten en creaties

Referentie

Client-SDKServer-SDKcatalogue.jsonFouten en herstelProblemen oplossen
DocumentatieLokale groepen en controllers
Spelervaring

Lokale groepen, gamepads en telefooncontrollers in PlayDrop-games

Lees fysieke gamepads en PlayDrop-telefooncontrollers via sdk.device, volg lokale spelersplaatsen en geef controllerondersteuning en lokale groepsgroottes op.

Een lokale groep bestaat uit meerdere mensen die op één scherm spelen, elk met een controller: een fysieke gamepad of een telefoon die PlayDrop met het scannen van een code in een controller verandert. Je game leest elke controller op dezelfde manier via de SDK, op de website en in de apps.

Controllers en groepsgroottes opgeven

json
{
  "types": ["solo", "party"],
  "party": { "local": [1, 2, 3, 4] },
  "controller": { "support": "optional", "type": "simpler" }
}
  • controller.support is off, optional of required. Geef het op bij elke game, ook off.
  • controller.type noemt de minimale besturing die de game nodig heeft: any (richtingen, Bevestigen en Annuleren), simpler (één stick, vier frontknoppen en Menu; telefooncontrollers voldoen) of standard (D-pad, twee indrukbare sticks, vier frontknoppen, twee schouderknoppen, twee triggers en Menu).
  • party.local somt de exacte aantallen spelers op één scherm op; een 1 vereist het type solo. Met controllerondersteuning aan moet elk genoemd aantal met controllers speelbaar zijn.

Controllers lezen

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();
  • Roep enableControllerInput() één keer aan na init(). Het weigert met controller_input_unavailable of controller_input_timeout als de host geen invoer kan leveren; de game blijft draaien.
  • gamepad(playerIndex) geeft een momentopname in de standaardindeling van de browser: axes (links x/y, rechts x/y van -1 tot 1), zeventien buttons, source (physical of virtual) en id. playerIndex 0 is speler 1.
  • Knoppen hebben positienamen zoals south en east. pad.label("south") geeft de aanduiding om te tonen: "A", "Cross" of "B", afhankelijk van de controller. pad.has("dpad") laat weten of een besturingselement bestaat.
  • Menu en Home zijn van PlayDrop en lezen altijd als losgelaten.
  • Roep nooit navigator.getGamepads() aan: telefooncontrollers bereiken games alleen via de SDK, en PlayDrop logt een waarschuwing.

Lokale spelersplaatsen

sdk.device.localPlayers somt de plaatsen op die spelers hebben gekozen, { playerIndex, gamepadKey }, en onLocalPlayersChange(callback) meldt wijzigingen. Een losgekoppelde controller behoudt zijn plaats. Als de bezetting verandert of leeg raakt, ga dan terug naar een logisch menu in plaats van te crashen. Eén controller op zichzelf is gewone invoer, geen groep.

Vanuit een knop opent sdk.social.openParty({ mode: "local" }) het koppelvenster van PlayDrop met de QR-code voor telefoons en de verbonden gamepads. Bied alleen de modi aan die je hebt opgegeven.

Lokaal of online, niet allebei

De host start een game als lokale groep of als onlinegroep, nooit allebei: lokale spelers kunnen niet meedoen in onlinekamers. Voor online spelen met vrienden, zie onlinegroepen en spraak.

Ontwerp voor de bank

Toon de kleur en de knopaanduiding van elke speler, laat iedereen met een druk op een knop meedoen en houd de HUD leesbaar vanaf de bank. Behoud aanraak- en toetsenbordbesturing voor solo spelen.

Gerelateerde gidsen

  • Onlinegroepen en spraakLaat vrienden je game samen online spelen: geef groepsgroottes op, open het groepsvenster van PlayDrop, neem gereserveerde plaatsen in kamers in en regel kamerspraak.
  • Schermvullend en veilige zonesLaat een PlayDrop-game het scherm vullen en houd de HUD binnen de CSS-veilige zones en vrij van de hostknoppen met de gemeten reservedCorners van de SDK.
  • catalogue.jsonDe catalogue.json-velden die games gebruiken: identiteit, gamepagina, speelwijzen, weergaven, inloggen, Instant, vooraf laden, media, vertalingen, scores en servers.
VorigeCloudsaves voor PlayDrop-gamesVolgendeDelen, vrienden en uitnodigingen in PlayDrop-games
Markdown bekijken
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Op deze pagina

Controllers en groepsgroottes opgevenControllers lezenLokale spelersplaatsenLokaal of online, niet allebeiOntwerp voor de bank
Markdown bekijken