PlayDrop logoPlayDrop Studio
CréerÉchange de partiesGagnerApprendreConnecteursRessourcesCommunautéAide
PlayDrop logoPlayDrop Studio
CréerÉchange de partiesGagnerApprendreConnecteursRessourcesCommunautéAide
Se connecter
Groupes locaux et manettes
Documentation

Commencez ici

Vue d’ensembleVotre premier jeuJeux PlayDropFAQ

Créer avec Cloud

Création CloudOffres et générations

Connecter votre app d’IA

Tous les connecteursClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publier et partager

Publier depuis votre app d’IAJeux HTML simplesPaquets et .playPublication et importFichiers de jeuVisibilité et audienceIllustrations et vidéos de la ficheGenres et tagsLocalisationJeux instantanés

Expérience de jeu

Chargement, pause et audioPlein écran et zones sûresSauvegardes cloudGroupes locaux et manettes

Jouer ensemble

Partage, amis et invitationsClassementsSuccèsGroupes en ligne et voixServeurs de jeu temps réel

Gains

MonétisationCrédits et récompenses

Ressources

Ressources de jeuGénération de ressources par IAFormats personnalisés et créations

Référence

SDK clientSDK serveurcatalogue.jsonErreurs et repriseDépannage
DocumentationGroupes locaux et manettes
Expérience de jeu

Groupes locaux, manettes et manettes téléphone dans les jeux PlayDrop

Lisez manettes physiques et manettes téléphone PlayDrop avec sdk.device, suivez les emplacements locaux, déclarez manettes et tailles de groupe local.

Un groupe local, ce sont plusieurs personnes qui jouent sur un même écran, chacune avec une manette : une manette physique ou un téléphone que PlayDrop transforme en manette grâce à un code à scanner. Votre jeu lit toutes les manettes de la même façon avec le SDK, sur le site web comme dans les apps.

Déclarez les manettes et les tailles de groupe

json
{
  "types": ["solo", "party"],
  "party": { "local": [1, 2, 3, 4] },
  "controller": { "support": "optional", "type": "simpler" }
}
  • controller.support vaut off, optional ou required. Déclarez-le pour chaque jeu, y compris off.
  • controller.type indique les commandes minimales dont le jeu a besoin : any (directions, Valider et Annuler), simpler (un stick, quatre boutons d’action et Menu ; les manettes téléphone conviennent) ou standard (croix directionnelle, deux sticks cliquables, quatre boutons d’action, deux boutons de tranche, deux gâchettes et Menu).
  • party.local liste les nombres exacts de joueurs sur un même écran ; un 1 exige le type solo. Avec la prise en charge des manettes, chaque nombre listé doit être jouable avec des manettes.

Lisez les manettes

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();
  • Appelez enableControllerInput() une fois après init(). La promesse est rejetée avec controller_input_unavailable ou controller_input_timeout quand l’hôte ne peut pas fournir les commandes ; le jeu continue de tourner.
  • gamepad(playerIndex) renvoie un état ponctuel au format standard du navigateur : axes (x/y gauche, x/y droite, de -1 à 1), dix-sept buttons, source (physical ou virtual) et id. Le playerIndex 0 correspond au joueur 1.
  • Les boutons portent des noms de position comme south et east. pad.label("south") donne l’intitulé à afficher : « A », « Cross » ou « B » selon la manette. pad.has("dpad") indique si une commande existe.
  • Les boutons Menu et Accueil appartiennent à PlayDrop et sont toujours lus comme relâchés.
  • N’appelez jamais navigator.getGamepads() : les manettes téléphone n’atteignent les jeux qu’à travers le SDK, et PlayDrop journalise un avertissement.

Emplacements des joueurs locaux

sdk.device.localPlayers liste les emplacements choisis par les joueurs, { playerIndex, gamepadKey }, et onLocalPlayersChange(callback) signale les changements. Une manette déconnectée conserve son emplacement. Quand la liste des joueurs change ou se vide, revenez à un menu adapté au lieu de planter. Une manette seule est une simple commande de jeu, pas un groupe.

Depuis un bouton, sdk.social.openParty({ mode: "local" }) ouvre la fenêtre d’appairage de PlayDrop, avec le QR code pour les téléphones et les manettes connectées. Ne proposez que les modes que vous avez déclarés.

En local ou en ligne, pas les deux

L’hôte démarre un jeu soit en groupe local, soit en groupe en ligne, jamais les deux : les joueurs en local ne peuvent pas rejoindre de salles en ligne. Pour jouer en ligne avec des amis, consultez groupes en ligne et voix.

Pensez au canapé

Affichez la couleur et l’intitulé de bouton de chaque joueur, laissez chacun appuyer sur un bouton pour rejoindre la partie et gardez l’interface du jeu lisible depuis un canapé. Conservez les commandes tactiles et clavier pour le jeu en solo.

Guides associés

  • Groupes en ligne et voixFaites jouer des amis ensemble en ligne : tailles de groupe, fenêtre de groupe PlayDrop, salles réservées avec sdk.multiplayer.join et voix de salle.
  • Plein écran et zones sûresUn jeu PlayDrop en plein écran, avec une interface dans les zones sûres CSS et loin des commandes de l’hôte grâce aux reservedCorners mesurés par le SDK.
  • catalogue.jsonLes champs catalogue.json des jeux PlayDrop : identité, fiche, modes de jeu, surfaces, connexion, Instantané, préchargement, médias, traductions, scores et serveurs.
PrécédentSauvegardes cloud pour les jeux PlayDropSuivantPartage, amis et invitations dans les jeux PlayDrop
Voir le Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Sur cette page

Déclarez les manettes et les tailles de groupeLisez les manettesEmplacements des joueurs locauxEn local ou en ligne, pas les deuxPensez au canapé
Voir le Markdown