PlayDrop logoPlayDrop Studio
ErstellenSpieltauschVerdienenLernenConnectorsAssetsCommunityHilfe
PlayDrop logoPlayDrop Studio
ErstellenSpieltauschVerdienenLernenConnectorsAssetsCommunityHilfe
Anmelden
Lokale Partys und Controller
Dokumentation

Hier starten

ÜbersichtDein erstes SpielPlayDrop-SpieleFAQ

Mit Cloud erstellen

Cloud-ErstellungTarife & Generierungen

KI-App verbinden

Alle ConnectorsClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Veröffentlichen und teilen

Aus deiner KI-App veröffentlichenEinfache HTML-SpielePakete und .playVeröffentlichen und importierenSpieldateienSichtbarkeit und ReichweiteBilder und Videos für den SpieleintragGenres und TagsLokalisierungSofortspiele

Spielerlebnis

Laden, Pause und AudioVollbild und sichere BereicheCloud-SpielständeLokale Partys und Controller

Zusammen spielen

Teilen, Freunde und EinladungenBestenlistenErfolgeOnline-Partys und SprachchatEchtzeit-Spielserver

Verdienen

MonetarisierungCredits & Belohnungen

Assets

Spiel-AssetsKI-Asset-GenerierungEigene Formate und Spielerkreationen

Referenz

Client-SDKServer-SDKcatalogue.jsonFehler und WiederherstellungFehlerbehebung
DokumentationLokale Partys und Controller
Spielerlebnis

Lokale Partys, Gamepads und Handy-Controller in PlayDrop-Spielen

Physische Gamepads und PlayDrop-Handy-Controller über sdk.device lesen, lokale Spielerplätze verfolgen, Controller-Unterstützung und Partygrößen deklarieren.

Eine lokale Party sind mehrere Leute, die an einem Bildschirm spielen, jeder mit einem Controller: einem physischen Gamepad oder einem Handy, das PlayDrop durch das Scannen eines Codes zum Controller macht. Dein Spiel liest jeden Controller auf dieselbe Weise über das SDK, auf der Website und in den Apps.

Controller und Partygrößen deklarieren

json
{
  "types": ["solo", "party"],
  "party": { "local": [1, 2, 3, 4] },
  "controller": { "support": "optional", "type": "simpler" }
}
  • controller.support ist off, optional oder required. Deklariere es bei jedem Spiel, auch off.
  • controller.type nennt die Mindestausstattung, die das Spiel braucht: any (Richtungen, Bestätigen und Abbrechen), simpler (ein Stick, vier Aktionstasten und Menü; Handy-Controller erfüllen das) oder standard (Steuerkreuz, zwei klickbare Sticks, vier Aktionstasten, zwei Schultertasten, zwei Trigger und Menü).
  • party.local listet die genauen Spielerzahlen an einem Bildschirm auf; eine 1 erfordert den Typ solo. Ist die Controller-Unterstützung aktiv, muss jede aufgeführte Zahl mit Controllern spielbar sein.

Controller lesen

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();
  • Rufe enableControllerInput() einmal nach init() auf. Der Aufruf wird mit controller_input_unavailable oder controller_input_timeout abgelehnt, wenn der Host keine Eingabe liefern kann; das Spiel läuft weiter.
  • gamepad(playerIndex) liefert einen Snapshot im Standardlayout des Browsers: axes (links x/y, rechts x/y von -1 bis 1), siebzehn buttons, source (physical oder virtual) und id. playerIndex 0 ist Spieler 1.
  • Tasten haben Namen nach ihrer Position, etwa south und east. pad.label("south") liefert die Beschriftung, die du anzeigen solltest: „A“, „Cross“ oder „B“, je nach Controller. pad.has("dpad") sagt, ob ein Bedienelement vorhanden ist.
  • Menü und Home gehören PlayDrop und gelten immer als losgelassen.
  • Rufe niemals navigator.getGamepads() auf: Handy-Controller erreichen Spiele nur über das SDK, und PlayDrop protokolliert eine Warnung.

Lokale Spielerplätze

sdk.device.localPlayers listet die Plätze auf, die Spieler gewählt haben, { playerIndex, gamepadKey }, und onLocalPlayersChange(callback) meldet Änderungen. Ein getrennter Controller behält seinen Platz. Wenn sich die Besetzung ändert oder leer wird, kehre zu einem sinnvollen Menü zurück, statt abzustürzen. Ein einzelner Controller ist eine gewöhnliche Eingabe, keine Party.

Über einen Button öffnet sdk.social.openParty({ mode: "local" }) das Kopplungsfenster von PlayDrop mit dem QR-Code für Handys und den verbundenen Gamepads. Biete nur die Modi an, die du deklariert hast.

Lokal oder online, nicht beides

Der Host startet ein Spiel entweder als lokale Party oder als Online-Party, nie beides: Lokale Spieler können keinen Online-Räumen beitreten. Für Online-Spiel mit Freunden siehe Online-Partys und Sprachchat.

Fürs Sofa gestalten

Zeige die Farbe und die Tastenbeschriftung jedes Spielers, lass jeden per Tastendruck beitreten und halte das HUD vom Sofa aus lesbar. Behalte Touch- und Tastatursteuerung für das Spielen allein bei.

Verwandte Anleitungen

  • Online-Partys und SprachchatFreunde online zusammen spielen lassen: Partygrößen deklarieren, Party-Fenster öffnen, mit sdk.multiplayer.join reservierte Räume betreten, Sprachchat steuern.
  • Vollbild und sichere BereichePlayDrop-Spiel bildschirmfüllend machen, HUD in sicheren Bereichen und mit den gemessenen reservedCorners des SDK frei von Host-Bedienelementen halten.
  • catalogue.jsonDie catalogue.json-Felder, die PlayDrop-Spiele verwenden: Identität, Texte, Spielweise, Formate, Anmeldung, Sofort, Vorladen, Medien, Übersetzungen, Punktestände und Server.
ZurückCloud-Spielstände für PlayDrop-SpieleWeiterTeilen, Freunde und Einladungen in PlayDrop-Spielen
Markdown anzeigen
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Auf dieser Seite

Controller und Partygrößen deklarierenController lesenLokale SpielerplätzeLokal oder online, nicht beidesFürs Sofa gestalten
Markdown anzeigen