PlayDrop logoPlayDrop Studio
LuoPelivaihtoAnsaitseOpiConnectoritResurssitYhteisöTuki
PlayDrop logoPlayDrop Studio
LuoPelivaihtoAnsaitseOpiConnectoritResurssitYhteisöTuki
Kirjaudu sisään
Lataus, tauko ja ääni
Dokumentaatio

Aloita tästä

YleiskatsausEnsimmäinen pelisiPlayDrop-pelitUKK

Luo Cloudilla

Luonti CloudillaTilaukset ja luontikerrat

Yhdistä tekoälysovellus

Kaikki connectoritClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Julkaise ja jaa

Julkaise tekoälysovelluksestaYksinkertaiset HTML-pelitPaketointi ja .playJulkaise ja tuoPelitiedostotNäkyvyys ja tavoittavuusPelisivun kuvat ja videoLajityypit ja tagitLokalisointiInstant-pelit

Pelikokemus

Lataus, tauko ja ääniKoko näyttö ja turva-alueetPilvitallennuksetPaikalliset ryhmät ja ohjaimet

Pelaa yhdessä

Jakaminen, ystävät ja kutsutTulostaulutSaavutuksetVerkkoryhmät ja puheReaaliaikaiset pelipalvelimet

Ansaitse

AnsaitseminenKrediitit ja palkinnot

Resurssit

Pelin resurssitTekoälyresurssitMukautetut muodot ja luomukset

Viitteet

Client SDKServer SDKcatalogue.jsonVirheet ja palautuminenVianmääritys
DokumentaatioLataus, tauko ja ääni
Pelikokemus

Pelin elinkaari PlayDropissa: lataus, valmius, tauko ja ääni

Alusta SDK, ilmoita valmiudesta ensimmäisellä pelattavalla ruudulla, hoida tauko ja jatko, noudata äänikäytäntöä ja esilataa tiedostot offline-käyttöön.

PlayDrop näyttää pelisi ympärillä oman latausruutunsa, taukovalikkonsa, mykistyssäätimensä ja muita ikkunoita. Elinkaarirajapinta pitää pelin tahdissa niiden kanssa: peli pysähtyy, kun PlayDrop keskeyttää sen, ja soittaa ääntä vain, kun PlayDropin äänikäytäntö sallii.

Alusta ja ilmoita sitten valmiudesta

Lataa SDK, lue alkutila, tilaa muutokset, valmistele ensimmäinen ruutu ja kutsu vasta sitten ready(). PlayDrop pitää latausruutunsa näkyvissä siihen asti.

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>

Kutsu ready(), kun suunniteltu ensimmäinen ruutu näkyy ja syöte toimii, älä ennen kuin resurssit ovat latautuneet. sdk.host.error(message) kertoo PlayDropille, ettei peli voi käynnistyä. setLoadingState ja firstFrameReady ovat saman vaiheen vanhempia nimiä; käytä ready()-kutsua.

Vaiheet: esikatselu, pelaaminen ja editori

sdk.host.phase on preview, play tai editor, ja onPhaseChange ilmoittaa vaihdoksista. Esikatselut ja kaappaukset näyttävät pelin ilman oikeaa istuntoa: älä koskaan kirjoita tallennuksia, pisteitä, saavutuksia tai ostoja play-vaiheen ulkopuolella. sdk.host.mode on tavallisesti play ja paikallisessa Dev-kehyksessä dev.

Tauko ja jatkaminen

onPause(reason) ja onResume(reason) laukeavat, kun pelaaja avaa taukovalikon, piilottaa välilehden, kirjautuu sisään tai ostaa jotain, tai kun mainos tai PlayDropin ikkuna peittää pelin. reason on jokin arvoista tab_hidden, auth_prompt, purchase_flow, host_overlay, detail_hidden, route_change tai native_background; sdk.host.isPaused kertoo nykyisen tilan.

