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
Yükleme, duraklatma ve ses
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
BelgelerYükleme, duraklatma ve ses
Oyun deneyimi

PlayDrop’ta oyun yaşam döngüsü: yükleme, hazır, duraklatma ve ses

SDK’yı başlat, ilk oynanabilir karede hazır sinyali ver, duraklat ve sürdür, ses politikasına uy ve çevrimdışı oyun için dosyaları önceden yükle.

PlayDrop, oyununun çevresinde kendi yükleme ekranını, duraklatma menüsünü, sessize alma kontrolünü ve başka pencereleri gösterir. Yaşam döngüsü API’si oyunu bunlarla uyumlu tutar: PlayDrop oyunu duraklattığında oyun durur ve yalnızca PlayDrop’un ses politikası izin verdiğinde ses çalar.

Başlat, sonra hazır sinyali ver

SDK’yı yükle, ilk durumu oku, değişikliklere abone ol, ilk ekranı hazırla ve ancak ondan sonra ready() çağır. PlayDrop o zamana kadar yükleme ekranını açık tutar.

html
<script src="https://assets.playdrop.ai/sdk/playdrop.js"></script>
<script type="module">
  const sdk = await playdrop.init();
  let paused = sdk.host.isPaused;
  setAudio(sdk.host.audioAllowed);
  sdk.host.onAudioAllowedChange(setAudio);
  sdk.host.onPause(() => { paused = true; });
  sdk.host.onResume(() => { paused = false; last = performance.now(); });

  try {
    await loadFirstLevel();
  } catch (error) {
    sdk.host.error("Could not load the first level");
    throw error;
  }
  drawFirstFrame();
  sdk.host.ready();
</script>

ready() çağrısını asset’ler yüklenmeden önce değil, tasarlanan ilk ekran görünür olduğunda ve girdi çalıştığında yap. sdk.host.error(message), PlayDrop’a oyunun başlayamayacağını söyler. setLoadingState ve firstFrameReady aynı adımın eski adlarıdır; ready() kullan.

Aşamalar: önizleme, oynanış ve düzenleyici

sdk.host.phase değeri preview, play veya editor olur ve onPhaseChange geçişleri bildirir. Önizlemeler ve görüntü yakalamaları oyunu gerçek bir oturum olmadan gösterir: play dışında asla kayıt, puan, başarım ya da satın alım yazma. sdk.host.mode normalde play, yerel Dev çerçevesinde ise dev olur.

Duraklat ve sürdür

onPause(reason) ve onResume(reason), oyuncu duraklatma menüsünü açtığında, sekmeyi gizlediğinde, giriş yaptığında, bir şey satın aldığında ya da bir reklam veya PlayDrop penceresi oyunun üzerini örttüğünde tetiklenir. reason şunlardan biridir: tab_hidden, auth_prompt, purchase_flow, host_overlay, detail_hidden, route_change veya native_background; sdk.host.isPaused mevcut durumu verir.

Duraklatılmışken simülasyonu ve zamanlayıcıları durdur. Sürdürürken oyun ileri atlamasın diye kare saatini sıfırla:

js
let last = performance.now();
function frame(now) {
  const dt = paused ? 0 : Math.min((now - last) / 1000, 0.05);
  last = now;
  if (!paused) update(dt);
  render();
  requestAnimationFrame(frame);
}
requestAnimationFrame(frame);

Escape tuşu ve kumandanın Menü düğmesi PlayDrop’un duraklatma menüsüne aittir; bunlara oyununda işlev atama. Ağ üzerinden oynanan bir oyunda duraklatılmışken oda bağlantısını canlı tut: bir oyuncuyu duraklatmak diğerlerini durdurmamalıdır.

Ses

sdk.host.audioAllowed değerini init() sonrasında bir kez oku, sonra onAudioAllowedChange ile değişiklikleri izle. Bu değer oyuncunun sessize almasını, aşamayı ve duraklatmayı birleştirir; müzik konumunu koruyabilsin diye gizli sekme duraklatması sırasında true kalır. Nedene ya da ana uygulamanın ses düzeyine de ihtiyacın olduğunda onAudioPolicyChange, { enabled, reason, volume } bildirir.

js
const audio = new AudioContext();
function setAudio(allowed) {
  (allowed ? audio.resume() : audio.suspend()).catch(() => {});
}

Ses, ana uygulama izin verene kadar kapalı başlar ve tarayıcılar ses çalmadan önce yine de bir oyuncu hareketi ister. Oyun içi ses düzeyi ayarını ek bir sınır olarak tut; ana uygulamanın sessize alması her zaman kazanır. Reddedilen play() ve resume() promise’lerini yakala.

Uygulamalarda önceden yükle ve çevrimdışı oyna

Yerel uygulamalar bir oyunun dosyalarını oyun başlamadan önce indirebilir ve çevrimdışı oyun için saklayabilir. Bunları catalogue.json içinde bildir:

json
{
  "prefetch": { "required": ["game.js", "assets/level-1.png"], "optional": ["assets/music.mp3"] },
  "offlineSupported": true
}

Giriş sayfası her zaman dahildir. required dosyalar oynanıştan önce, optional dosyalar sonra indirilir. offlineSupported: true, gerekli dosyalar saklandıktan sonra uygulamaların oyunu çevrimdışı sunmasını sağlar. Geçersiz değerler yok sayılır ve bir yüklemeyi asla engellemez. Web sitesi oyunları her zamanki gibi yükler. Instant oyunlarda gerekli dosyalar başlangıç boyutunu oluşturur.

Cihaz verisi desteği bildiren ana uygulamalarda çevrimdışı yapılan kayıtlar, puanlar ve başarımlar cihazda kalır ve çevrimiçi olunca eşitlenir; çevrimdışı liderlik tabloları yalnızca oyuncunun kendi en iyi puanını gösterir. Tarayıcıda çevrimdışı kuyruk yoktur, bu yüzden başarısız bir kaydı ele al. Oyunun internetten yüklediği her şey yine bağlantı gerektirir.

Dokunsal geri bildirim

Yerel uygulamalarda sdk.haptics.selection(), impact("light" | "medium" | "heavy") ve notification("success" | "warning" | "error") kısa geri bildirim verir; sdk.haptics.supported ana uygulamanın bunu yapıp yapamayacağını söyler. Web’de hiçbir şey yapmazlar ve sessize almadan bağımsızdırlar.

İlgili kılavuzlar

  • 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.
  • Bulut kayıtlarıİlerlemeyi sdk.me.appData ve sdk.me.updateAppData ile kaydet ve yükle; misafirler ve giriş yapmış oyuncular için yazma, önizleme ve çevrimdışı kuralları.
  • Instant oyunlarBir PlayDrop oyununu Instant yapan şey: dikey oynanış, misafir erişimi, en fazla 10 MiB başlangıç dosyası ve iki saniyede başlama; normal oyundan farkı.
  • İstemci SDK’sıPlayDrop tarayıcı SDK’sı: yaşam döngüsü, kimlik ve kayıtlar, kumandalar, sosyal, çok oyunculu, mağaza, reklamlar, liderlik tabloları, asset’ler ve yapay zeka.
ÖncekiPlayDrop’ta Instant oyunlar ve normal oyunlarSonrakiPlayDrop oyunları için tam ekran, güvenli alanlar ve HUD köşeleri
Markdown’ı gör
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Bu sayfada

Başlat, sonra hazır sinyali verAşamalar: önizleme, oynanış ve düzenleyiciDuraklat ve sürdürSesUygulamalarda önceden yükle ve çevrimdışı oynaDokunsal geri bildirim
Markdown’ı gör