PlayDrop
PlayDropia ei voitu ladata

Sivun tarvittavan osan lataus epäonnistui. Lataa sivu uudelleen.

STYLESHEET_ERROR
PlayDrop logoPlayDrop Studio
LuoPlayTradeAnsaitseOpiConnectoritYhteisöTuki
Client SDK
Dokumentaatio

Aloita tästä

YleiskatsausEnsimmäinen pelisi

Luo Cloudilla

Luonti CloudillaJulkaisu ja tuontiTilaukset ja luontikerratKrediitit ja palkinnot

Yhdistä agenttisi

Kaikki connectoritClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Tekninen viite

Pelitiedostotcatalogue.jsonClient SDKServer SDKVianmääritysUKK
DokumentaatioClient SDK
Tekninen viite

PlayDropin client SDK selainpeleille

Valinnainen selain-SDK PlayDrop-peleille: kirjautuminen, tallennukset, tulostaulut, ostot, mainokset, ystävät, ohjaimet ja moninpeli yhdellä script-tagilla.

PlayDrop SDK on valinnainen: ilman sitä olevat pelit toimivat PlayDropissa. Lisää se alustaominaisuuksia varten, kuten pelaajan kirjautuminen, tallennukset, saavutukset ja tulostaulut, krediiteillä tehtävät ostot, mainokset, ystävät ja pelikortit PlayDrop Chatissa, jakolinkit, isännän hallitsema tauko ja ääni, ohjainsyöte, isännöity moninpeli ja tekoälyluonti. PlayDrop Cloud integroi sen puolestasi; PlayDrop Connectorin kanssa agenttisi lisää yhden script-tagin.

Lisää SDK ja noudata isännän elinkaarta

html
<script src="https://assets.playdrop.ai/sdk/playdrop.js"></script>
<script type="module">
  const sdk = await playdrop.init();
  // Render the game and prepare input, then:
  sdk.host.ready();
  sdk.host.onPause(() => pauseGame());
  sdk.host.onResume(() => resumeGame());
  sdk.host.onAudioPolicyChange(({ enabled }) => setAudioEnabled(enabled));
</script>

Lataa SDK PlayDropin CDN:stä; pakettiasennusta ei tarvita. Renderöi ensimmäinen pelattava ruutu ja valmistele syöte ennen kuin kutsut sdk.host.ready(). Pysäytä simulaatio, kun isäntä keskeyttää, jatka luomatta päällekkäisiä silmukoita ja noudata isännän äänikäytäntöä.

Identiteetti, tallennukset ja kieli

sdk.me tarjoaa pelaajan identiteetin ja sdk.me.appData tallentaa yksityiset tallennukset; sdk.achievements ja sdk.leaderboards hoitavat saavutukset ja pisteet. Tallennukset, saavutukset ja tulostaulut toimivat ilman kirjautumisen ennakkotarkistusta. Käytä sdk.me.isLoggedIn-arvoa ominaisuuksiin, jotka vaativat oikean tilin, kuten ostot tai moninpeli. Esikatselu- ja kaappaustilat eivät saa kirjoittaa pelaajan edistymistä. sdk.host.language kertoo pelaajan kielen: toimita englanti sekä oma kielesi, jos se on eri. Pelisivun kääntäminen ei käännä pelin sisältöä. Luonnollisessa taukokohdassa, kuten voiton jälkeen, sdk.host.requestReview() antaa PlayDropin pyytää pelaajalta arvostelua, enintään kerran per peli; pelisi ei koskaan saa tietää vastausta, joten älä koskaan palkitse siitä.

Kirjastot, resurssit ja moninpeli

sdk.libs lataa tuetut Three.js-, Phaser-, Rapier-, nipplejs- ja Colyseus-versiot. sdk.assets tarjoaa katalogi-, paketti- ja resurssiviitteet; sdk.social tarjoaa ystävät, pelikortit ja jakotoiminnot. Isännöityä moninpeliä varten sdk.multiplayer.getConnection() palauttaa palvelimen osoitteen ja kirjautuneen pelaajan tunnisteen; liity Colyseus-clientillä. Sivu server SDK kattaa isännöidyt palvelimet; itse ylläpitämäsi palvelin ei tarvitse SDK:sta mitään. Vanhat relay-huoneen rajapinnat on poistettu käytöstä.

Testaa SDK:lla ennen julkaisua

