PlayDrop logoPlayDrop Studio
OluşturOyun takasıKazanÖğrenBağlayıcılarAsset’lerToplulukDestek
PlayDrop logoPlayDrop Studio
OluşturOyun takasıKazanÖğrenBağlayıcılarAsset’lerToplulukDestek
Giriş yap
Yerel partiler ve kumandalar
Belgeler

Buradan başla

Genel bakışİlk oyununPlayDrop oyunlarıSSS

Cloud ile oluştur

Cloud ile oluşturmaPlanlar ve üretimler

Yapay zeka uygulamanı bağla

Tüm bağlayıcılarClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Yayınla ve paylaş

Yapay zeka uygulamandan yayınlaBasit HTML oyunlarıPaketleme ve .playYayınla ve içe aktarOyun dosyalarıGörünürlük ve erişimOyun sayfası görselleri ve videoTürler ve etiketlerYerelleştirmeInstant oyunlar

Oyun deneyimi

Yükleme, duraklatma ve sesTam ekran ve güvenli alanlarBulut kayıtlarıYerel partiler ve kumandalar

Birlikte oyna

Paylaşım, arkadaşlar ve davetlerLiderlik tablolarıBaşarımlarÇevrimiçi partiler ve sesli sohbetGerçek zamanlı oyun sunucuları

Kazan

Para kazanmaKrediler ve ödüller

Asset’ler

Oyun asset’leriYapay zekayla asset üretimiÖzel biçimler ve oyuncu yapımları

Başvuru

İstemci SDK’sıSunucu SDK’sıcatalogue.jsonHatalar ve kurtarmaSorun giderme
BelgelerYerel partiler ve kumandalar
Oyun deneyimi

PlayDrop oyunlarında yerel parti, fiziksel ve telefon kumandaları

Fiziksel kumandaları ve PlayDrop telefon kumandalarını sdk.device ile oku, yerel oyuncu yuvalarını izle, kumanda desteğini ve yerel parti boyutlarını bildir.

Yerel parti, aynı ekranda her biri bir kumandayla oynayan birkaç kişidir: fiziksel bir kumanda ya da PlayDrop’un bir kod okutarak kumandaya dönüştürdüğü bir telefon. Oyunun her kumandayı web sitesinde ve uygulamalarda SDK üzerinden aynı şekilde okur.

Kumandaları ve parti boyutlarını bildir

json
{
  "types": ["solo", "party"],
  "party": { "local": [1, 2, 3, 4] },
  "controller": { "support": "optional", "type": "simpler" }
}
  • controller.support değeri off, optional veya required olur. off dahil her oyunda bildir.
  • controller.type, oyunun gerektirdiği en az kontrolleri belirtir: any (yönler, Onayla ve İptal), simpler (bir analog çubuk, dört ön düğme ve Menü; telefon kumandaları buna uyar) ya da standard (yön tuşları, basılabilir iki analog çubuk, dört ön düğme, iki omuz düğmesi, iki tetik ve Menü).
  • party.local, tek ekrandaki tam oyuncu sayılarını listeler; 1 için solo türü gerekir. Kumanda desteği açıkken listelenen her sayı kumandalarla oynanabilir olmalıdır.

Kumandaları oku

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();
  • enableControllerInput() fonksiyonunu init() sonrasında bir kez çağır. Ana uygulama girdi sağlayamadığında controller_input_unavailable veya controller_input_timeout ile reddedilir; oyun çalışmaya devam eder.
  • gamepad(playerIndex), tarayıcının standart düzeninde bir anlık görüntü döndürür: axes (-1 ile 1 arasında sol x/y, sağ x/y), on yedi buttons, source (physical veya virtual) ve id. playerIndex 0, 1. oyuncudur.
  • Düğmelerin south ve east gibi konumsal adları vardır. pad.label("south") ekranda gösterilecek düğme adını verir: kumandaya göre “A”, “Cross” ya da “B”. pad.has("dpad") bir kontrolün var olup olmadığını söyler.
  • Menü ve Ana Sayfa düğmeleri PlayDrop’a aittir ve her zaman bırakılmış olarak okunur.
  • Asla navigator.getGamepads() çağırma: telefon kumandaları oyunlara yalnızca SDK üzerinden ulaşır ve PlayDrop bir uyarı kaydeder.

Yerel oyuncu yuvaları

sdk.device.localPlayers oyuncuların seçtiği yuvaları ({ playerIndex, gamepadKey }) listeler, onLocalPlayersChange(callback) ise değişiklikleri bildirir. Bağlantısı kopan bir kumanda yuvasını korur. Oyuncu listesi değiştiğinde ya da boşaldığında çökmek yerine mantıklı bir menüye dön. Tek başına bir kumanda sıradan bir girdidir, parti değildir.

Bir düğmeden çağrılan sdk.social.openParty({ mode: "local" }), PlayDrop’un telefon QR koduyla ve bağlı fiziksel kumandalarla eşleştirme penceresini açar. Yalnızca bildirdiğin modları sun.

Yerel ya da çevrimiçi, ikisi birden değil

Ana uygulama bir oyunu ya yerel ya da çevrimiçi bir parti olarak başlatır, asla ikisini birden: yerel oyuncular çevrimiçi odalara katılamaz. Arkadaşlarla çevrimiçi oyun için bkz. çevrimiçi partiler ve sesli sohbet.

Kanepe için tasarla

Her oyuncunun rengini ve kumanda düğme ipuçlarını göster, herkesin bir düğmeye basarak katılabilmesini sağla ve HUD’u kanepeden okunabilir tut. Tek oyunculu oyun için dokunmatik ve klavye kontrollerini koru.

İlgili kılavuzlar

  • Çevrimiçi partiler ve sesli sohbetArkadaşlar oyununu çevrimiçi oynasın: parti boyutlarını bildir, parti penceresini aç, sdk.multiplayer.join ile ayrılmış odaya katıl, oda sesli sohbetini yönet.
  • Tam ekran ve güvenli alanlarPlayDrop oyununun ekranı doldurmasını sağla, HUD’u CSS güvenli alanlarında ve SDK’nın ölçtüğü reservedCorners ile ana uygulama kontrollerinden uzak tut.
  • catalogue.jsonPlayDrop oyunlarının kullandığı catalogue.json alanları: kimlik, oyun sayfası, oynanış modları, yüzeyler, giriş, Instant, ön yükleme, medya, çeviriler, skorlar ve sunucular.
ÖncekiPlayDrop oyunları için bulut kayıtlarıSonrakiPlayDrop oyunlarında paylaşım, arkadaşlar ve davetler
Markdown’ı gör
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Bu sayfada

Kumandaları ve parti boyutlarını bildirKumandaları okuYerel oyuncu yuvalarıYerel ya da çevrimiçi, ikisi birden değilKanepe için tasarla
Markdown’ı gör