Pysäytä tauon ajaksi simulaatio ja ajastimet. Kun peli jatkuu, nollaa ruutukellosi, jotta peli ei hyppää eteenpäin:

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 ja ohjaimen Menu-painike kuuluvat PlayDropin taukovalikolle; älä sido niitä pelissäsi. Verkkopelissä pidä huoneyhteys auki tauon aikana: yhden pelaajan tauko ei saa pysäyttää muita.

Ääni

Lue sdk.host.audioAllowed kerran init()-kutsun jälkeen ja seuraa sitten onAudioAllowedChange-tapahtumaa. Arvo yhdistää pelaajan mykistyksen, vaiheen ja tauon, ja se pysyy tosena piilotetun välilehden tauon aikana, jotta musiikki voi säilyttää kohtansa. onAudioPolicyChange ilmoittaa { enabled, reason, volume }, kun tarvitset myös syyn tai isännän äänenvoimakkuuden.

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

Ääni on aluksi mykistetty, kunnes isäntä sallii sen, ja selaimet vaativat silti pelaajan eleen ennen kuin ääntä kuuluu. Pidä pelin oma äänenvoimakkuusasetus lisärajana; isännän mykistys voittaa aina. Ota kiinni hylätyt play()- ja resume()-lupaukset.

Esilataus ja offline-pelaaminen sovelluksissa

Natiivisovellukset voivat ladata pelin tiedostot ennen sen käynnistymistä ja säilyttää ne offline-pelaamista varten. Ilmoita ne tiedostossa catalogue.json:

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

Aloitussivu on aina mukana. required-tiedostot haetaan ennen pelaamista, optional-tiedostot sen jälkeen. offlineSupported: true antaa sovellusten tarjota pelin offline-tilassa, kun sen pakolliset tiedostot on tallennettu. Virheelliset arvot ohitetaan, eivätkä ne koskaan estä latausta. Verkkosivusto lataa pelit tavalliseen tapaan. Instant-peleissä pakolliset tiedostot muodostavat aloituskoon.

Isännissä, jotka ilmoittavat tukevansa laitedataa, offline-tilassa tehdyt tallennukset, pisteet ja saavutukset pysyvät laitteella ja synkronoituvat, kun yhteys palaa; offline-tulostaulut näyttävät vain pelaajan oman ennätyksen. Selaimessa offline-jonoa ei ole, joten käsittele epäonnistunut tallennus. Kaikki, mitä peli lataa internetistä, vaatii yhä yhteyden.

Haptiikka

Natiivisovelluksissa sdk.haptics.selection(), impact("light" | "medium" | "heavy") ja notification("success" | "warning" | "error") antavat lyhyen tuntopalautteen; sdk.haptics.supported kertoo, pystyykö isäntä siihen. Verkossa ne eivät tee mitään, eivätkä ne riipu mykistyksestä.

Liittyvät oppaat

  • Koko näyttö ja turva-alueetTäytä näyttö PlayDrop-pelillä ja pidä HUD CSS-turva-alueiden sisällä ja erillään isännän säätimistä SDK:n mittaamien reservedCorners-arvojen avulla.
  • PilvitallennuksetTallenna ja lataa edistyminen sdk.me.appData- ja updateAppData-rajapinnoilla vieraille ja kirjautuneille sekä kirjoitus-, esikatselu- ja offline-säännöt.
  • Instant-pelitMikä tekee PlayDrop-pelistä Instant-pelin: pystysuunta, vieraspääsy, enintään 10 MiB aloitustiedostoja, kahden sekunnin käynnistys ja ero tavallisiin peleihin.
  • Client SDKSelain-SDK:n viite: elinkaari, identiteetti ja tallennukset, ohjaimet, sosiaaliset toiminnot, moninpeli, kauppa, mainokset, tulostaulut, resurssit ja tekoäly.
EdellinenInstant-pelit ja tavalliset pelit PlayDropissaSeuraavaKoko näyttö, turva-alueet ja HUD-kulmat PlayDrop-peleissä
Näytä Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Tällä sivulla

Alusta ja ilmoita sitten valmiudestaVaiheet: esikatselu, pelaaminen ja editoriTauko ja jatkaminenÄäniEsilataus ja offline-pelaaminen sovelluksissaHaptiikka
Näytä Markdown