Käynnistä tavallinen kehityspalvelimesi ja avaa https://www.playdrop.ai/creators/<username>/apps/game/<slug>/dev?url=http://localhost:5173/ Chromessa pelataksesi sitä oikeassa PlayDrop-kehyksessä SDK-isännän kanssa. Mikä tahansa localhost-portti tai https-URL-osoite käy. Tilin vaativat ominaisuudet, kuten tallennukset ja ostot, toimivat, kun peli on ladattu kerran; yksityinen lataus riittää. Selaimen mediageneroinnit toimivat asynkronisina töinä, joiden krediittihinnan isäntä vahvistaa. Katso pelisivun metatiedot kohdasta catalogue.json.

Pelaa yhdessä

Käytä await sdk.multiplayer.join("game") pelivaiheessa. Se liittyy itsenäisesti tai käyttää isännän ryhmävarausta. Ryhmävirhe hylkää liittymisen sen sijaan, että pelaajat hiljaa jaettaisiin toiseen huoneeseen. getConnection() säilyy välittömänä yhteystietorajapintana olemassa oleville peleille. Pidä sama huone kierrosten yli ja pidä verkkoyhteys käynnissä, kun isännän peittokuvat keskeyttävät pelisyötteen.

Käytä sdk.social.openParty() pelaajan toiminnosta avataksesi isännän ryhmäpopupin. Lue jäsenyys komennolla await sdk.social.getParty() tai sdk.social.onPartyChange(callback). Pelit eivät voi muuttaa alustan ryhmiä tai hallita mikrofoneja. Ryhmän ja huoneen puhe sijaitsee web-/natiivi-isännässä ja noudattaa pelaajan suostumusta, mykistystä, estoja ja käyttöönoton kelpoisuutta.

Sujuvaa huoneen toistoa varten kutsu sdk.multiplayer.voice.updateSpatialState({ listener: { position, forward, up }, speakers: [{ userId, position }] }) käyttäen äärellisiä { x, y, z }-vektoreita. Vihjeet vaikuttavat äänenvoimakkuuteen ja panorointiin, eivät koskaan valtuutukseen. Palvelin valvoo tiimejä ja läheisyyskelpoisuutta.

Käytä sdk.device.localPlayers ja sdk.device.onLocalPlayersChange(callback) valittujen paikallisten ohjainpaikkojen { playerIndex, gamepadKey } lukemiseen. Yhdistettyjen ohjainten luettelo on erillinen; yhteydetön paikka säilyttää identiteettinsä. Paikallinen tila ei voi liittyä verkkohuoneisiin. Kopioitava resepti playdrop-metagame/recipes/play-together havainnollistaa molemmat tilat, kaksi kohdetta ja huonekäytännöt.

Ohjaimet

Lue fyysiset ohjaimet ja PlayDropin puhelinohjaimet sdk.device-rajapinnan kautta, samalla tavalla kaikilla alustoilla. Kutsu enableControllerInput() kerran init():n jälkeen, lue gamepad(playerIndex) pelisilmukassa (0 on P1) ja käytä onButton painalluksiin ja vapautuksiin. Akselit ja painikkeet noudattavat selaimen standardia peliohjainjärjestystä; painikkeilla on sijaintinimet, kuten south ja east, ja pad.label("south") palauttaa kyseisen ohjaimen kehotteen, kuten "A" tai "Cross". Menu kuuluu PlayDropille ja keskeyttää pelin.

js
await sdk.device.enableControllerInput();
const stop = sdk.device.onButton(({ playerIndex, button, pressed }) => {
  if (button === "south" && pressed) jump(playerIndex);
});
function update() {
  const pad = sdk.device.gamepad(0);
  if (pad?.connected) move(pad.axes[0], pad.axes[1]);
  requestAnimationFrame(update);
}
update();

Älä kutsu navigator.getGamepads(): puhelinohjaimet tavoittavat pelit vain SDK:n kautta, ja PlayDrop kirjaa varoituksen, kun peli lukee selaimen rajapintaa suoraan. Jos isäntä ei pysty tarjoamaan ohjainsyötettä, enableControllerInput() hylätään arvolla controller_input_unavailable tai controller_input_timeout ja peli jatkaa toimintaansa. pad.has("dpad") kertoo, onko ohjain olemassa; ilmoita pelisi tarvitsemat ohjaimet tiedostossa catalogue.json.

Edellinencatalogue.json: PlayDrop-pelin metatiedot ja lokalisointiSeuraavaPlayDropin pelipalvelimet: Colyseus, MongoDB ja server SDK
Näytä Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Tällä sivulla

Lisää SDK ja noudata isännän elinkaartaIdentiteetti, tallennukset ja kieliKirjastot, resurssit ja moninpeliTestaa SDK:lla ennen julkaisuaPelaa yhdessäOhjaimet
Näytä Markdown