diff --git a/CONTRIBUTE.md b/CONTRIBUTE.md index 8174f3f83e4..8b7a75b705e 100644 --- a/CONTRIBUTE.md +++ b/CONTRIBUTE.md @@ -27,15 +27,15 @@ First install: Run: ```sh -poetry install +poetry install --no-root ``` ### Run the project ```sh -mkdocs serve +poetry run mkdocs serve # Or, for faster reload after changes: -mkdocs serve --dirtyreload +poetry run mkdocs serve --dirtyreload ``` This will run the documentation on http://localhost:8000. diff --git a/README.md b/README.md index 46ad1e6207b..0e7fc3aa27c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This repository holds [the official documentation](https://wiki.gdevelop.io) for ## Getting Started -| ❔ I want to... | 🚀 What to do | -| -------------------------------------------- | --------------------------------------------------------------------------------- | -| Improve or add articles to the documentation | Head over to [this README](./SYNTAX.md) to understand the syntax of the documentation.| -| Bring improvements to the documentation interface | Head over to [this README](./CONTRIBUTE.md) to understand how this repository works. | \ No newline at end of file +| ❔ I want to... | 🚀 What to do | +| ------------------------------------------------- | -------------------------------------------------------------------------------------- | +| Improve or add articles to the documentation | Head over to [this README](./SYNTAX.md) to understand the syntax of the documentation. | +| Bring improvements to the documentation interface | Head over to [this README](./CONTRIBUTE.md) to understand how this repository works. | diff --git a/docs/assets/logo.svg b/docs/assets/logo.svg index 9bf16613148..c04e23d234d 100644 --- a/docs/assets/logo.svg +++ b/docs/assets/logo.svg @@ -1,14 +1,20 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/de.png b/docs/de.png deleted file mode 100644 index ac4a9773627..00000000000 Binary files a/docs/de.png and /dev/null differ diff --git a/docs/de/gdevelop5/documentation.md b/docs/de/gdevelop5/documentation.md deleted file mode 100644 index aa1c14950a5..00000000000 --- a/docs/de/gdevelop5/documentation.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: documentation ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -![](/logocompleteeffecttranparent400x100.png) - -# GDevelop 5 GDevelop ist ein quelloffener, plattformübergreifende **Spieleentwicklungssoftware**,. Die Verwendung ist für jedermann entwickelt worden – es sind keine Programmierkenntnisse erforderlich, um die Software zu verwenden. Wenn Sie GDevelop noch nie verwendet haben, [versuchen Sie es online](https://editor.gdevelop.io) oder [laden Sie die Desktop-Version herunter](http://gdevelop.io/download)! - -Dieses **Wiki** ist da, um Sie über die Software zu unterrichten und Tutorials zu ihrer Verwendung bereitzustellen: Sie sind herzlich eingeladen, dazu beizutragen! \# Einstieg - -➡️Um mit GDevelop 5 zu beginnen, lesen Sie die [Erste-Schritte-Seite](/gdevelop5/getting_started), die **[grundlegende Konzepte zur Spieleerstellung](/gdevelop5/tutorials/basic-game-making-concepts)** und durchsuchen Sie die [Tutorials](/gdevelop5/Tutorials). - -!!! note - - "Nicht vergessen. Kreativität und Durchhaltevermögen ist sehr wichtig bei der Spieleentwicklung. diff --git a/docs/de/gdevelop5/getting_started.md b/docs/de/gdevelop5/getting_started.md deleted file mode 100644 index b2a3e74f927..00000000000 --- a/docs/de/gdevelop5/getting_started.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Der Start mit GDevelop ---- -# Der Start mit GDevelop - -## Probieren Sie GDevelop online aus oder laden Sie die Desktop-Version herunter - -* Zu Beginn können Sie [GDevelop online testen](https://editor.gdevelop.io). -* Um Ihr eigenes Spiel zu erstellen, speichern und veröffentlichen Sie es unter [Download der Desktop-Version auf der GDevelop-Website](https://gdevelop.io). - -Wenn Sie GDevelop heruntergeladen haben, öffnen Sie das Installationsprogramm und installieren Sie die Software: - -* Verwenden Sie auf Windows-Computern nach dem *Starten des Installationsprogramms* das *GDevelop-Symbol* auf Ihrem Desktop, um es zu starten. Sie können die Installationsdatei (z. B. eine Zip-Datei) auch *dekomprimieren* und die Software in einem beliebigen Ordner ablegen. -* Starten Sie unter MacOS die *DMG-Datei*, ziehen Sie GDevelop in *Applications* und öffnen Sie GDevelop aus dem Ordner Applications. -* *Dekomprimieren* Sie unter Linux das Archiv und starten Sie die ausführbare Datei. - -Nach dem Start der Anwendung wird die Startseite angezeigt. Auf der Startseite können Sie ein vorhandenes Projekt öffnen oder ein neues Projekt erstellen. - -![](/de/gdevelop5/getting_started/bildschirmfoto_von_2020-01-05_22-11-24.png) -## Erstelle ein neues Projekt - -Um ein neues Projekt zu erstellen, wählen Sie auf der Startseite "Neues Projekt erstellen". - -Ein neues Fenster wird geöffnet. Es enthält eine Liste von Optionen, mit denen Sie aus Vorlagen/Beispielen auswählen oder ein leeres Projekt erstellen können. Die *Beispiele* zeigen, wie eine bestimmte Funktion verwendet wird, während *Starter* fortgeschrittenere Spiele sind, die Sie ausprobieren, studieren und modifizieren können. - -Wenn Sie ein leeres Projekt auswählen, werden keine Elemente, Ereignisse oder Szenen angezeigt - es ist ein völlig leeres Spiel. - -![](/de/gdevelop5/getting_started/bildschirmfoto_von_2020-01-05_22-24-44.png) - -Unten im Fenster können Sie den Ort auswählen, an dem Sie Ihr neues Projekt speichern möchten. -![](/de/gdevelop5/getting_started/bildschirmfoto_von_2020-01-05_22-28-28.png) - -Nachdem Sie den Standardspeicherort für Ihr Projekt ausgewählt haben, klicken Sie auf den Namen einer Startvorlage oder eines Beispiels, um das Spiel zu öffnen. - -!!! note - - Neue Spiele, die Sie erstellen, werden standardmäßig in einem Ordner namens "GDevelop Projects" gespeichert, der sich in Ihrem Ordner "Documents" befindet. - - ## Öffnen Sie ein bestehendes Projekt - - Um ein bestehendes Projekt erneut zu öffnen, wählen Sie auf der Startseite "Projekt öffnen". - - Durchsuchen Sie als Nächstes Ihr lokales Dateisystem, um die Projektdatei auszuwählen. GDevelop 5-Projektdateien werden standardmäßig als ".json" -Dateien gespeichert. - - ![](/ gdevelop5/ project-file.png) - - Das Symbol für diese Datei hängt davon ab, ob auf Ihrem Computer eine Standardanwendung zum Bearbeiten von „.json“ -Dateien installiert ist. - - - *Hinweis:* Benutzer von GDevelop 4 können [hier erfahren, wie Sie Ihr Projekt speichern, um es mit GDevelop 5 zu öffnen](/gdevelop5/getting_started/open-gdevelop-4-project). - - ## Nächster Schritt: Beginnen Sie mit Tutorials - - Lesen Sie **[die grundlegenden Konzepte, um zu verstehen, wie man Gdevelop verwendet](/gdevelop5/tutorials/basic-game-making-concepts)**. - - Die Tutorials und die Dokumentation sind die besten Lernmethoden. Es wird dringend empfohlen, dass Sie ein Tutorial [tutorial](/gdevelop5/tutorials) durcharbeiten! - - ## Erfahren Sie mehr über GDevelop - - Weitere Informationen zur Verwendung von GDevelop finden Sie auf den folgenden Seiten, auf denen alles ausführlicher erklärt wird: - - * [interface](/gdevelop5/interface) - * [objects](/gdevelop5/objects) - * [behaviors](/gdevelop5/behaviors) - * [events](/gdevelop5/events) - * [all features](/gdevelop5/all-features) - * [publishing](/gdevelop5/publishing) - - Beachten Sie auch die mit GDevelop mitgelieferten Beispiele! Sie sind eine gute Möglichkeit, die verschiedenen Funktionen der Software kennenzulernen. \ No newline at end of file diff --git a/docs/de/gdevelop5/getting_started/bildschirmfoto_von_2020-01-05_22-11-24.png b/docs/de/gdevelop5/getting_started/bildschirmfoto_von_2020-01-05_22-11-24.png deleted file mode 100644 index f4150fa7a1c..00000000000 Binary files a/docs/de/gdevelop5/getting_started/bildschirmfoto_von_2020-01-05_22-11-24.png and /dev/null differ diff --git a/docs/de/gdevelop5/getting_started/bildschirmfoto_von_2020-01-05_22-24-44.png b/docs/de/gdevelop5/getting_started/bildschirmfoto_von_2020-01-05_22-24-44.png deleted file mode 100644 index 5a6e7e77346..00000000000 Binary files a/docs/de/gdevelop5/getting_started/bildschirmfoto_von_2020-01-05_22-24-44.png and /dev/null differ diff --git a/docs/de/gdevelop5/getting_started/bildschirmfoto_von_2020-01-05_22-28-28.png b/docs/de/gdevelop5/getting_started/bildschirmfoto_von_2020-01-05_22-28-28.png deleted file mode 100644 index f4b9c649052..00000000000 Binary files a/docs/de/gdevelop5/getting_started/bildschirmfoto_von_2020-01-05_22-28-28.png and /dev/null differ diff --git a/docs/de/gdevelop5/index.md b/docs/de/gdevelop5/index.md deleted file mode 100644 index 1826fac5510..00000000000 --- a/docs/de/gdevelop5/index.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: start ---- -![](/logocompleteeffecttranparent400x100.png) - -# GDevelop 5 Dokumentation - -GDevelop ist ein kostenloses Open-Source, Plattform-übergreifendes **Spiele-Erstellungstool**, dass jeder verwenden kann um Spiele zu erstellen *ohne* jegliche Programmier-Kenntnisse zu haben! Dieses Wiki enthält alles was du wissen musst um mit Gdevelop 5 Spiele zu erstellen — auch wenn du noch nie zuvor Spiele erstellt hast. - -![](/gdevelop5/interface/scene-editor/pasted/20200628-132624.png) - -## Nächste Schritte - -* Falls du GDevelop noch nicht installiert hast, dann lese dir die Anleitung [Anfangen](/gdevelop5/​getting_started) durch. -* Wenn du noch nie ein Spiel erstellt hast, lese dir die Anleitung zu den [Grundlegenden Konzepten zur Spielherstellung](/gdevelop5/​tutorials/​basic-game-making-concepts) durch. -* Wenn du bereit bist ein Spiel zu erstellen, dann [lese dir die Tutorials durch](/gdevelop5/​tutorials). diff --git a/docs/de/gdevelop5/publishing/web.md b/docs/de/gdevelop5/publishing/web.md deleted file mode 100644 index 5d8efaf513d..00000000000 --- a/docs/de/gdevelop5/publishing/web.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: web ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -# Publishing your game on the web (upload online) - -Using GDevelop hosting servers, you can export your game for publication on the web. The hosting servers are free. Your game will be available for a few days! - -To upload to the servers, in the File menu, choose Export. Then choose **Web (upload online)**, and then simply click on **Export and upload my game**. - -![](/gdevelop5/publishing/export-online.png) - -The game will be hosted on GDevelop hosting servers. These servers are backed by Amazon's robust services. The games that you upload are available to use to share your game for a few days. There is no charge for this service. - -Note that the link, by default, is **private**. It not shared anywhere. You can share the link to your game according to your needs. Share with a few people or a broader audience. - -## Export to other platforms (iOS, Android, Windows, macOS, Linux) - -See the [other export options](/gdevelop5/publishing) to learn how to publish your game on other platforms! diff --git a/docs/de/gdevelop5/tutorials.md b/docs/de/gdevelop5/tutorials.md deleted file mode 100644 index 338c1c84458..00000000000 --- a/docs/de/gdevelop5/tutorials.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: GDevelop 5 tutorials ---- -# GDevelop 5 tutorials - -Diese Tutorials sind Schritt-für-Schritt-Anleitungen, die erklären, wie Sie ein Spiel von Grund auf neu erstellen: - -!!! note - - Wenn Sie GDevelop zum ersten Mal verwenden, wird empfohlen, mit diesen Tutorials zu beginnen - -- **[Grundlegende Konzepte zum Erstellen von Spielen: Was Sie wissen müssen, um mit GDevelop zu beginnen](/gdevelop5/tutorials/basic-game-making-concepts)** -- **[Erstellen Sie ein Plattformspiel](/gdevelop5/tutorials/platformer/start)** -- **[Geometry Monster: ein komplettes, einfaches Handyspiel](/gdevelop5/tutorials/geometry-monster)** - -Community-Tutorials: - -- [Erstelle ein einfaches Tank Shooter-Spiel](/gdevelop5/tutorials/tank-shooter) -- [Erstelle ein einfaches Endless Runner-Spiel](/gdevelop5/tutorials/endless-runner) -- [Erstelle ein einfaches Breakout-Spiel](/gdevelop5/tutorials/roadrider) - ------------------------------------------------------------------------- - -# GDevelop Kurzanleitungen ("wie") Die folgenden Anleitungen enthalten Erläuterungen zu bestimmten Teilen von GDevelop. Sie zeigen Ihnen auch einige fortgeschrittene Mechanismen zum Entwerfen Ihrer Spiele: - -- [So bewegen Sie Objekte in Ihrem Spiel (all die verschiedenen Lösungen)](/gdevelop5/tutorials/how-to-move-objects) -- [Wie man den Sprung und den Fall eines Charakters in einem Plattformspiel animiert](/gdevelop5/tutorials/how-to-animate-jump-fall-platformer) -- [So zeigen Sie einen großen Hintergrund in Ihrem Spiel an](/gdevelop5/tutorials/how-to-display-big-background) -- [So debuggen Sie schlechte Spieleleistungen](/gdevelop5/tutorials/how-to-debug-poor-performance) -- [Speicheraktion erklärt](/gdevelop5/tutorials/storage-action-explained) -- [So reduzieren Sie die Größe Ihres Spiels](/gdevelop5/tutorials/reduce-size-game) -- [Umgang mit komplexer Logik - Die Finite-State-Maschine (FSM)](/gdevelop5/tutorials/finite_state_machine) -- [Verwendung von GDevelop als Team (mehrere Entwickler und Teamkollegen)](/gdevelop5/tutorials/how-to-use-GDevelop-as-a-team) - ------------------------------------------------------------------------- - -# Andere Anleitung Die folgenden Anleitungen enthalten Erklärungen zur Spieleentwicklung. Sie sind nicht spezifisch für GDevelop. - -* [Veröffentlichen Sie Ihr Spiel auf itch.io.](/gdevelop5/publishing/publishing-to-itch-io) -* [Veröffentlichen Sie Ihr Spiel im Amazon App Store](/gdevelop5/publishing/publishing-to-amazon-app-store) -* [Veröffentlichen Sie Ihr Spiel in Game Jolt](/gdevelop5/publishing/publishing-to-gamejolt-store) -* [Veröffentlichen Sie Ihr Spiel in Kongregate](/gdevelop5/publishing/publishing-to-kongregate-store) - ------------------------------------------------------------------------- - -# GDevelop Video-Tutorials - -- Siehe die [Liste der von der Community erstellten Video-Tutorials](/gdevelop5/tutorials/videos) - ------------------------------------------------------------------------- - -#Ressourcen - -Links zu Websites von Drittanbietern, auf denen Sie Sprites, Musik und Soundeffekte für Ihre Spiele und Spielbeispiele, Vorlagen und Software finden, die Sie bei der Spieleentwicklung unterstützen. - -- [Liste der Ressourcen](/gdevelop5/tutorials/resources) diff --git a/docs/de/index.md b/docs/de/index.md deleted file mode 100644 index 0026bc3df15..00000000000 --- a/docs/de/index.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: start ---- - -![](/logocompleteeffecttranparent400x100.png) - -# GDevelop Wiki - -GDevelop ist eine Open Source, Cross-Platform Game Engine für Jedermann - Es sind keinerlei Programmierkenntnisse von nöten. Falls ihr GDevelop noch nicht heruntergeladen habt, [tut es jetzt](https://gdevelop.io/download)! - -Dieses Wiki bietet euch Hilfe und Tutorials zum Umgang mit der Software: Ihr seid herzlich Eingeladen mitzumachen! - -## Tutorials und videos - -Lernt GDevelop anhand der **[Tutorials](/de/gdevelop/tutorials)**. - -## Komplette Dokumentation - -Lest die **[GDevelop Dokumentation](/gdevelop/documentation)** für die komplette Referenz. \ No newline at end of file diff --git a/docs/el/gdevelop5/index.md b/docs/el/gdevelop5/index.md deleted file mode 100644 index a21697b58e7..00000000000 --- a/docs/el/gdevelop5/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: start ---- -![](/logocompleteeffecttranparent400x100.png) - -# GDevelop 5 - -Το GDevelop είναι ένας δημιουργός παιχνιδιών ανοιχτής πηγής και πολλαπλών πλατφορμών που έχει σχεδιαστεί για χρήση από όλους - δεν απαιτούνται δεξιότητες προγραμματισμού για τη χρήση του λογισμικού. Εάν δεν έχετε χρησιμοποιήσει ποτέ το GDevelop, δοκιμάστε το online ή κατεβάστε την έκδοση για υπολογιστές, [try it online](https://editor.gdevelop.io) or [download the desktop version](https://gdevelop.io/download)! - -This **Wiki** is here to teach you about the software and provide tutorials on how to use it: you are welcome to contribute! - -# Getting Started - -➡️To get started with GDevelop 5, read the [Getting Started page](/gdevelop5/getting_started), the **[basic Game Making concepts](/gdevelop5/tutorials/basic-game-making-concepts)** and browse the [tutorials](/gdevelop5/tutorials). diff --git a/docs/es.png b/docs/es.png deleted file mode 100644 index c2de2d7111e..00000000000 Binary files a/docs/es.png and /dev/null differ diff --git a/docs/es/gdevelop5/2.png b/docs/es/gdevelop5/2.png deleted file mode 100644 index acc7b44382f..00000000000 Binary files a/docs/es/gdevelop5/2.png and /dev/null differ diff --git a/docs/es/gdevelop5/all-features/admob.md b/docs/es/gdevelop5/all-features/admob.md deleted file mode 100644 index 0d23d21b24b..00000000000 --- a/docs/es/gdevelop5/all-features/admob.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: Integrar anuncios usando Google AdMob ---- -# Integrar anuncios usando Google AdMob - -GDevelop soporta la integración de anuncios en su juego usando **Google AdMob**, on *Android* and *iOS*. - -Los anuncios pueden ser mostrados y cargados en cualquier momento. Pueden mostrarse como **banners** arriba o abajo de la pantalla o como **anuncios intersticiales**. Los _anuncios intersticiales_ son aquellos que ocupan toda la pantalla. **Vídeos de recompensa** también pueden ser mostrados. - -Los anuncios tipo banner suelen ser mostrados durante la partida o en el menú. Los anuncios intesticiales suelen mostrarse al iniciar/finalizar una escena o al lograr un objetivo dentro del juego. Los anuncios de recompensa suelen mostrarse a modo opcional si el usuario desea obtener algo a cambio de ver un anuncio (por ejemplo: monedas adicionales o saltar un nivel muy complicado para él) - -## Configurando tu cuenta de Google AdMob - -Para empezar, vaya al [sitio web de AdMob](https://www.google.com/admob/) y cree una cuenta. Una vez hecho esto, deberá crear una app y un nuevo bloque de anuncio. - -Ente en `Apps" y luego haga click en "Añadir App" en el menú de la izquierda". - -![](/gdevelop5/all-features/admob-left-menu-add-app.png) - -Añada sus apps estableciendo el nombre y la plataforma correspondiente. Si su juego es tanto como para Android e IOS, deberá de registrar 2 bloques de anuncio diferentes. - -Una vez creado, su **app id (id de la aplicación)** se mostrará. - -![](/gdevelop5/all-features/admob-app-created.png) - -Posteriormente, elija si el anuncio va a ser un banner, anuncio interstitial o video recompensado. - -![](/gdevelop5/all-features/admob-choose-ads-type.png) - -Establezca un nombre y haga click en "Añadir un nuevo bloque de anuncio" (create ad unit). - -![](/gdevelop5/all-features/admob-banner-setup.png) - -Ahora podrá ver el app id (id de la aplicación) y el ad unit identifier (id del bloque de anuncio). - -![](/gdevelop5/all-features/admob-adunit-id.png) - -!!! note - - El primer identificador es el **app id (id de la aplicación)**. El segundo es el **ad unit identifier (identificador del bloque de anuncio)**. Necesitas saber esto para luego insertarlo en los parámetro del juego y los parámetros de la acción para mostrar los anuncios. Cópielos o deje la ventana abierta. - -## Añadir un método de pago en AdMob - -Antes de que tus anuncios puedan ser mostrados, necestas tener establecido un método de pago en tu cuenta. Vaya a la página de pagos y rellene la información necesaria: - -![](/gdevelop5/all-features/admob-payments-menu.png) - -Cuando tu cuenta esté lista, Admob mostrará que tu cuenta ha sido *aprobada*: - -![](/gdevelop5/all-features/admob-account-approved.png) - -Ahora se podrán mostrar anuncios. - -!!! note - - Puede tomar un día (~h24) o días en mostrarse anuncios por primera vez. Si los anuncios no se muestra, compruebe que ha introducido toda la información necesaria en esta página y que su juego se encuentra configurado correctamente (ver la siguiente sección). - -!!! note - - Una vez tu cuenta está aprobada use el modo prueba para probar los anuncios. Si no usa el modo de prueba, su cuenta podría bloquearse debido a que AdMob prohibe el uso de anuncios en apps locales. Tu teléfono y ordenador no deben estar en la misma red y la cuenta de Google usada para Play sotre no debe ser la misma que la usada para el desarrollo. Generalmente es mejor pedirle a un amigo que pruebe el juego. - -## Configurando tu juego - -Una vez configurada tu cuenta de AdMob y teniendo tu app id y el ad unit identifier (identificador de anuncio), abre las propiedades de tu juego. Abre el **Administrador de proyectos**, y haga click en ajustes del juego y **Propiedades**. - -En la sección AdMob, introduzca su **app id**, uno para Android y otro para iOS (aunque puede que sea el mismo). - -!!! note - - El app id debe de ser introducido *SIN* comillas o espacios al principio/final. - -![20210128-231626.png](/gdevelop5/all-features/admob/pasted/20210128-231626.png) - -!!! note - - No confundir el *app id (identificador de la app)* y el *ad unit identifier (identificador de la unidad de anuncio)*. El app id es un único id para tu app, mientras que el ad unit identifier es diferente para cada anuncio que creas. - -## Cargando y mostrando anuncios Una vez tu juega está configurado con el *app id*, puedes añadir un evento con una acción para mostrar el bloque de anuncio que has creado (ad unit). Todas las acciones pueden encontrarse dentro de la categoría AdMob: - -![20210131-221349.png](/gdevelop5/all-features/admob/pasted/20210131-221349.png) - -Elija las opciones adaptadas a su bloque de anuncio: - - *Si has creado un **banner**, usa las acciones 1) *Configurar el banner* y 2) *Mostrar el banner*. - - * Para **intersticiales** y **vídeos recompenssados**, use la acción para primero cargarlo (durante la partida) y luego la acción para mostrarlo (el jugador ha terminado el nivel, por ejemplo). - -En la acción, pegue el **ad unit id (id del bloque de anuncio)** en los parámetros (uno para android y otro para IOS). Debido a que los parámetros son expresiones de cadena, debe poner los *ad unit identifier (id del bloque de anuncio) entre comillas*. - -![20210131-221724.png](/gdevelop5/all-features/admob/pasted/20210131-221724.png) - -Para mostrar los anuncios tan pronto como estén listos, marque la opción correspondiente. Esto es solo para los anuncios intersticiales y vídeos recompensados. Los banners son cargados y mostrados automáticamente usando la acción *Mostrar banner*. - -Finalmente, si su cuenta no se encuentra totalmente aprobada, es posible consultar el espacio que i¡eocupará su juego con el "**Modo prueba**". Esto creará un banner, intersticial o vídeo de recompensas falsos para ver el espacio que usan. - Esta es una gran forma de comprobar lo realizado. - -Para esto, inserte la acción para habilitar el modo prueba al principio del juego: - -![20210131-221920.png](/gdevelop5/all-features/admob/pasted/20210131-221920.png) - -## Probando y publicando su jueego en Android (o iOS) - -Primero necesita exportar el juego para Android (o iOS) para tener anuncios en su dispositivo. ver **[la página dobre como publicar para Android e iOS](/gdevelop5/publishing/android_and_ios)**. - -![](/gdevelop5/all-features/export-android.png) - -El servicio de exportación en un click para Android incluido con GDevelop es compatible con Admob, por lo tanto no se requieren herramientas o kits de desarrollos adicionales. - -En resumen, antes de lanzar su aplicación con anuncios, debe de: - -- Tener su cuenta de Admob aprobada. -- Comprobar que ha desabilitado el modo prueba (no hay una acción que lo active). -- Comprobar que ha establecido correctamente el **app id (id de la aplicación)** (para Android e iOS), y los **ad unit identifier (identificadores del bloque de anuncio)** (para Android e iOS). - -Espere unas cuantas horas para poder ver los primeros anuncios. - -!!! note - - Recuerde que los anuncios no están visibles en las previsualizaciones de GDevelop, solo en las exportaciones para Android (or iOS) apps. Puede que el servicio de AdMob tome varios días en empezar a mostrar anuncios en su aplicación, especialmente para los vídeos. - -## Ejemplo - -Mire como los anuncios funcionan en un juego abriendo el ejemplo **AdMob**. Remplace los app id (id de la aplicación) e ad unit identifiers (identificadores del bloque de anuncio), en las acciones para probar con su propia cuenta. - -!!! note - - ¡Pruébelo online! **[Click aquí para abrir el ejemplo de Admob](https://editor.gdevelop.io/?project=example://admob)**. Debe exportalo a Android usando el editor de Gdevelop descargado en su pc para probar el ejemplo en un teléfono real. diff --git a/docs/es/gdevelop5/all-features/audio/index.md b/docs/es/gdevelop5/all-features/audio/index.md deleted file mode 100644 index 33e23f8ac5d..00000000000 --- a/docs/es/gdevelop5/all-features/audio/index.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: Audio ---- -# Audio - -Reproducir música y o sonidos es una parte escencial de un juego. GDevelop le proporciona varias condiciones y acciones para reproducir archivos de audio. - -##Reproducción de un archivo de sonido o de música - -!!! warning - - Antes de que se pueda reproducir un sonido/música, primero debes asegurarte de que el jugador interactuó con tu juego (un simple clic/toque en la pantalla está bien para desbloquear el audio). Esta es una limitación de los navegadores y no se puede solucionar. En tu juego final, se recomienda tener en tu primera escena un mensaje "Presiona cualquier tecla o toca la pantalla para continuar". - -La forma más sencilla de reproducir un archivo de audio es usar la acción "**Reproducir un sonido**" o "**Reproducir un archivo de música**". -Elija el archivo que se reproducirá para el primer parámetro de ambas acciones. - -La diferencia entre sonido y música es que los archivos de música suelen ser archivos de audio cada vez más grandes. Los formatos de archivo de audio compatibles con GDevelop son Waveform Audio Format (wav), MPEG Layer 3 (mp3), Ogg Vorbis (ogg) y Advance Audio Coding (AAC) - -!!! note - - Los archivos Ogg pueden ser contenedores para múltiples tipos de audio, más comúnmente Vorbis y Opus. Los archivos Ogg Vorbis son mucho más compatibles con diferentes navegadores y sistemas operativos, por lo que se recomienda utilizar la codificación Ogg Vorbis si se utilizan archivos ogg. - -Todos estos formatos se pueden utilizar para música o efectos de sonido, aunque se recomienda encarecidamente utilizar mp3 u ogg para música debido al tamaño del archivo wav. Un archivo mp3, ogg o AAC de 320 kbps tendrá una calidad de audio casi idéntica a un archivo wav de máxima calidad, pero ocupará 1/4 del tamaño del archivo. - -Si distribuye su juego vía web, algunos navegadores también admiten otros formatos de archivo. Por ejemplo, `ogg`; `ogg` es una alternativa superior a `mp3` para la música. Desafortunadamente, no todos los navegadores lo admiten [Para más información puede consltar Wikipedia](https://en.wikipedia.org/wiki/HTML5_audio#Supported_audio_coding_formats). - -!!! tip - - Puede utilizar la herramienta de creación de efectos de sonido incorporada llamada jfxr para crear efectos de sonido (esta herramienta solo está disponible para la versión de escritorio) - [Aprenda a usar jfxr aquí](/gdevelop5/ all-features/ audio/ using-jfxr) - -!!! note - - Cuando eliges un archivo de audio, se agrega a los recursos del juego para que se cargue durante el inicio del juego. - Para minimizar el tamaño de su juego, asegúrese de eliminar los archivos de audio que ya no están en uso por las acciones de su juego. - - - - -## Mantén la música y los sonidos reproduciéndose entre escenas - -Cuando comienza una nueva escena, de forma predeterminada, los sonidos y la música se detienen. Si desea que sigan reproduciéndose, abra las propiedades de la escena (haga clic con el botón derecho en la escena, en el editor de escenas) y desmarque la casilla de verificación: -![](/ gdevelop5/ all-features/ scene_properties.png) - - - -## Usando canales - -Cuando se utiliza la acción "Reproducir un sonido" o "Reproducir un archivo de música", los archivos de audio se reproducen inmediatamente. Al finalizar, se eliminan de la memoria. El bucle es una excepción. Cuando configura la acción para repetir el archivo de audio, se reproducirá para siempre (Endless Loop). Debe utilizar una acción para detener todos los sonidos o la música. - -Si desea tener más control sobre los sonidos, utilice la acción "** Reproducir un sonido en un canal **" o "** Reproducir un archivo de música en un canal. **" La acción se usa de la misma manera, excepto que usted tiene que ingresar un número de canal. Este número de canal se puede reutilizar en otras acciones o condiciones. Se puede usar un "número de canal" para verificar si se está reproduciendo un sonido en un canal, o se puede usar para modificar algunas propiedades de la música que se está reproduciendo. Por ejemplo, puede utilizar un "número de canal" para actualizar el volumen de la música de forma dinámica de acuerdo con la presencia de enemigos alrededor del reproductor. - -## Volumen - -Los sonidos y la música se reproducen por defecto con un volumen del 100%, que es el máximo. Al iniciar un nuevo sonido / música, puede ingresar un valor diferente (entre 0 y 100). - -También puedes usar la acción "Volumen global del juego" para cambiar el volumen de audio de todo el juego. Un valor de 0 significa que no se puede escuchar ningún sonido o música. Esta acción es conveniente cuando se permite al jugador silenciar o cambiar el volumen del juego. Por ejemplo, es posible que tenga una pantalla de configuración en su juego que acceda al control de volumen del juego. Los juegos móviles también suelen tener un botón para silenciar los sonidos del juego. - -## Consideraciones de rendimiento - -La primera vez que se reproduce música o sonido, puede haber un retraso mientras se prepara el archivo de audio. Si es esencial evitar cualquier retraso, puede reproducir el archivo de audio o música al comienzo de la escena donde se usa. Establecer el volumen inicial 0; esto obligará al juego a cargar el sonido o la música. El audio se almacenará en la memoria caché. Se cargará rápidamente cuando se llame usando su acción. - -## Más sobre el estado de un sonido / música - -Cuando usas la acción para ** reproducir un sonido o música en un canal **, se pone en el estado ** "reproduciendo" **, incluso si todavía **se carga** en la memoria. - -La condición "Se está reproduciendo un sonido" (en este canal) es entonces verdadera, mientras que "Un sonido está detenido" (en este canal) será falsa, así como "Un sonido está en pausa" (en este canal nuevamente). -Cuando el sonido esté completamente cargado, comenzará a ser realmente played en su dispositivo (para que escuche el audio). - -El sonido se detendrá cuando: - -* Llega a su **final** y no está configurado para bucle. -* Hay **un error durante la carga** (en cuyo caso se considerará que se está reproduciendo durante unos milisegundos, luego se considerará que está detenido porque no se pudo cargar). -* O usó **la acción** para detener un sonido o música en el canal. \ No newline at end of file diff --git a/docs/es/gdevelop5/all-features/audio/using-jfxr.md b/docs/es/gdevelop5/all-features/audio/using-jfxr.md deleted file mode 100644 index 663b60411cd..00000000000 --- a/docs/es/gdevelop5/all-features/audio/using-jfxr.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: Haciendo efectos de sonido usando jfxr ---- -# Haciendo efectos de sonido usando jfxr - -GDevelop viene equipado con una herramienta llamada [jfxr](https://jfxr.frozenfractal.com/). La cual puede sser usada para crear efectos de sonidos en GDevelop. - -!!! note - - jfxr sólo viene equipado en la versión de escritorio de GDevelop. No podrás usarlo en el editor online. - -# Abriendo jfxr - -Puedes usar jfxr en lugar de introducir un archivo (.wav, etc..) haciendo click en **Crear** al lado del parámetro - -![](/gdevelop5/all-features/audio/usingjfxr0.png) - -También se puede emplear para archivos ya existentes. - -![](/gdevelop5/all-features/audio/usingjfxr10.png) - -# Interfaz - -Cuando haces click en el botón, una interfaz similar a la de abajo aparecerá: - -![](/gdevelop5/all-features/audio/usingjfxr2.png) - -## Generando efectos de sonidos - -Puedes generar efectos de sonido haciendo click en estas opcines:. - -Jfxr te da opciones para el tipo de efecto de sonido a elegir. como por ejemplo, **golpe/dañoo (hit/damage)**, **moneda adquirida (coin collected)**/**potenciador (powerup)**, etc.. - -![](/gdevelop5/all-features/audio/usingjfxr3.png) - -Jfxr Puede algunas veces repetir dos veces un sonido, si quieres que cree un sonido nuevo cada vez, puedes modificar **Create new sound (crear nuevo sonido)**. - -![](/gdevelop5/all-features/audio/usingjfxr4.png) - -## Personalizando el sonido generado - -Puedes cambiar el sonido generado a tu gusto con las múltiples opciones dadas. - -![](/gdevelop5/all-features/audio/usingjfxr5.png) - -Puedes silenciar sonidos usando **mutate** abajo de las opciones de efectos de sonidos. - -Tu también puedes deshacer las acciones usando **undo** dado al lado. - -![](/gdevelop5/all-features/audio/usingjfxr12.png) - -## Reproduciendo los efectos de sonidos - -Puedes reproducir los sonidos haciendo click en **Play**. - -![](/gdevelop5/all-features/audio/usingjfxr6.png) - -Si quieres que el sonido se reproduzca automáticamente después de cada cambio dado, puedes activar **Auto** al lado del botón de play. - -Puedes volver de nuevo a los sonidos creados con anterioridad a través de la lista dad arraba a la izquierda. - -![](/gdevelop5/all-features/audio/usingjfxr.png) - -## Guardando y exportando - -Cuando todo esté listo, puedes exportar el sonido a .wav y darle un nombre. - -Haz click en **save** y tu obra será añadida a la carpeta del proyecto. - -![](/gdevelop5/all-features/audio/usingjfxr9.png) - -Una vez hecho click en guardar y salir, El sondio deberá ser añadido al parámetro de la opción. Puedes usar el sonido creado como cualquier otro en eventos. - -!!! note - - Puede darse algún error diciendo que el archivo no existe. Simplemente abra de nuevo el editor de acciones y deberá de solucionarse - -### Otras opciones - -También puedes guardar los sonidos como archivos ".jfxr" file usando **Save**. El cual puedes abrir luego y continuar trabajando abriéndolo con **Open**. También puedes exportar el sonido de forma externa usando **Export**. También puedes incluso generar un link al sonido - -![](/gdevelop5/all-features/audio/usingjfxr13.png) diff --git a/docs/es/gdevelop5/all-features/collisions.md b/docs/es/gdevelop5/all-features/collisions.md deleted file mode 100644 index 1899dad104f..00000000000 --- a/docs/es/gdevelop5/all-features/collisions.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: Manejando colisiones en tu juego ---- -# Manejando colisiones en tu juego - -La mayoría de los juegos necesitan detectar y manejar colisiones entre objetos. La detección y el manejo de colisiones se pueden hacer para que los objetos se adhieran a las plataformas, así como para detectar colisiones entre balas y jugadores o balas y otros objetos. - -GDevelop proporciona varias formas diferentes de manejar las colisiones. Puede detectar colisiones usando las acciones y condiciones del editor de eventos o puede usar comportamientos de objetos. - -## Haga objetos sólidos: use la acción "Separar objetos" (bueno para juegos de arriba hacia abajo, RPG ...) - -Puede utilizar la acción "**Objetos separados**" para mover objetos manualmente. La acción "Objetos separados también puede mover objetos con" fuerzas "o estableciendo la posición del objeto. - -"**Objetos separados**". Esta acción toma 2 nombres de objeto como argumento. - -- El primer nombre del objeto es el _objeto en movimiento_ (el jugador, el enemigo, etc ...). -- El segundo nombre de objeto es un _objeto (o un grupo de objetos) que es sólido_. Por ejemplo, estos objetos pueden ser las paredes. - -La acción entonces iterará sobre todos los objetos dados. Se asegurará de que si cualquier objeto del primer tipo choca con el objeto del segundo tipo, el objeto se alejará. Esto se hace usando un algoritmo llamado _SAT algorithm_. - -![](/gdevelop5/all-features/separate-objects-action.png) - -Esta acción será lanzada en cada fotograma. En un evento sin condiciones, la acción ya está haciendo las comprobaciones de colisiones. Evita lanzar esta acción varias veces. Hacerlo podría reducir el rendimiento del juego. - -### Detección de Colisiones (Detect collisions). - -El uso de "Objetos separados" es una buena manera de asegurarse de que sus objetos no puedan moverse a otros objetos sólidos. Esta acción comprueba las colisiones entre objetos. Por ejemplo, si el objeto del juego "jugador" toca una pared, esta acción, cuando se usa con la condición llamada "**Colisión**", provocará daños al jugador. - -**La secuencia es importante. ** - Ejecutar la condición llamada "** Colisión**" - -1. Añadir acciones apropiadas. -2. Añadir la acción "Separar objetos" - -Después de ejecutar la acción "Separar objetos", los objetos se mueven. _Las colisiones entre objetos ya no podrán ser verificadas._ - -Puede encontrar el uso de estas condiciones y acciones en los ejemplos: - -!!! note - - **Véalo en acción!** 🎮 Abre el ejemplo Online: - -[![](/undefined/checkccollisionbetweenobjects.png)](https://editor.gdevelop.io?project=example://bomb-the-crate) - -## Juegos de Plataformas: usa el personaje de Plataformas y los comportamientos de Plataforma. - -Si está creando un juego de plataformas, es una buena idea usar el comportamiento ["Platformer" character](/gdevelop5/ behaviors/ platformer). Es un motor de juego de plataformas ya hecho que es altamente personalizable. El comportamiento del "personaje de Plataformas" maneja las colisiones con las plataformas y la gravedad para usted. - -### ¿Detectar colisiones en un juego de plataformas? - -En un juego de plataformas con el comportamiento del "personaje de Platformer", las colisiones se manejan por ti con plataformas. - -* Aún puedes usar la **Condición de colisión **para verificar las colisiones entre un objeto y otros objetos (por ejemplo, entre el jugador y los enemigos) y reaccionar en consecuencia. * Puede usar la condición "Está en el piso" para verificar si un objeto está en una plataforma. - -![](/gdevelop5/all-features/playerisonfloorevents.png) - -!!! note - - **Véalo en acción!** 🎮 - - Abre los ejemplos Online: - -## ¿Juego con la física? Usa el comportamiento de la física. - -Usa [Physics behavior](/gdevelop5/ behaviors/ physics) para lograr un comportamiento físico realista en tu juego. Adjunta el comportamiento "Física" a tus objetos. Los objetos se comportarán como si estuvieran basados ​​vivos en el mundo del juego. Algunos ejemplos de comportamiento del mundo real son rebotar bolas, caer, saltar, etc. - -Configure las paredes del juego u objetos sólidos que no deberían moverse con un comportamiento "estático". - -### Detectar colisiones con el comportamiento de Física. - -Cuando está utilizando el comportamiento "Física", **no use **la condición "Colisión" que está en la categoría **Características para todos los objetos**. _El motor de física manejará todas las colisiones por sí mismo ._ La condición de colisión no detectará correctamente cuando los objetos se toquen. - -En su lugar, use la Condición de colisión **dentro de la categoría de comportamiento de Física**, que utiliza correctamente el motor de física para escuchar colisiones. - -![](/gdevelop5/all-features/usephysicsbehaviornotcollisioncondition.png) - -!!! note - - **Véalo en acción!** 🎮 Abra el ejemplo Online: - -![](/gdevelop5/behaviors/hingeleverdemo.png) diff --git a/docs/es/gdevelop5/all-features/device-sensors.md b/docs/es/gdevelop5/all-features/device-sensors.md deleted file mode 100644 index 77673891196..00000000000 --- a/docs/es/gdevelop5/all-features/device-sensors.md +++ /dev/null @@ -1,200 +0,0 @@ ---- -title: Extensión de sensores del dispositivo ---- -# Extensión de sensores del dispositivo - -Esta poderosa extensión le brinda acceso a los sensores que se pueden encontrar en la mayoría de los dispositivos móviles. - -## Sensor de orientación - -El sensor de orientación combina el giroscopio, el acelerómetro y la brújula en un sensor. Esto le permite controlar los objetos del juego girando ligeramente el dispositivo móvil en sus manos. Puede acceder a los datos de ubicación a través de los valores "alfa", "beta" y "gamma" que se explican en la siguiente sección. - -### Ejes explicados - -#### Alfa - -![](/gdevelop5/all-features/orientation_alpha_axis.png) - -El valor "alfa" corresponde al eje que apunta al cielo cuando su teléfono está sobre una mesa con su pantalla apuntando hacia arriba. Puede crear fácilmente una brújula utilizando el valor de rotación "alfa". - -**Rango: **0 a 360 grados - -#### Beta - -![](/gdevelop5/all-features/orientation_beta_axis.png) - -El eje "beta" corre a través del borde estrecho del teléfono. - -**Rango: **-180 a 180 grados - -#### Gamma - -![](/gdevelop5/all-features/orientation_gamma_axis.png) - -El eje "gamma" recorre el borde más largo del teléfono. - -**Rango: **-90 a 90 grados - -### Condiciones - -**Sensor activo** - -Esta condición verifica si el sensor se ha activado todavía y está entregando datos de ubicación. - -**Orientación alfa** - -Esta condición le permite comparar el valor de alfa con un número o variable. - -**Orientación Beta** - -Esta condición le permite comparar el valor de beta con un número o variable. - -**Orientación Gamma** - -Esta condición le permite comparar el valor de gamma con un número o variable. - -### Acciones - -**Activar el sensor de orientación** - -Esta acción activa el sensor de orientación para que comience a entregar valores alfa, beta y gamma. Vuelva a apagarlo cuando ya no necesite el sensor para ahorrar tiempo de procesamiento y la batería del teléfono. - -**Desactivar el sensor de orientación** - -Esta acción desactiva el sensor de orientación para que deje de entregar valores alfa, beta y gamma. - -### Expresiones - -**Es Absoluto** - -Este valor indica que los datos de orientación están en valores absolutos. En referencia a las coordenadas de la Tierra (valor 1) o el uso de un marco arbitrario está determinado por el dispositivo (valor 0). - -**Valor alfa** - -La rotación "alfa". - -**Valor Beta** - -La rotación "beta". - -**Valor gamma** - -La rotación "gamma". - -## Sensor de movimiento - -En contraste con el sensor de orientación que devuelve valores absolutos, el sensor de movimiento entrega valores relativos. Este sensor solo devuelve valores mientras el dispositivo se está moviendo. Si lo mantiene quieto, sin importar su orientación, el sensor devolverá 0. Puede acceder a los datos de movimiento a lo largo de un eje a través de los valores "x", "y", "z" y los datos de rotación alrededor de un eje a través de "alfa", "beta" y "gamma", que se explican en la siguiente sección. - -!!! note - - Los valores de rotación del sensor de movimiento (alfa, beta, gamma) actualmente no son compatibles con los dispositivos móviles. Actualmente sería mejor calcular el valor a partir de los datos de orientación - -### Ejes explicados - -#### Aceleración X - -![](/gdevelop5/all-features/motion_acceleration_x.png) - -Este valor muestra la aceleración a lo largo del eje x. Si mueve su dispositivo a lo largo del borde más largo, el valor de x aumentará. - -#### Aceleración Y - -![](/gdevelop5/all-features/motion_acceleration_y.png) - -Este valor muestra la aceleración a lo largo del eje y. Si mueve su dispositivo a lo largo del borde más pequeño, el valor y aumentará. - -#### Aceleración Z - -![](/gdevelop5/all-features/motion_acceleration_z.png) - -Este valor muestra la aceleración a lo largo del eje z. Si mueve su dispositivo hacia arriba o hacia abajo, el valor z aumentará. - -#### Rotación alfa - -![](/ gdevelop5/ all-features/ motion_alpha.png) - -Este valor muestra la aceleración alrededor del eje z. Si enciende su dispositivo con la pantalla hacia arriba, el valor alfa aumentará. - -#### Rotación beta - -![](/ gdevelop5/ todas las funciones/ motion_beta.png) - -Este valor muestra la aceleración alrededor del eje x. Si sostiene su dispositivo en modo horizontal con una mano en cada lado, puede girar su dispositivo alrededor del eje x y el valor beta aumentará. - -#### Rotación gamma - -![](/ gdevelop5/ todas las funciones/ motion_gamma.png) - -Este valor muestra la aceleración alrededor del eje y. Si sostiene su dispositivo en modo retrato con una mano en cada lado, puede girar su dispositivo alrededor del eje y y el valor beta aumentará. - -### Condiciones - -**Sensor activo** - -Esta condición verifica si el sensor se ha activado todavía y está entregando datos de ubicación. - -**Aceleración X** - -Esta condición le permite comparar el valor de la aceleración x con un número o variable. (m / s²) - -**Aceleración Y** - -Esta condición le permite comparar el valor de la aceleración y con un número o variable. (m / s²) - -**Aceleración Z** - -Esta condición le permite comparar el valor de la aceleración z con un número o variable. (m / s²) - -**Motion Alpha** - -Esta condición le permite comparar el valor de alfa con un número o variable. (m / s²) - -**Motion Beta** - -Esta condición le permite comparar el valor de beta con un número o variable. (m / s²) - -**Motion Gamma** - -Esta condición le permite comparar el valor de gamma con un número o variable. (m / s²) - -### Acciones - -**Activar el sensor de movimiento** - -Esta acción activa el sensor de movimiento para que comience a entregar valores de x, a, z, alfa, beta y gamma. Vuelva a apagarlo cuando ya no necesite el sensor para ahorrar tiempo de procesamiento y la batería del teléfono. - -**Desactivar el sensor de movimiento** - -Esta acción desactiva el sensor de movimiento para que deje de entregar valores de x, a, z, alfa, beta y gamma. - -### Expresiones - -**Aceleración X Valor** - -La aceleración "x". (m / s²) - -**Aceleración Y Valor** - -La "y" aceleración. (m / s²) - -**Aceleración Z Valor** - -La aceleración "z". (m / s²) - -**Valor alfa** - -La rotación "alfa". (m / s²) - -**Valor Beta** - -La rotación "beta". (m / s²) - -**Valor gamma** - -La rotación "gamma". (m / s²) - -![](/gdevelop5/all-features/devicesensorsevents.png) - -## Reference - -All actions, conditions and expressions are listed in [the device sensors reference page](/gdevelop5/all-features/device-sensors/reference/). diff --git a/docs/es/gdevelop5/all-features/device-vibration.md b/docs/es/gdevelop5/all-features/device-vibration.md deleted file mode 100644 index 05b3550a5d5..00000000000 --- a/docs/es/gdevelop5/all-features/device-vibration.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Extensión de vibración del dispositivo ---- -# Extensión de vibración del dispositivo - -Esta extensión le da acceso a la funcionalidad de vibración en dispositivos móviles. - -### Acciones - -#### Vibrar - -Esta acción hace vibrar el dispositivo una vez por el valor dado en milisegundos. (valor numérico). - -#### Vibrar por patrón - -Esta acción hace vibrar el dispositivo en un patrón. Cada primer valor representa el tiempo de vibración, cada segundo el tiempo de silencio. Cada valor debe darse en milisegundos como una lista de valores numéricos separados por comas. // ¡No olvides las comillas! // - -!!! note - - **Ejemplo: **"1000,500,1000" - - Un segundo de vibración, seguido de medio segundo de silencio y luego un segundo más de vibración. - -#### Detener la vibración - -Esta acción detiene la vibración después del intervalo de patrón actual. - -![](/gdevelop5/all-features/devicevibrationevents.png) diff --git a/docs/es/gdevelop5/all-features/expressions-reference.md b/docs/es/gdevelop5/all-features/expressions-reference.md deleted file mode 100644 index 35be9520fa3..00000000000 --- a/docs/es/gdevelop5/all-features/expressions-reference.md +++ /dev/null @@ -1,1066 +0,0 @@ ---- -title: expressions-reference ---- -FIXME**Esta página no está totalmente traducida, por ahora. Please help completing the translation.** -*(remove this paragraph once the translation is finished)* - -# Referencia de expresiones - -Las expresiones se pueden añadir cuando ves este botón al lado de algún campo de texto: - -![](/gdevelop5/field_expressions.png) - -- El botón de la izquierda indica una "expresión de cadena" (un texto) -- El botón derecho indica una "expresión numérica" (número) - -Esta página es una referencia de todas las expresiones que se pueden usar en GDevelop, agrupadas por la extensión, objeto o comportamiento al que pertenecen también. Cuando se escribe "Objeto", debe ingresar un nobre para el objeto.**[Aprenda más aquí sobre cómo escribir expresiones.](/gdevelop5/all-features/expressions)** - -!!! note - - Las expresiones también son llamadas a veces funciones, como en matemáticas. - -## Funciones para todos los objetos - -Funciones comunes que pueden usarse para todos los objetos [Lea más sobre ello.](http://wiki.compilgames.net/doku.php/gdevelop5/objects/base_object/events) - -| Expresión | Descripción | | -|-------------------|------------------------------------------------------------------|:------:| -| `Count(object)` | Cuenta el número de objetos especificados obtenidos en el evento | | -| ::: | _object_ | Objeto | - -| Expresión | Descripción | | -|--------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------:| -| `Object.Angle()` | Ángulo actual, en grados, del objeto | | -| `Object.AngleToObject(object)` | Compute the angle between two objects. If you need the angle to an arbitrary position, use AngleToPosition. | | -| ::: | _object_ | Object | -| `Object.AngleToPosition(number, number)` | Compute the angle between the object center and a "target" position. If you need the angle between two objects, use AngleToObject. | | -| ::: | _number_ | Target X position | -| ::: | _number_ | Target Y position | -| `Object.CenterX()` | Return the X position of the center. | | -| `Object.CenterY()` | Return the Y position of the center. | | -| `Object.Distance(object)` | Distance between two objects | | -| ::: | _object_ | Object | -| `Object.DistanceToPosition(number, number)` | Distance between an object and a position | | -| ::: | _number_ | Target X position | -| ::: | _number_ | Target Y position | -| `Object.ForceAngle()` | Angle of the sum of forces | | -| `Object.ForceLength()` | Length of the sum of forces | | -| `Object.ForceX()` | X coordinate of the sum of forces | | -| `Object.ForceY()` | Y coordinate of the sum of forces | | -| `Object.Height()` | Height of the object | | -| `Object.Layer()` | Return the name of the layer the object is on | | -| `Object.ObjectName()` | Return the name of the object | | -| `Object.ObjectTimerElapsedTime(string)` | Value of a timer | | -| ::: | _string_ | Timer's name | -| `Object.SqDistance(object)` | Square distance between two objects | | -| ::: | _object_ | Object | -| `Object.SqDistanceToPosition(number, number)` | Square distance between an object and a position | | -| ::: | _number_ | Target X position | -| ::: | _number_ | Target Y position | -| `Object.Variable(objectvar)` | Value of an object variable | | -| ::: | _objectvar_ | Variable | -| `Object.VariableChildCount(objectvar)` | Number of children of an object variable | | -| ::: | _objectvar_ | Variable | -| `Object.VariableString(objectvar)` | Text of an object variable | | -| ::: | _objectvar_ | Variable | -| `Object.Width()` | Width of the object | | -| `Object.X()` | X position of the object | | -| `Object.XFromAngleAndDistance(number, number)` | Compute the X position when given an angle and distance relative to the starting object. This is also known as getting the cartesian coordinates of a 2D vector, using its polar coordinates. | | -| ::: | _number_ | Angle, in degrees | -| ::: | _number_ | Distance | -| `Object.Y()` | Y position of the object | | -| `Object.YFromAngleAndDistance(number, number)` | Compute the Y position when given an angle and distance relative to the starting object. This is also known as getting the cartesian coordinates of a 2D vector, using its polar coordinates. | | -| ::: | _number_ | Angle, in degrees | -| ::: | _number_ | Distance | -| `Object.ZOrder()` | Z-order of an object | | - ---- - -## Sprite - -Animated object which can be used for most elements of a game [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/objects/sprite) - -| Expresión | Descripción | | -|------------------------------------|-------------------------------------|:-----------------:| -| `Object.Animation()` | Animation of the object | | -| `Object.AnimationName()` | Name of the animation of the object | | -| `Object.AnimationSpeedScale()` | Animation speed scale | | -| `Object.Direction()` | Direction of the object | | -| `Object.Opacity()` | Opacity | | -| `Object.PointX(objectPointName)` | X position of a point | | -| ::: | _objectPointName_ | Name of the point | -| `Object.PointY(objectPointName)` | Y position of a point | | -| ::: | _objectPointName_ | Name of the point | -| `Object.ScaleX()` | Scale of the width of an object | | -| `Object.ScaleY()` | Scale of the height of an object | | -| `Object.Sprite()` | Animation frame of the object | | - ---- - -## Standard Conversions - -Expressions to convert number, texts and quantities. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/common-conversions) - -| Expresión | Descripción | | -|---------------------------------|-------------------------------------------------------------------------------------|:----------------------------------:| -| `LargeNumberToString(number)` | Convert the result of the expression to text, without using the scientific notation | | -| ::: | _number_ | Expression to be converted to text | -| `ToDeg(number)` | Converts the angle, expressed in radians, into degrees | | -| ::: | _number_ | Angle, in radians | -| `ToNumber(string)` | Convert the text to a number | | -| ::: | _string_ | Text to convert to a number | -| `ToRad(number)` | Converts the angle, expressed in degrees, into radians | | -| ::: | _number_ | Angle, in degrees | -| `ToString(number)` | Convert the result of the expression to text | | -| ::: | _number_ | Expression to be converted to text | - ---- - -## Variable features - -Actions, conditions and expressions to handle variables, from simple variables like the player score, the number of remaining lives to complex variables containing arbitrary data like an inventory or the result of a web request. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/variables) - -| Expresión | Descripción | | -|-----------------------------------------|-----------------------------------------|:---------------------------:| -| `GlobalVariable(globalvar)` | Value of a global variable | | -| ::: | _globalvar_ | Name of the global variable | -| `GlobalVariableChildCount(globalvar)` | Number of children of a global variable | | -| ::: | _globalvar_ | Variable | -| `GlobalVariableString(globalvar)` | Text of a global variable | | -| ::: | _globalvar_ | Variable | -| `Variable(scenevar)` | Value of a scene variable | | -| ::: | _scenevar_ | Variable | -| `VariableChildCount(scenevar)` | Number of children of a scene variable | | -| ::: | _scenevar_ | Variable | -| `VariableString(scenevar)` | Text of a scene variable | | -| ::: | _scenevar_ | Variable | - ---- - -## Mouse and touch - -Conditions and actions to handle either the mouse or touches on touchscreen. By default, conditions related to the mouse will also handle the touches - so that it's easier to handle both in your game. You can disable this behavior if you want to handle them separately in different events. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/mouse-touch) - -| Expresión | Descripción | | -|-----------------------------------|----------------------------------------------------|:-----------------------------------------:| -| `LastEndedTouchId()` | Identifier of the last ended touch | | -| `LastTouchId()` | Identifier of the last touch | | -| `MouseWheelDelta()` | Mouse wheel displacement | | -| `MouseX(layer, number)` | Return the X position of the cursor or of a touch. | | -| ::: | _layer_ | Layer (base layer if empty) _Optional_. | -| ::: | _number_ | Camera number (default : 0) _Optional_. | -| `MouseY(layer, number)` | Return the Y position of the cursor or of a touch. | | -| ::: | _layer_ | Layer (base layer if empty) _Optional_. | -| ::: | _number_ | Camera number (default : 0) _Optional_. | -| `TouchX(number, layer, number)` | Return the X position of a specific touch. | | -| ::: | _number_ | Touch identifier | -| ::: | _layer_ | Layer (base layer if empty) _Optional_. | -| ::: | _number_ | Camera number (default : 0) _Optional_. | -| `TouchY(number, layer, number)` | Return the Y position of a specific touch. | | -| ::: | _number_ | Touch identifier | -| ::: | _layer_ | Layer (base layer if empty) _Optional_. | -| ::: | _number_ | Camera number (default : 0) _Optional_. | - ---- - -## Keyboard features - -Allows your game to respond to keyboard input. Note that this does not work with on-screen keyboard on touch devices: use instead conditions related to touch when making a game for mobile/touchscreen devices. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/keyboard) - -| Expresión | Descripción | | -|----------------------|--------------------------------------------------------|:---:| -| `LastPressedKey()` | Get the name of the latest key pressed on the keyboard | | - ---- - -## Scene management features - -Actions and conditions to manipulate the scenes during the game. - -| Expresión | Descripción | | -|--------------------------------------------|---------------------------|:-------------:| -| `CurrentSceneName()` | Name of the current scene | | -| `Random(number)` | Random integer | | -| ::: | _number_ | Maximum value | -| `RandomFloat(number)` | Random float | | -| ::: | _number_ | Maximum value | -| `RandomFloatInRange(number, number)` | Random float in range | | -| ::: | _number_ | Minimum value | -| ::: | _number_ | Maximum value | -| `RandomInRange(number, number)` | Random integer in range | | -| ::: | _number_ | Minimum value | -| ::: | _number_ | Maximum value | -| `RandomWithStep(number, number, number)` | Random value in steps | | -| ::: | _number_ | Minimum value | -| ::: | _number_ | Maximum value | -| ::: | _number_ | Step | - ---- - -## Time - -Actions and conditions to run timers, get the current time or modify the time scale (speed at which the game is running - useful for slow motion effects). [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/timers) - -| Expresión | Descripción | | -|------------------------------|------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| `Time(string)` | Current time | | -| ::: | _string_ | Hour: hour - Minutes: min - Seconds: sec - Day of month: mday - Months since January: mon - Year since 1900: year - Days since Sunday: wday - Days since Jan 1st: yday - Timestamp (ms): timestamp" | -| `TimeDelta()` | Time elapsed since the last frame rendered on screen | | -| `TimeFromStart()` | Time elapsed since the beginning of the scene | | -| `TimerElapsedTime(string)` | Value of a scene timer | | -| ::: | _string_ | Timer's name | - ---- - -## Mathematical tools - -A set of mathematical functions that can be used in expressions. - -| Expresión | Descripción | | -|--------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------:| -| `AngleBetweenPositions(number, number, number, number)` | Compute the angle between two positions. | | -| ::: | _number_ | First point X position | -| ::: | _number_ | First point Y position | -| ::: | _number_ | Second point X position | -| ::: | _number_ | Second point Y position | -| `AngleDifference(number, number)` | Difference between two angles | | -| ::: | _number_ | First angle | -| ::: | _number_ | Second angle | -| `DistanceBetweenPositions(number, number, number, number)` | Compute the distance between two positions. | | -| ::: | _number_ | First point X position | -| ::: | _number_ | First point Y position | -| ::: | _number_ | Second point X position | -| ::: | _number_ | Second point Y position | -| `XFromAngleAndDistance(number, number)` | Compute the X position when given an angle and distance relative to the origin (0;0). This is also known as getting the cartesian coordinates of a 2D vector, using its polar coordinates. | | -| ::: | _number_ | Angle, in degrees | -| ::: | _number_ | Distance | -| `YFromAngleAndDistance(number, number)` | Compute the Y position when given an angle and distance relative to the origin (0;0). This is also known as getting the cartesian coordinates of a 2D vector, using its polar coordinates. | | -| ::: | _number_ | Angle, in degrees | -| ::: | _number_ | Distance | -| `abs(number)` | Absolute value | | -| ::: | _number_ | Expression | -| `acos(number)` | Arccosine | | -| ::: | _number_ | Expression | -| `acosh(number)` | Hyperbolic arccosine | | -| ::: | _number_ | Expression | -| `asin(number)` | Arcsine | | -| ::: | _number_ | Expression | -| `asinh(number)` | Arcsine | | -| ::: | _number_ | Expression | -| `atan(number)` | Arctangent | | -| ::: | _number_ | Expression | -| `atan2(number, number)` | 2 argument arctangent (atan2) | | -| ::: | _number_ | Y | -| ::: | _number_ | X | -| `atanh(number)` | Hyperbolic arctangent | | -| ::: | _number_ | Expression | -| `cbrt(number)` | Cube root | | -| ::: | _number_ | Expression | -| `ceil(number)` | Round number up to an integer | | -| ::: | _number_ | Expression | -| `clamp(number, number, number)` | Restrict a value to a given range | | -| ::: | _number_ | Value | -| ::: | _number_ | Min | -| ::: | _number_ | Max | -| `cos(number)` | Cosine of a number | | -| ::: | _number_ | Expression | -| `cosh(number)` | Hyperbolic cosine | | -| ::: | _number_ | Expression | -| `cot(number)` | Cotangent of a number | | -| ::: | _number_ | Expression | -| `csc(number)` | Cosecant of a number | | -| ::: | _number_ | Expression | -| `exp(number)` | Exponential of a number | | -| ::: | _number_ | Expression | -| `floor(number)` | Round number down to an integer | | -| ::: | _number_ | Expression | -| `lerp(number, number, number)` | Linearly interpolate a to b by x | | -| ::: | _number_ | a (in a+(b-a) * x) | -| ::: | _number_ | b (in a+(b-a) * x) | -| ::: | _number_ | x (in a+(b-a) * x) | -| `log(number)` | Logarithm | | -| ::: | _number_ | Expression | -| `log10(number)` | Base-10 logarithm | | -| ::: | _number_ | Expression | -| `log2(number)` | Base 2 Logarithm | | -| ::: | _number_ | Expression | -| `max(number, number)` | Maximum of two numbers | | -| ::: | _number_ | First expression | -| ::: | _number_ | Second expression | -| `min(number, number)` | Minimum of two numbers | | -| ::: | _number_ | First expression | -| ::: | _number_ | Second expression | -| `mod(number, number)` | x mod y | | -| ::: | _number_ | x (as in x mod y) | -| ::: | _number_ | y (as in x mod y) | -| `normalize(number, number, number)` | Remap a value between 0 and 1. | | -| ::: | _number_ | Value | -| ::: | _number_ | Min | -| ::: | _number_ | Max | -| `nthroot(number, number)` | Nth root of a number | | -| ::: | _number_ | Number | -| ::: | _number_ | N | -| `pow(number, number)` | Raise a number to power n | | -| ::: | _number_ | Number | -| ::: | _number_ | The exponent (n in "x to the power n") | -| `round(number)` | Round a number | | -| ::: | _number_ | Expression | -| `sec(number)` | Secant | | -| ::: | _number_ | Expression | -| `sign(number)` | Return the sign of a number (1,-1 or 0) | | -| ::: | _number_ | Expression | -| `sin(number)` | Sine of a number | | -| ::: | _number_ | Expression | -| `sinh(number)` | Hyperbolic sine | | -| ::: | _number_ | Expression | -| `sqrt(number)` | Square root of a number | | -| ::: | _number_ | Expression | -| `tan(number)` | Tangent of a number | | -| ::: | _number_ | Expression | -| `tanh(number)` | Hyperbolic tangent | | -| ::: | _number_ | Expression | -| `trunc(number)` | Truncate a number | | -| ::: | _number_ | Expression | - ---- - -## Cameras and layers features - -Each scene can be composed of multiple layers. These conditions and actions allow to manipulate them during the game. In particular, you can move the camera of a layer to center it on an object or a position. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/interface/scene-editor/layers-and-cameras) - -| Expresión | Descripción | | -|---------------------------------|--------------------------------------------------|:-----------------------------------------:| -| `CameraAngle(layer, number)` | Return the angle of rotation of a camera. | | -| ::: | _layer_ | Layer (base layer if empty) _Optional_. | -| ::: | _number_ | Camera number (default : 0) _Optional_. | -| `CameraHeight(layer, number)` | Return the height of a camera of a layer. | | -| ::: | _layer_ | Layer (base layer if empty) | -| ::: | _number_ | Camera number | -| `CameraWidth(layer, number)` | Return the width of a camera of a layer. | | -| ::: | _layer_ | Layer (base layer if empty) | -| ::: | _number_ | Camera number | -| `CameraX(layer, number)` | Return the X position of the center of a camera. | | -| ::: | _layer_ | Layer (base layer if empty) _Optional_. | -| ::: | _number_ | Camera number (default : 0) _Optional_. | -| `CameraY(layer, number)` | Return the Y position of the center of a camera. | | -| ::: | _layer_ | Layer (base layer if empty) _Optional_. | -| ::: | _number_ | Camera number (default : 0) _Optional_. | -| `CameraZoom(layer, number)` | Zoom of a camera of a layer | | -| ::: | _layer_ | Layer _Optional_. | -| ::: | _number_ | Camera number (default : 0) _Optional_. | -| `LayerDefaultZOrder(layer)` | Default Z Order for a layer | | -| ::: | _layer_ | Layer | -| `LayerTimeScale(layer)` | Time scale | | -| ::: | _layer_ | Layer | - ---- - -## Audio - -GDevelop provides several conditions and actions to play audio files. They can be either long musics or short sound effects. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/audio) - -| Expresión | Descripción | | -|---------------------------------------|----------------------|:-------:| -| `GlobalVolume()` | Global volume value | | -| `MusicChannelPitch(number)` | Music's pitch | | -| ::: | _number_ | Channel | -| `MusicChannelPlayingOffset(number)` | Music playing offset | | -| ::: | _number_ | Channel | -| `MusicChannelVolume(number)` | Music volume | | -| ::: | _number_ | Channel | -| `SoundChannelPitch(number)` | Sound's pitch | | -| ::: | _number_ | Channel | -| `SoundChannelPlayingOffset(number)` | Sound playing offset | | -| ::: | _number_ | Channel | -| `SoundChannelVolume(number)` | Sound volume | | -| ::: | _number_ | Channel | - ---- - -## Basic internet features - -Features to send web requests, communicate with external "APIs" and other network related tasks. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/network) - -| Expresión | Descripción | | -|----------------------------------------|------------------------------------|:-------------------------------------:| -| `GlobalVarToJSON(globalvar)` | Convert a global variable to JSON | | -| ::: | _globalvar_ | The global variable to be stringified | -| `ObjectVarToJSON(object, objectvar)` | Convert an object variable to JSON | | -| ::: | _object_ | The object with the variable | -| ::: | _objectvar_ | The object variable to be stringified | -| `ToJSON(scenevar)` | Convert a scene variable to JSON | | -| ::: | _scenevar_ | Scene variable to be stringified | - ---- - -## Window features - -Provides actions and conditions to manipulate the game window. Depending on the platform on which the game is running, not all of these features can be applied. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/window) - -| Expresión | Descripción | | -|-------------------------|---------------------------------------------------------------|:---:| -| `SceneWindowHeight()` | Height of the scene window (or scene canvas for HTML5 games) | | -| `SceneWindowWidth()` | Width of the scene window (or scene canvas for HTML5 games) | | -| `ScreenHeight()` | Height of the screen (or the page for HTML5 games in browser) | | -| `ScreenWidth()` | Width of the screen (or the page for HTML5 games in browser) | | -| `WindowTitle()` | Window's title | | - ---- - -## Text manipulation - -Provides expressions to manipulate strings (also called texts). - -| Expresión | Descripción | | -|---------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------:| -| `FromCodePoint(number)` | Get character from code point | | -| ::: | _number_ | Code point | -| `NewLine()` | Insert a new line | | -| `StrAt(string, number)` | Get a character from a text | | -| ::: | _string_ | Text | -| ::: | _number_ | Position of the character (the first letter is at position 0) | -| `StrFind(string, string)` | Search in a text (return the position of the result or -1 if not found) | | -| ::: | _string_ | Text | -| ::: | _string_ | Text to search for | -| `StrFindFrom(string, string, number)` | Search in a text, starting from a position (return the position of the result or -1 if not found) | | -| ::: | _string_ | Text | -| ::: | _string_ | Text to search for | -| ::: | _number_ | Position of the first character in the string to be considered in the search | -| `StrFindLast(string, string)` | Search the last occurence in a string (return the position of the result, from the beginning of the string, or -1 if not found) | | -| ::: | _string_ | Text | -| ::: | _string_ | Text to search for | -| `StrFindLastFrom(string, string, number)` | Search in a text the last occurence, starting from a position (return the position of the result, from the beginning of the string, or -1 if not found) | | -| ::: | _string_ | Text | -| ::: | _string_ | Text to search for | -| ::: | _number_ | Position of the last character in the string to be considered in the search | -| `StrLength(string)` | Length of a text | | -| ::: | _string_ | Text | -| `StrRepeat(string, number)` | Repeat a text | | -| ::: | _string_ | Text to repeat | -| ::: | _number_ | Repetition count | -| `SubStr(string, number, number)` | Get a portion of a text | | -| ::: | _string_ | Text | -| ::: | _number_ | Start position of the portion (the first letter is at position 0) | -| ::: | _number_ | Length of the portion | -| `ToLowerCase(string)` | Lowercase a text | | -| ::: | _string_ | Text | -| `ToUpperCase(string)` | Uppercase a text | | -| ::: | _string_ | Text | - ---- - -## Advanced control features - -Advanced control features to be used in events. - -| Expresión | Descripción | | -|---------------------------------|-------------------------------------------------------|:--------------:| -| `GetArgumentAsNumber(string)` | Get function parameter (also called "argument") value | | -| ::: | _string_ | Parameter name | -| `GetArgumentAsString(string)` | Get function parameter (also called "argument") text | | -| ::: | _string_ | Parameter name | - ---- - -## Platform (from extension Platform Behavior) - -Platform that Platformer characters can run on. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/behaviors/platformer) - -_No expressions for this behavior._ - -## Platformer character (from extension Platform Behavior) - -Controllable character that can jump and run on platforms. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/behaviors/platformer) - -| Expresión | Descripción | | -|----------------------------------------------------|---------------------------------------------------------------------------------------------------|:---:| -| `Object.PlatformerObject::Acceleration()` | Acceleration | | -| `Object.PlatformerObject::CurrentFallSpeed()` | Current fall speed | | -| `Object.PlatformerObject::CurrentJumpSpeed()` | Current jump speed | | -| `Object.PlatformerObject::CurrentSpeed()` | Current speed | | -| `Object.PlatformerObject::Deceleration()` | Deceleration | | -| `Object.PlatformerObject::Gravity()` | Get the gravity applied on the object | | -| `Object.PlatformerObject::JumpSpeed()` | Jump speed | | -| `Object.PlatformerObject::JumpSustainTime()` | The time during which keeping the jump button held allow the initial jump speed to be maintained. | | -| `Object.PlatformerObject::LadderClimbingSpeed()` | Get the ladder climbing speed | | -| `Object.PlatformerObject::MaxFallingSpeed()` | Get the maximum falling speed | | -| `Object.PlatformerObject::MaxSpeed()` | Maximum speed | | - ---- - -## Destroy when outside of the screen (from extension Destroy Outside Screen Behavior) - -Automatically destroy the object when it goes outside of the screen's borders. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/behaviors/destroyoutside) - -_No expressions for this behavior._ - ---- - -## Tiled Sprite (from extension Tiled Sprite Object) - -Displays an image repeated over an area. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/objects/tiled_sprite) - -| Expresión | Descripción | | -|----------------------|-------------|:---:| -| `Object.Opacity()` | Opacity | | - ---- - -## Draggable object (from extension Draggable Behavior) - -Allows objects to be moved using the mouse (or touch). [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/behaviors/draggable) - -_No expressions for this behavior._ - ---- - -## Top-down movement (4 or 8 directions) (from extension Top-down movement) - -Objects with this behavior can be moved left, up, right, and down (and, optionally, diagonally). [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/behaviors/topdown) - -| Expresión | Descripción | | -|---------------------------------------------------|---------------------------------------|:---:| -| `Object.TopDownMovement::Acceleration()` | Acceleration of the object | | -| `Object.TopDownMovement::Angle()` | Angle, in degrees, of the movement | | -| `Object.TopDownMovement::AngleOffset()` | Rotation offset applied to the object | | -| `Object.TopDownMovement::AngularMaxSpeed()` | Angular maximum speed of the object | | -| `Object.TopDownMovement::Deceleration()` | Deceleration of the object | | -| `Object.TopDownMovement::MaxSpeed()` | Maximum speed of the object | | -| `Object.TopDownMovement::MovementAngleOffset()` | Return the movement angle offset. | | -| `Object.TopDownMovement::Speed()` | Speed of the object | | -| `Object.TopDownMovement::XVelocity()` | Speed on the X axis of the movement | | -| `Object.TopDownMovement::YVelocity()` | Speed on the Y axis of the movement | | - ---- - -## Text (from extension Text object) - -Displays a text on the screen. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/objects/text) - -| Expresión | Descripción | | -|----------------------|--------------------------|:---:| -| `Object.Angle()` | Angle | | -| `Object.Opacity()` | Opacity of a Text object | | -| `Object.Padding()` | Padding | | -| `Object.ScaleX()` | X Scale of a Text object | | -| `Object.ScaleY()` | Y Scale of a Text object | | -| `Object.String()` | Text | | - ---- - -## Particles emitter (from extension Particle system) - -Displays a large number of small particles to create visual effects. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/objects/particles_emitter) - -| Expresión | Descripción | | -|------------------------------------|------------------------------------------|:---:| -| `Object.EmitterAngle()` | Emission angle | | -| `Object.EmitterAngleA()` | Emission angle A | | -| `Object.EmitterAngleB()` | Emission angle B | | -| `Object.EmitterForceMax()` | Emission maximal force | | -| `Object.EmitterForceMin()` | Emission minimal force | | -| `Object.Flow()` | Flow | | -| `Object.NbParticles()` | Particles number | | -| `Object.ParticleAlpha1()` | Parameter 1 of transparency | | -| `Object.ParticleAlpha2()` | Parameter 2 of transparency | | -| `Object.ParticleBlue1()` | Parameter 1 of blue color | | -| `Object.ParticleBlue2()` | Parameter 2 of blue color | | -| `Object.ParticleGravityAngle()` | Gravity angle | | -| `Object.ParticleGravityLength()` | Gravity value | | -| `Object.ParticleGravityX()` | X Gravity of particles | | -| `Object.ParticleGravityY()` | Y Gravity of particles | | -| `Object.ParticleGreen1()` | Parameter 1 of green color | | -| `Object.ParticleGreen2()` | Parameter 2 of green color | | -| `Object.ParticleLifeTimeMax()` | Maximum lifetime of particles | | -| `Object.ParticleLifeTimeMin()` | Minimum lifetime of particles | | -| `Object.ParticleRed1()` | Parameter 1 of red color | | -| `Object.ParticleRed2()` | Parameter 2 of red color | | -| `Object.ParticleSize1()` | Parameter 1 of size | | -| `Object.ParticleSize2()` | Parameter 2 of size | | -| `Object.RendererParam1()` | Rendering first parameter | | -| `Object.RendererParam2()` | Rendering second parameter | | -| `Object.Tank()` | Capacity | | -| `Object.Texture()` | Name of the image displayed by particles | | -| `Object.ZoneRadius()` | Radius of the emission zone | | - ---- - -## Panel Sprite ("9-patch") (from extension Panel Sprite (9-patch) Object) - -An image with edges and corners that are stretched separately from the full image. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/objects/panel_sprite) - -| Expresión | Descripción | | -|----------------------|-------------|:---:| -| `Object.Opacity()` | Opacity | | - ---- - -## Anchor - -Behavior that anchors objects to the window's bounds. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/behaviors/anchor) - -_No expressions for this behavior._ - ---- - -## Shape painter - -Allows you to draw simple shapes on the screen [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/objects/shape_painter) - -| Expresión | Descripción | | -|--------------------------------|-------------------------------|:---:| -| `Object.FillColorBlue()` | Filing color blue component | | -| `Object.FillColorGreen()` | Filing color green component | | -| `Object.FillColorRed()` | Filing color red component | | -| `Object.FillOpacity()` | Filling opacity | | -| `Object.OutlineColorBlue()` | Outline color blue component | | -| `Object.OutlineColorGreen()` | Outline color green component | | -| `Object.OutlineColorRed()` | Outline color red component | | -| `Object.OutlineOpacity()` | Outline opacity | | -| `Object.OutlineSize()` | Outline size | | - ---- - -## Text entry (from extension Text entry object) - -Invisible object used to get the text entered with the keyboard. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/objects/text_entry) - -| Expresión | Descripción | | -|---------------------|----------------------------|:---:| -| `Object.String()` | Text entered with keyboard | | - ---- - -## Inventory - -Provides actions and conditions to add an inventory to your game, with items in memory. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/inventory) - -| Expresión | Descripción | | -|--------------------------------------|--------------------------------------------|:--------------:| -| `Inventory::Count(string, string)` | Get the number of an item in the inventory | | -| ::: | _string_ | Inventory name | -| ::: | _string_ | Item name | - ---- - -## Pathfinding (from extension Pathfinding behavior) - -With this behavior, the object will move while avoiding all objects that are flagged as obstacles. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/behaviors/pathfinding) - -| Expresión | Descripción | | -|-------------------------------------------|-------------------------------------------------|:------------------------:| -| `Object.Pathfinding::Acceleration()` | Acceleration of the object on the path | | -| `Object.Pathfinding::AngleOffset()` | Rotation offset applied the object on the path | | -| `Object.Pathfinding::AngularMaxSpeed()` | Angular maximum speed of the object on the path | | -| `Object.Pathfinding::CellHeight()` | Height of the virtual grid | | -| `Object.Pathfinding::CellWidth()` | Width of the virtual grid | | -| `Object.Pathfinding::DestinationX()` | Destination X position | | -| `Object.Pathfinding::DestinationY()` | Destination Y position | | -| `Object.Pathfinding::ExtraBorder()` | Extra border applied the object on the path | | -| `Object.Pathfinding::GetNodeX(number)` | Get next waypoint X position | | -| ::: | _number_ | Node index (start at 0!) | -| `Object.Pathfinding::GetNodeY(number)` | Get next waypoint Y position | | -| ::: | _number_ | Node index (start at 0!) | -| `Object.Pathfinding::GridOffsetX()` | Return X offset of the virtual grid. | | -| `Object.Pathfinding::GridOffsetY()` | Return Y offset of the virtual grid. | | -| `Object.Pathfinding::LastNodeX()` | Last waypoint X position | | -| `Object.Pathfinding::LastNodeY()` | Last waypoint Y position | | -| `Object.Pathfinding::MaxSpeed()` | Maximum speed of the object on the path | | -| `Object.Pathfinding::MovementAngle()` | Angle of movement on its path | | -| `Object.Pathfinding::NextNodeIndex()` | Get the index of the next waypoint to reach | | -| `Object.Pathfinding::NextNodeX()` | Get next waypoint X position | | -| `Object.Pathfinding::NextNodeY()` | Get next waypoint Y position | | -| `Object.Pathfinding::NodeCount()` | Get the number of waypoints on the path | | -| `Object.Pathfinding::Speed()` | Speed of the object on the path | | - -## Obstacle for pathfinding (from extension Pathfinding behavior) - -Flag the object as being an obstacle for pathfinding. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/behaviors/pathfinding) - -| Expresión | Descripción | | -|----------------------------------------|---------------|:---:| -| `Object.PathfindingObstacle::Cost()` | Obstacle cost | | - ---- - -## Physics Engine (from extension Physics Engine (deprecated)) - -Make objects move as if they are subject to the laws of physics. If you're creating a new game, prefer Physics Engine 2.0 [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/behaviors/physics) - -| Expresión | Descripción | | -|---------------------------------------|---------------------------|:---:| -| `Object.Physics::AngularDamping()` | Angular damping | | -| `Object.Physics::AngularVelocity()` | Angular speed | | -| `Object.Physics::LinearDamping()` | Linear damping | | -| `Object.Physics::LinearVelocity()` | Linear speed | | -| `Object.Physics::LinearVelocityX()` | X component | | -| `Object.Physics::LinearVelocityY()` | Y component | | -| `Object.Physics::PolygonScaleX()` | Collision polygon X scale | | -| `Object.Physics::PolygonScaleY()` | Collision polygon Y scale | | - ---- - -## Advanced window management - -Provides advanced features related to the game window positioning and interaction with the operating system. - -| Expresión | Descripción | | -|-------------------------------------|----------------------------------------------------------------------------------|:---:| -| `AdvancedWindow::WindowOpacity()` | Returns the current window opacity (a number from 0 to 1, 1 being fully opaque). | | -| `AdvancedWindow::WindowX()` | Returns the current window X position. | | -| `AdvancedWindow::WindowY()` | Returns the current window Y position. | | - ---- - -## BBText (from extension BBCode Text Object) - -Displays a rich text label using BBCode markup (allowing to set parts of the text as bold, italic, use different colors and shadows). [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/objects/bbtext) - -| Expresión | Descripción | | -|-------------------------------|--------------------------|:---:| -| `Object.GetBBText()` | Get BBCode text | | -| `Object.GetFontFamily()` | Get the base font family | | -| `Object.GetFontSize()` | Get the base font size | | -| `Object.GetOpacity()` | Get the base opacity | | -| `Object.GetWrappingWidth()` | Get the wrapping width | | - ---- - -## Bitmap Text - -Displays a text using a "Bitmap Font" (an image representing characters). This is more performant than a traditional Text object and it allows for complete control on the characters aesthetic. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/objects/bitmap_text) - -| Expresión | Descripción | | -|----------------------------|----------------------------------------------------------------------------|:---:| -| `Object.Alignment()` | Return the text alignment. | | -| `Object.FontName()` | Return the font name (defined in the Bitmap font). | | -| `Object.FontSize()` | Return the font size, defined in the Bitmap Font. | | -| `Object.Opacity()` | Return the opacity, between 0 (fully transparent) and 255 (opaque). | | -| `Object.Scale()` | Return the scale (1 by default). | | -| `Object.Text()` | Return the text. | | -| `Object.WrappingWidth()` | Return the width, in pixels, after which the text is wrapped on next line. | | - ---- - -## Device sensors - -Allow the game to access the sensors of a mobile device. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/device-sensors) - -| Expresión | Descripción | | -|------------------------------------------|-------------------------------------------------------------|:---:| -| `DeviceSensors::AccelerationX()` | Get the devices acceleration on the X-axis (m/s²) | | -| `DeviceSensors::AccelerationY()` | Get the devices acceleration on the Y-axis (m/s²) | | -| `DeviceSensors::AccelerationZ()` | Get the devices acceleration on the Z-axis (m/s²) | | -| `DeviceSensors::OrientationAbsolute()` | Get if the devices orientation is absolute and not relative | | -| `DeviceSensors::OrientationAlpha()` | Get the devices orientation Alpha (compass) | | -| `DeviceSensors::OrientationBeta()` | Get the devices orientation Beta | | -| `DeviceSensors::OrientationGamma()` | Get the devices orientation Gamma value | | -| `DeviceSensors::RotationAlpha()` | Get the devices rotation Alpha | | -| `DeviceSensors::RotationBeta()` | Get the devices rotation Beta | | -| `DeviceSensors::RotationGamma()` | Get the devices rotation Gamma | | - ---- - -## Dialogue Tree (Experimental) - -Handle dialogue trees, made using Yarn Spinner. Useful to make complex dialogues with multiple choices. The Yarn Spinner editor is embedded in GDevelop so you can edit your dialogues without leaving GDevelop. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/dialogue-tree) - -| Expresión | Descripción | | -|-------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------:| -| `DialogueTree::BranchTag(number)` | Get a tag of the current branch of the running dialogue via its index | | -| ::: | _number_ | Tag Index Number | -| `DialogueTree::BranchTags()` | Get the tags of the current branch of the running dialogue | | -| `DialogueTree::BranchText()` | Get the full raw text of the current branch | | -| `DialogueTree::BranchTitle()` | Get the title of the current branch of the running dialogue | | -| `DialogueTree::ClippedLineText()` | Get dialogue line text clipped by the typewriter effect. Use the "Scroll clipped text" action to control the typewriter effect. | | -| `DialogueTree::CommandParameter(number)` | Get the parameters of a command call - \<\\> | | -| ::: | _number_ | parameter Index Number _Optional_. | -| `DialogueTree::CommandParametersCount()` | Get the number of parameters in the currently passed command | | -| `DialogueTree::HorizontalOptionsList(string)` | Get the text of all available options from an Options line type as a horizontal list. You can also pass the selected option's cursor string, which by default is -\> | | -| ::: | _string_ | Options Selection Cursor | -| `DialogueTree::LineText()` | Returns the current dialogue line text | | -| `DialogueTree::Option(number)` | Get the text of an option from an Options line type, using the option's Number. The numbers start from 0. | | -| ::: | _number_ | Option Index Number | -| `DialogueTree::OptionsCount()` | Get the number of options in an options line type | | -| `DialogueTree::SelectedOptionIndex()` | Get the number of the currently selected option. Use this to help you render the option selection marker at the right place. | | -| `DialogueTree::TagParameter(number)` | Get parameter from a Tag found by the branch contains tag condition | | -| ::: | _number_ | parameter Index Number _Optional_. | -| `DialogueTree::Variable(string)` | Get dialogue state value | | -| ::: | _string_ | Variable Name | -| `DialogueTree::VerticalOptionsList(string)` | Get the text of all available options from an Options line type as a vertical list. You can also pass the selected option's cursor string, which by default is -\> | | -| ::: | _string_ | Options Selection Cursor | -| `DialogueTree::VisitedBranchTitles()` | Get a list of all visited branches | | - ---- - -## Facebook Instant Games - -Allow your game to send scores and interact with the Facebook Instant Games platform. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/publishing/publishing-to-facebook-instant-games) - -| Expresión | Descripción | | -|----------------------------------------|----------------------------------|:---:| -| `FacebookInstantGames::PlayerId()` | Get the player unique identifier | | -| `FacebookInstantGames::PlayerName()` | Get the player name | | - ---- - -## Filesystem - -Access the filesystem of the operating system. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/filesystem) - -| Expresión | Descripción | | -|------------------------------------------|----------------------------------------------------------------------------------------------------------------------|:-------------------:| -| `()` | Get the path to the desktop folder. | | -| `FileSystem::DirectoryName(string)` | Returns the portion of the path that represents the directories, without the ending file name. | | -| ::: | _string_ | File or folder path | -| `()` | Get the path to the documents folder. | | -| `()` | Get the path to this game executable folder. | | -| `()` | Get the path to this game executable file. | | -| `FileSystem::ExtensionName(string)` | Returns the extension of the file designated by the given path, including the extension period. For example: ".txt". | | -| ::: | _string_ | File path | -| `FileSystem::FileName(string)` | Returns the name of the file with its extension, if any. | | -| ::: | _string_ | File path | -| `()` | Get the operating system path delimiter. | | -| `()` | Get the path to the pictures folder. | | -| `()` | Get the path to temp folder. | | -| `()` | Get the path to the user home folder. | | -| `()` | Get the path to userdata folder (for application settings). | | - ---- - -## Firebase - -Use Google Firebase services (database, functions, storage...) in your game. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/firebase) - -| Expresión | Descripción | | -|---------------------------------------------|-------------------------------------------------------------------------------------------------|:------------:| -| `Firebase::GetAccountCreationTime()` | Gets the accounts creation time. | | -| `Firebase::GetAuthToken(string)` | Get the user authentififcation token. The token is the proof of authentication. | | -| ::: | _string_ | Setting Name | -| `Firebase::GetLastLoginTime()` | Gets the user last login time. | | -| `Firebase::GetPhoneNumber()` | Gets the user phone number. | | -| `Firebase::GetPhotoURL()` | Gets an URL to the user profile picture. | | -| `Firebase::GetRefreshToken()` | Gets the user refresh token. For advanced usage only. | | -| `Firebase::GetRemoteConfigNumber(string)` | Get a setting from Firebase Remote Config as Number. | | -| ::: | _string_ | Setting Name | -| `Firebase::GetRemoteConfigString(string)` | Get a setting from Firebase Remote Config as a string. | | -| ::: | _string_ | Setting Name | -| `Firebase::GetTenantID()` | Gets the user tenant ID. For advanced usage only. | | -| `Firebase::GetUserDisplayName()` | Gets the user display name. | | -| `Firebase::GetUserEmail()` | Gets the user email address. | | -| `Firebase::GetUserUID()` | Gets the user Unique IDentifier. Use that to link data to an user instead of the name or email. | | -| `Firebase::ServerTimestamp()` | Set a field to the timstamp on the server when the request arrives there | | - ---- - -## Light (from extension Lights) - -Displays a light on the scene, with a customizable radius and color. Add then the Light Obstacle behavior to the objects that must act as obstacle to the lights. - -_No expressions for this object._ - -## Light Obstacle Behavior (from extension Lights) - -This behavior makes the object an obstacle to the light. The light emitted by light objects will be stopped by the object. - -_No expressions for this behavior._ - ---- - -## Peer-to-Peer communication (experimental) - -Allow game instances to communicate remotely using messages sent via WebRTC (P2P). [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/p2p) - -| Expresión | Descripción | | -|------------------------------------|-----------------------------------------------------------------------|:----------:| -| `P2P::GetEventData(string)` | Returns the data received when the specified event was last triggered | | -| ::: | _string_ | Event name | -| `P2P::GetEventSender(string)` | Returns the id of the peer that triggered the event | | -| ::: | _string_ | Event name | -| `P2P::GetID()` | Gets the client ID of the current game instance | | -| `P2P::GetLastConnectedPeer()` | Gets the ID of the newly connected peer. | | -| `P2P::GetLastDisconnectedPeer()` | Gets the ID of the latest peer that has disconnected. | | -| `P2P::GetLastError()` | Gets the description of the last P2P error | | - ---- - -## Physics Engine 2.0 - -Simulate realistic object physics, with gravity, forces, joints, etc. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/behaviors/physics2) - -| Expresión | Descripción | | -|-------------------------------------------------------------|-------------------------------------------------|:--------:| -| `Object.Physics2::AngularDamping()` | Get the angular damping of an object. | | -| `Object.Physics2::AngularVelocity()` | Get the angular velocity of an object. | | -| `Object.Physics2::Density()` | Get the density of an object. | | -| `Object.Physics2::DistanceJointDampingRatio(number)` | Distance joint damping ratio | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::DistanceJointFrequency(number)` | Distance joint frequency | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::DistanceJointLength(number)` | Distance joint length | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::Friction()` | Get the friction of an object. | | -| `Object.Physics2::FrictionJointMaxForce(number)` | Friction joint maximum force | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::FrictionJointMaxTorque(number)` | Friction joint maximum torque | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::GearJointFirstJoint(number)` | Gear joint first joint | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::GearJointRatio(number)` | Gear joint ratio | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::GearJointSecondJoint(number)` | Gear joint second joint | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::GravityScale()` | Get the gravity scale of an object. | | -| `Object.Physics2::GravityX()` | World gravity on X axis | | -| `Object.Physics2::GravityY()` | World gravity on Y axis | | -| `Object.Physics2::JointFirstAnchorX(number)` | Joint first anchor X | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::JointFirstAnchorY(number)` | Joint first anchor Y | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::JointReactionForce(number)` | Joint reaction force | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::JointReactionTorque(number)` | Joint reaction torque | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::JointSecondAnchorX(number)` | Joint second anchor X | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::JointSecondAnchorY(number)` | Joint second anchor Y | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::LinearDamping()` | Get the linear damping of an object. | | -| `Object.Physics2::LinearVelocity()` | Get the linear velocity of an object. | | -| `Object.Physics2::LinearVelocityX()` | Get the linear velocity of an object on X axis. | | -| `Object.Physics2::LinearVelocityY()` | Get the linear velocity of an object on Y axis. | | -| `Object.Physics2::MassCenterX()` | Mass center X | | -| `Object.Physics2::MassCenterY()` | Mass center Y | | -| `Object.Physics2::MotorJointAngularOffset(number)` | Motor joint angular offset | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::MotorJointCorrectionFactor(number)` | Motor joint correction factor | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::MotorJointMaxForce(number)` | Motor joint maximum force | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::MotorJointMaxTorque(number)` | Motor joint maximum torque | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::MotorJointOffsetX(number)` | Motor joint offset X | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::MotorJointOffsetY(number)` | Motor joint offset Y | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::MouseJointDampingRatio(number)` | Mouse joint damping ratio | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::MouseJointFrequency(number)` | Mouse joint frequency | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::MouseJointMaxForce(number)` | Mouse joint maximum force | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::MouseJointTargetX(number)` | Mouse joint target X | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::MouseJointTargetY(number)` | Mouse joint target Y | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PrismaticJointAxisAngle(number)` | Prismatic joint axis angle | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PrismaticJointMaxMotorForce(number)` | Prismatic joint maximum motor force | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PrismaticJointMaxTranslation(number)` | Prismatic joint maximum translation | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PrismaticJointMinTranslation(number)` | Prismatic joint minimum translation | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PrismaticJointMotorForce(number)` | Prismatic joint motor force | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PrismaticJointMotorSpeed(number)` | Prismatic joint motor speed | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PrismaticJointReferenceAngle(number)` | Prismatic joint reference angle | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PrismaticJointSpeed(number)` | Prismatic joint speed | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PrismaticJointTranslation(number)` | Prismatic joint current translation | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PulleyJointFirstGroundAnchorX(number)` | Pulley joint first ground anchor X | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PulleyJointFirstGroundAnchorY(number)` | Pulley joint first ground anchor Y | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PulleyJointFirstLength(number)` | Pulley joint first length | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PulleyJointRatio(number)` | Pulley joint ratio | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PulleyJointSecondGroundAnchorX(number)` | Pulley joint second ground anchor X | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PulleyJointSecondGroundAnchorY(number)` | Pulley joint second ground anchor Y | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::PulleyJointSecondLength(number)` | Pulley joint second length | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::Restitution()` | Get the restitution of an object. | | -| `Object.Physics2::RevoluteJointAngle(number)` | Revolute joint current angle | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::RevoluteJointMaxAngle(number)` | Revolute joint maximum angle | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::RevoluteJointMaxMotorTorque(number)` | Revolute joint maximum motor torque | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::RevoluteJointMinAngle(number)` | Revolute joint minimum angle | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::RevoluteJointMotorSpeed(number)` | Revolute joint motor speed | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::RevoluteJointMotorTorque(number)` | Revolute joint motor torque | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::RevoluteJointReferenceAngle(number)` | Revolute joint reference angle | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::RevoluteJointSpeed(number)` | Revolute joint angular speed | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::RopeJointMaxLength(number)` | Rope joint maximum length | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::TimeScale()` | World time scale | | -| `Object.Physics2::WeldJointDampingRatio(number)` | Weld joint damping ratio | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::WeldJointFrequency(number)` | Weld joint frequency | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::WeldJointReferenceAngle(number)` | Weld joint reference angle | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::WheelJointAxisAngle(number)` | Wheel joint axis angle | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::WheelJointDampingRatio(number)` | Wheel joint damping ratio | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::WheelJointFrequency(number)` | Wheel joint frequency | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::WheelJointMaxMotorTorque(number)` | Wheel joint maximum motor torque | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::WheelJointMotorSpeed(number)` | Wheel joint motor speed | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::WheelJointMotorTorque(number)` | Wheel joint motor torque | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::WheelJointSpeed(number)` | Wheel joint speed | | -| ::: | _number_ | Joint ID | -| `Object.Physics2::WheelJointTranslation(number)` | Wheel joint current translation | | -| ::: | _number_ | Joint ID | - ---- - -## Tilemap - -Displays a tiled-based map, made with the Tiled editor (download it separately on ). [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/objects/tilemap) - -| Expresión | Descripción | | -|----------------------------------|------------------------------------------------|:---:| -| `Object.AnimationFps()` | Get the animation speed (in frames per second) | | -| `Object.AnimationSpeedScale()` | Get the Animation speed scale | | -| `Object.LayerIndex()` | Get the layer index being displayed | | - ---- - -## Tween (from extension Tweening) - -Smoothly animate position, angle, scale and other properties of the object. [Read more explanations about it.](http://wiki.compilgames.net/doku.php/gdevelop5/behaviors/tween) - -| Expresión | Descripción | | -|------------------------------------|-------------------------------------------|:----------------:| -| `Object.Tween::Progress(string)` | Progress of a tween (between 0.0 and 1.0) | | -| ::: | _string_ | Tween Identifier | - ---- - -## Vídeo - -Muestra un vídeo. [Lea más sobre ello.](http://wiki.compilgames.net/doku.php/gdevelop5/objects/video) - -| Expresión | Descripción | | -|----------------------------|---------------------------------------------------------------------------------|:---:| -| `Object.CurrentTime()` | Devuelve el tiempo del objeto o cuadro de vídeo actual (en segundos). | | -| `Object.Duration()` | Devuelve la duración de un objeto de vídeo (en segundos). | | -| `Object.Opacity()` | Devuelve la opacidad de un objeto de vídeo | | -| `Object.PlaybackSpeed()` | Devuelve la velocidad de reproducción de un objeto de vídeo | | -| `Object.Volume()` | Devuelve el volumen de un objeto de vídeo, entre 0 (silenciado) y 100 (máximo). | | diff --git a/docs/es/gdevelop5/all-features/expressions.md b/docs/es/gdevelop5/all-features/expressions.md deleted file mode 100644 index 10bd3e0041a..00000000000 --- a/docs/es/gdevelop5/all-features/expressions.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Expresiones ---- -# Expresiones - -GDevelop soporta expresiones! Las expresiones son valores dinámicos que pueden usarse en parámetros de evento. Por ejemplo, para establecer una posición del objeto, puede usar un número fijo como `` 75`` o puede usar una expresión como `` AnotherObject.X () - Variable (position_offset) ``. - -Hay dos tipos de expresiones: - -1. // **Numerics **// - -Los números pueden usarse en parámetros de eventos. Reciben un valor numérico como la posición del objeto, orden z, número de variable, etc. - -1. // **Cuerdas **// - -Las cadenas se pueden utilizar en parámetros que reciben un valor de texto / cadena. Puede usar esta expresión para leer el contenido de una cadena de objeto de texto, su color, el texto de otra variable, etc. - -## expresiones numéricas Como se indicó anteriormente, las expresiones numéricas se pueden usar en parámetros numéricos. - -### valores aleatorios - -`` Random (max) `` - Devuelve un número entero entre `0` y el valor` max` que está definido. El "rango" es \[0, max\]. - -// Ejemplos usando la expresión aleatoria (): // \ Aleatorio (3) // Los 3 valores enteros posibles son 0, 1, 2 y 3 Aleatorio (-1, 2) // Los 4 valores posibles son -1, 0, 1 y 2 // RandomInRange (min, max) se puede reemplazar por min + Random (max - min) Aleatorio (2 - -1) \ - -`` RandomFloat (max) `` - Devuelve un flotante entre `0` y` max`. El rango es `` \[0, max) ``. Tenga en cuenta que `` max`` no está incluido en el rango. Es importante tener en cuenta que los posibles resultados son infinitos. Esto se debe a que hay infinitos números reales entre dos valores diferentes. - -// Ejemplos usando la expresión RandomFloat (max): // \ RandomFloat (2.5) // ALGUNOS de los muchos valores posibles son 0, 1.467798, 2.000587 y 2.499999 \ - -`` RandomFloatInRange (min, max) `` - Devuelve un flotante entre `min` y` max`. El rango es `` \[min, max) ``. Tenga en cuenta que `` max`` no está incluido en el rango. También es importante tener en cuenta que los posibles resultados son infinitos, ya que hay números reales infinitos entre dos valores diferentes. - -// Ejemplos usando la expresión RandomFloatInRange (): // \ RandomFloatInRange (-1.5, 2) // ALGUNOS de los muchos valores posibles son -1.5, -0.598156, 1.000874 y 1.99999 \ - -`` RandomWithStep (min, max, step) `` - Devuelve un número entre `min` y` max` en pasos. El rango es `` \[min, min + N * step\] `` con `` min + N * step ≤ max \ RandomWithStep (1, 3, 0.6) // Los números generados son `` 1``, ​​`` 1.6``, `` 2.2`` y `` 2.8`` \ diff --git a/docs/es/gdevelop5/all-features/index.md b/docs/es/gdevelop5/all-features/index.md deleted file mode 100644 index 666e0878926..00000000000 --- a/docs/es/gdevelop5/all-features/index.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Todas las demás características (All other features) ---- -# Todas las demás características (All other features) - -Algunas características de GDevelop no están proporcionadas por objetos y comportamientos, pero pueden usarse directamente desde acciones, condiciones o expresiones, o están integradas en el motor del juego (o en [an extension](/gdevelop5/ extended-gdevelop)) sin necesidad de un objeto Para existir en la escena. - -Este es, por ejemplo, el caso del motor de audio, los temporizadores o el soporte para almacenamiento. Examine la lista completa para obtener ayuda sobre todas estas características de GDevelop: - -* [Variables (variables)](/gdevelop5/all-features/variables) -* [Colisiones (Collisions)](/gdevelop5/all-features/collisions) -* [Mouse and touch](/gdevelop5/all-features/mouse-touch) -* [Temporizadores (Timers)](/gdevelop5/all-features/timers) -* [Audio](/gdevelop5/all-features/audio) -* [Almacenamiento (Storage)](/gdevelop5/all-features/storage) -* [Red (Network)](/gdevelop5/all-features/network) -* [Inventario (Inventory)](/gdevelop5/all-features/inventory) -* [Objetos Linkeados (Linked objects)](/gdevelop5/all-features/linked-objects) -* [Tienda (Shopify)](/gdevelop5/all-features/shopify) -* [Sensores del dispositivo (Device Sensors)](/gdevelop5/all-features/device-sensors) -* [Vibración del dispositivo (Device Vibration)](/gdevelop5/all-features/device-vibration) -* [Otras expresiones (Other expressions)](/gdevelop5/all-features/expressions) diff --git a/docs/es/gdevelop5/all-features/inventory.md b/docs/es/gdevelop5/all-features/inventory.md deleted file mode 100644 index 2ffd9da32ad..00000000000 --- a/docs/es/gdevelop5/all-features/inventory.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: Inventario (Inventory) ---- -# Inventario (Inventory) - -Los "Inventarios" se encuentran en estructuras de memoria que le permiten realizar un seguimiento de los objetos / elementos recolectados por el jugador o cualquier otro inventario en un juego. Los artículos de inventario son ilimitados e identificados por los nombres que usted elija. - -Al igual que las variables, los "Inventarios" se identifican con un nombre. Los nombres de "inventario" pueden ser lo que quieras. El estado de inventario inicial por defecto está vacío. No contiene elementos. - -Los inventarios y su contenido pueden ser manipulados usando condiciones y acciones. - -## Adición, eliminación y manipulación de elementos. - -Los inventarios se componen de artículos. Como se mencionó anteriormente, el "Inventario" predeterminado está vacío de cualquier artículo. - -Use la acción "Agregar un artículo" para agregar un artículo al inventario. El nombre del artículo se puede elegir libremente. Por ejemplo, un "elemento podría ser" Espada "," Oro "," Balas ", etc. También puede usar la acción "Eliminar un elemento" para eliminar un elemento de un inventario. - -Puede establecer límites en los artículos de un inventario mediante la acción "Establecer un recuento máximo para un artículo". Introduzca el nombre del artículo y el recuento. Cuando un artículo ha alcanzado su conteo máximo, agregar nuevos artículos no aumentará el conteo del artículo en el inventario. - -Puede usar las condiciones "Artículo completo" para verificar si un artículo alcanzó la capacidad máxima. La condición "Tiene un elemento" permite que se realice una verificación del inventario para ver _si_ el jugador tiene al menos uno de los elementos especificados. - -## Configuración de un elemento como equipado - -Los artículos pueden ser marcados como "equipados". Usa la acción "Equipar un objeto". Esta acción no cambia nada en el juego. Sin embargo, puede usar la condición "Artículo equipado" para verificar _si_ está equipado un artículo. A continuación, puede establecer su acción en consecuencia. - -Por ejemplo, puedes usar la condición "Objeto equipado" para verificar si hay una "Espada mágica" en tu juego. Si está equipado, podrías agregar más daños a los enemigos. - -Si un artículo alcanza el conteo de 0 (es decir, el inventario está vacío de artículos), no se marca como equipado. - -## Cómo mostrar los elementos de un inventario en el juego. - -Diferentes juegos pueden mostrar inventarios de diferentes maneras. Los inventarios no se pueden representar directamente en la pantalla, pero puede usar [Sprites](/gdevelop5/ objects/ sprite) [Text objetos](/gdevelop5/ objects/ text) para crear su propia visualización. - -Para usar objetos de Sprites y Texto para crear una pantalla: - -1. use la condición "Tiene un artículo" para verificar si un artículo es "de su propiedad" -2. Mostrar u ocultar el objeto asociado en la pantalla. -3. use la expresión "Recuento de artículos" (por ejemplo, `InventoryTools :: Count (" PlayerInventory "," Gold ")`) para acceder al recuento de un artículo determinado -4. utilice el "recuento de elementos" para establecer el texto de un objeto "Texto" que se muestra en la pantalla - -## Guardar / cargar inventarios - -Utilice [storage actions](/gdevelop5/ all-features/ storage) para guardar el progreso del reproductor. También puede guardar el contenido del inventario (o cualquier otro inventario que use en el juego). - -Las acciones "Guardar un inventario en una variable" y "Cargar un inventario desde una variable", le permiten volcar el contenido de un inventario en una variable. Estas acciones se establecerán como una variable estructurada. La información será contenida como niños. Las acciones también se pueden utilizar para restaurar un inventario a partir de una variable. - -Cuando su inventario se guarda en una variable, puede guardar esta variable utilizando las acciones de almacenamiento y las acciones relacionadas con JSON: ![](/gdevelop5/all-features/inventory-serialization.png) diff --git a/docs/es/gdevelop5/all-features/mouse-touch.md b/docs/es/gdevelop5/all-features/mouse-touch.md deleted file mode 100644 index 0e21cf7d397..00000000000 --- a/docs/es/gdevelop5/all-features/mouse-touch.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Ratón y manejo de eventos táctiles. (Mouse and handling touch events) ---- -# Ratón y manejo de eventos táctiles. (Mouse and handling touch events) - -GDevelop tiene soporte incorporado para el manejo de toques y entradas de mouse. - -## Forma más fácil: use la condición "El cursor / toque está en un objeto" - -La condición llamada "**El cursor / toque está en un objeto**" verificará si el cursor del mouse o un toque de pantalla se realiza en un objeto (s) determinado (s). - -Si el cursor / táctil se reconoce con "el cursor / táctil está en una condición de objeto", los objetos tocados / desplazados se seleccionarán para las siguientes condiciones y acciones. - -Puede usar "**El cursor / toque está en un objeto **" junto con "** Botón del mouse presionado**" o **"Botón del mouse liberado**". Por defecto, el toque emulará un clic izquierdo. Esta configuración predeterminada le permite detectar si el usuario tocó un botón o un objeto con un clic izquierdo del mouse. ![](/gdevelop5/all-features/touch-left-click.png) - -Tenga en cuenta que puede usar expresiones como `MouseX` y` MouseY` para obtener la posición del cursor en la escena: - -![](/gdevelop5/all-features/mousex-mousey.png) - -## Manera más compleja: usa las condiciones para verificar la posición del mouse o toque - -Si desea manejar los eventos de toque y cursor por separado, puede usar la acción "De / activar moviendo el cursor del mouse con toques". En este momento, los toques no simularán el mouse y los clics a la izquierda. - -Al manejar los eventos táctiles y de cursor por separado, puede usar expresiones para obtener la posición del mouse (`MouseX` y` MouseY`), así como la posición de un toque. - -Se pueden hacer múltiples toques al mismo tiempo. Debe almacenar el identificador táctil y pasarlo a expresiones o condiciones que le den la posición del toque. Vea el ejemplo a continuación: - -![](/gdevelop5/all-features/mulititoucheventexample.png) - -!!! note - - **Vélo en acción!** 🎮 - - Abra este ejemplo Online: diff --git a/docs/es/gdevelop5/all-features/storage.md b/docs/es/gdevelop5/all-features/storage.md deleted file mode 100644 index 228e722f461..00000000000 --- a/docs/es/gdevelop5/all-features/storage.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Almacenamiento ---- -# Almacenamiento - -Los juegos pueden almacenar datos, como el progreso del jugador. Vea [esta guía](/gdevelop5/tutorials/storage-action-explained) para explicaciones detalladas y ejemplos. diff --git a/docs/es/gdevelop5/all-features/timers.md b/docs/es/gdevelop5/all-features/timers.md deleted file mode 100644 index 5f535ef6963..00000000000 --- a/docs/es/gdevelop5/all-features/timers.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Temporizadores (Timers) ---- -# Temporizadores (Timers) - -## Temporizadores de Escena (Scene Timers) - -Puede utilizar condiciones y acciones para iniciar los temporizadores de **escena**. Entonces puedes ejecutar acciones cuando un temporizador alcanza un cierto valor. Los temporizadores más útiles se ven cuando se usan en una condición para comparar el tiempo transcurrido en un temporizador y la acción para restablecer un temporizador a 0. Es importante recordar reiniciar siempre un temporizador antes de usarlo. Si el temporizador no existe, se creará automáticamente en la memoria. - -Puedes darle cualquier nombre a tus temporizadores. Los nombres de temporizadores son expresiones de texto / cadena, por lo que deben ingresarse entre comillas. - -Aquí hay un ejemplo de Timer más avanzado. El temporizador se utiliza para proteger brevemente al jugador de daños. La cantidad de tiempo otorgada para proteger al jugador depende del valor de la variable "` player_undestroyable_time` " - -![](/gdevelop5/all-features/timer-and-variable.png) - -!!! note - - **Véalo en acción!** 🎮 - - Abra este ejemplo Online: - -## Temporizadores de objetos (Object timers) - -Además de los temporizadores de escena, puede usar los temporizadores en su objeto de juego y sus instancias. Esto significa que cada instancia del objeto tendrá su propio temporizador en la memoria. Será independiente de otras instancias de objeto. Esta función le permite iniciar acciones de instancias de objetos después de cada X número de segundos. - -Los temporizadores de objetos se configuran de la misma manera que los temporizadores de escenas. Tiene que inicializar un temporizador de instancia de objeto con la acción para Iniciar / restablecer un temporizador: ![](/gdevelop5/all-features/start-object-timer.png) - -Tenga en cuenta que al igual que con los temporizadores de escenas, los nombres de los temporizadores de objetos son expresiones de cadena / texto. // ¡Deben ser escritos entre comillas! .// La acción anterior creará un temporizador llamado "` color` "en cada instancia del objeto Sprite e iniciará estos temporizadores. - -Ahora puedes comprobar los valores del temporizador: ![](/gdevelop5/all-features/object-timers.png) - -La condición anterior verifica si el tiempo transcurrido en el temporizador "` color` "es mayor que una variable de objeto (puede usar una variable de objeto en una expresión para obtener su valor). La condición seleccionará cada instancia de Sprite con un valor de temporizador mayor que el tiempo "solicitado" con la variable de objeto "` color_time` ". Luego, el color del Sprite se cambia a uno aleatorio y el temporizador del objeto se restablece. - -Usar variables de objeto para verificar los temporizadores de objetos es útil. Por ejemplo, puedes tener varias instancias de enemigos disparando balas con diferentes velocidades de disparo. Se puede ver otro uso de los temporizadores de objetos cuando se usa con un enemigo que colisiona con un "aumento de velocidad de disparo". Puede configurar la variable "` fire_rate_time` "para que sea menor que el valor normal, lo que significa que el tiempo entre cada viñeta disminuirá. - -!!! note - - **Véalo en acción!** 🎮 - - Abra este ejemplo Online: - -![](/gdevelop5/all-features/fireratetimerexample.png) - -## Avanzado: simula temporizadores con variables - -Los temporizadores de escenas y objetos son convenientes. Sin embargo, a veces puede ser necesario simular temporizadores con variables. Las tareas complejas lo requieren. Esto le permite tener más control sobre los temporizadores. Usando variables, puede aumentar o disminuir el valor sumando o restando el tiempo de la variable. // Si quiere que todas las instancias de su objeto en una escena tengan su propio temporizador personalizado, use una variable junto con la expresión `TimeDelta` //. - -![](/gdevelop5/all-features/increase-variable-timer.png) - -Este caso de uso aumentará la variable a una velocidad de 1000 unidades por segundo. Cuando se utilizan 1000 unidades por segundo, el "temporizador" se ejecuta en milisegundos. - -Por ejemplo, como se ve a continuación, puede comparar una variable (temporizador de daño) para configurar una acción después de 0,5 segundos. Entonces el "temporizador se puede reiniciar. - -![](/gdevelop5/all-features/reset-variable-timer.png) diff --git a/docs/es/gdevelop5/all-features/variables.md b/docs/es/gdevelop5/all-features/variables.md deleted file mode 100644 index cbb4b17223c..00000000000 --- a/docs/es/gdevelop5/all-features/variables.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Variables (Variables) ---- -# Variables (Variables) - -Las variables le permiten almacenar datos, por ejemplo, un número o un texto (Cadena). Podríamos compararlos con cajones o cajas donde podemos archivar notas. Todos los datos se pueden almacenar, siempre que estén en formato de texto o número. Una variable puede contener el número de vidas restantes, un puntaje alto, el número de balas que quedan, el número de enemigos muertos, etc. Probablemente vayas a usar variables para almacenar números en tu juego. - -## ¿Dónde se almacenan las variables? - -El alcance de una variable determina dónde se puede acceder a una variable. En GDevelop, tres ámbitos variables están disponibles: - -* **Global** Las variables son accesibles desde todas las escenas del juego. Por ejemplo, se pueden usar para almacenar la puntuación del jugador en diferentes niveles. * **Scene** Las variables solo son accesibles desde una escena. Se pueden usar para datos que solo conciernen a una escena y no a todo el juego. Como ejemplo, el tiempo restante antes de una explosión. * **Object** Las variables solo conciernen a un objeto. En este caso, un héroe puede tener una variable "Salud" o "Munición" que almacena un número que controla la salud de un héroe o el número de balas disponibles para ese personaje. - -## Cómo declarar y usar variables - -Las variables globales, de escena y de objeto se pueden definir utilizando los editores de variables. Para las variables globales, [Project Manager](/fr/ gdevelop5/ interface/ project-manager) tiene un enlace a las variables globales. Para las variables de escena, [clic derecho en una escena](/gdevelop5/ interface/ scene-editor). Luego, haga clic en "propiedades". Para objetos, haga clic derecho en un objeto en la lista y elija "editar variables de objeto". - -Los editores de variables declaran variables junto con sus valores iniciales. - -Nota: que estos editores son totalmente opcionales. También puede comenzar directamente a utilizar acciones y condiciones para modificar y comparar variables. // Si ingresa el nombre de una variable que no existe en una acción o condición, se creará automáticamente en la memoria durante el juego.// - -Cualquier nombre puede ser usado para una variable. De forma predeterminada, las variables contienen el número inicial 0. Si utiliza una acción para cambiar el texto almacenado por la variable, la variable cambiará para contener el texto que ha definido. - -## Usar variables en expresiones. - -Se puede acceder a las variables desde condiciones, modificarse desde acciones y también se pueden leer en expresiones. - -En una expresión que calcula un número, usa: - -* `GlobalVariable (name)` para leer el valor de una variable global -* `Variable (nombre)` para leer el valor de una variable de escena -* `ObjectName.Variable (name)` para leer la variable del objeto llamado "ObjectName". - -En una expresión que devuelve un texto, use en su lugar: - -* `GlobalVariableString (name)` para leer el texto de una variable global -* `VariableString (name)` para leer el texto de una variable de escena -* `ObjectName.VariableString (name)` para leer la variable del objeto llamado "ObjectName". - -## Ver variables en el depurador. - -Al desarrollar un juego, pueden ocurrir errores porque el valor de una variable no es el esperado. Si algo en su juego no funciona y cree que el problema podría estar relacionado con una variable, use el depurador de GDevelop para averiguar qué está mal. - -Para obtener más información, consulte: [Game Debugger and Profiler](/gdevelop5/interface/debugger). - -## Variables de estructura - -FIXME Esta sección está en construcción. ¡Puedes escribirlo tú mismo creando una cuenta en el wiki! diff --git a/docs/es/gdevelop5/behaviors/anchor.md b/docs/es/gdevelop5/behaviors/anchor.md deleted file mode 100644 index cfe048c9afa..00000000000 --- a/docs/es/gdevelop5/behaviors/anchor.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Comportamiento del ancla (Anchor Behavior) ---- -# Comportamiento del ancla (Anchor Behavior) - -El comportamiento de anclaje permite que un objeto retenga su posición sin importar el tamaño de pantalla / relación de aspecto del juego, recortando sus bordes (Abajo, Izquierda, Derecha, Arriba). Esto es más útil para los objetos UI / HUD que son estáticos. - -Para agregar Ancla a un objeto, primero abra las propiedades del objeto creando un nuevo objeto o accediendo al objeto en la lista Objeto de escena. Seleccione "Editar objeto" de la lista emergente. Luego seleccione "Comportamientos" y haga clic en el botón Agregar comportamiento. - -![](/gdevelop5/behaviors/anchorbehavior.png) diff --git a/docs/es/gdevelop5/behaviors/destroyoutside.md b/docs/es/gdevelop5/behaviors/destroyoutside.md deleted file mode 100644 index 01f465f70ac..00000000000 --- a/docs/es/gdevelop5/behaviors/destroyoutside.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: PLATAFORMA Y COMPORTAMIENTOS DE LOS PERSONAJES DE LA PLATAFORMA (Destroy outside screen behavior) ---- -# PLATAFORMA Y COMPORTAMIENTOS DE LOS PERSONAJES DE LA PLATAFORMA (Destroy outside screen behavior) - -**[¡Preferiría ver los ejemplos de comportamiento de la pantalla externa de Destroy! Por favor, llévame allí ahora.](#Examples)** - -Este es uno de los comportamientos más simples, pero útiles. Agréguelo a un objeto y luego, cada vez que una instancia de este objeto salga de los límites de la escena / pantalla del juego, esta instancia será destruida. - -Es una forma sencilla de garantizar que su juego no esté lleno de objetos de basura que podrían ralentizarlo. - -### Comportamiento de la plataforma (Add behavior to object) - -Para agregar un comportamiento a un objeto, primero abra las propiedades del objeto haciendo clic derecho en el objeto que se encuentra en la lista Objetos. Seleccione "Editar objeto" de la lista emergente. A continuación, seleccione la pestaña Comportamientos. Haga clic en el botón "agregar comportamiento". - -![](/gdevelop5/behaviors/addbehavior.jpg) - -### Destruye cuando está fuera de la pantalla. (Destroy when outside of screen) - -![](/gdevelop5/behaviors/destroy-outside-screen-behavior-inlist.png) - -Una vez que haya seleccionado el comportamiento de destrucción de la lista, eliminará el objeto cuando esté fuera de la pantalla. Este comportamiento no tiene opciones para cambiar y se aplica automáticamente a todas las instancias del objeto. - -# Ejemplos - -!!! note - - **Véalo en acción!** 🎮 - - Abre los ejemplos Online. - -**Comportamiento fuera de la pantalla (Outside the Screen Behavior)** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://space-shooter){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/outsidescreenbehaviorspaceshooter.png)](https://editor.gdevelop.io/?project=example://space-shooter) - - -**Destruye balas fuera de pantalla / escena** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://shoot-bullets){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/outsidescreendestroybullets.png)](https://editor.gdevelop.io/?project=example://shoot-bullets) - - -**Disparando balas Explicación** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://shooting-bullets-explanation){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/bulletshootingexplanationexample.png)](https://editor.gdevelop.io/?project=example://shooting-bullets-explanation) diff --git a/docs/es/gdevelop5/behaviors/draggable.md b/docs/es/gdevelop5/behaviors/draggable.md deleted file mode 100644 index f09ff6da3ce..00000000000 --- a/docs/es/gdevelop5/behaviors/draggable.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Comportamiento de objetos arrastrables (Draggable Object Behavior) ---- -# Comportamiento de objetos arrastrables (Draggable Object Behavior) - -!!! note - - **Vélo en acción!** 🎮 - [¡Prefiero ver los ejemplos de comportamiento de objetos arrastrables! Por favor, llévame allí ahora.](#Examples) - -El comportamiento del objeto que se puede arrastrar hará que el objeto se pueda arrastrar con el mouse o al tocar la pantalla táctil de un dispositivo. - -### Añadir comportamiento arrastrable a un objeto (Add draggable behavior to an object) - -Para agregar un comportamiento que se pueda arrastrar a un objeto, primero cree un objeto o abra las propiedades del objeto accediendo al objeto en la lista de Objetos de escena. Seleccione "Editar objeto" de la lista emergente. Luego seleccione "Comportamientos" y haga clic en el botón Agregar comportamiento. ![](/gdevelop5/behaviors/addbehavior.jpg) - -![](/gdevelop5/behaviors/draggablebehaviorlistchoice.jpg) - -### Objeto arrastrable (Draggable object) - -![](/gdevelop5/behaviors/draggable-object-behavior-inlist.png) - -Al seleccionar el comportamiento del objeto arrastrable de la lista, podemos agregar la funcionalidad al objeto. Este comportamiento no tiene opciones para cambiar. Se aplica automáticamente al objeto. - -Usando "Eventos" en la pestaña Eventos de escena, podemos verificar si se está arrastrando un objeto. - -![](/gdevelop5/behaviors/eventcondtiondraggableobject.png) - -#Ejemplos - -!!! note - - **Véalo en acción!** 🎮 - Abra éstos ejemplos Online. - -**Encajar a la cuadricula (Snap to Grid)** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://snap-object-to-grid){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/snaptogrid.png)](https://editor.gdevelop.io/?project=example://snap-object-to-grid) - - -**Disparar bala en patrón de parábola** (Una parábola es una curva plana que es simétrica a un espejo y tiene forma de U aproximadamente. Básicamente, un objeto que dispara hacia un objeto en una trayectoria curva..) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://shoot-bullet-in-parabola){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/shootbulletparabolapattern.png)](https://editor.gdevelop.io/?project=example://shoot-bullet-in-parabola) - - -**Guardar y cargar (Save and Load)** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://save-load){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/saveandloadexample.png)](https://editor.gdevelop.io/?project=example://save-load) - - -**Fundamentos de la búsqueda del camino (Path Finding Basics)** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://pathfinding-basics){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/pathfindingbasics.png)](https://editor.gdevelop.io/?project=example://pathfinding-basics) diff --git a/docs/es/gdevelop5/behaviors/index.md b/docs/es/gdevelop5/behaviors/index.md deleted file mode 100644 index f5b32a9e985..00000000000 --- a/docs/es/gdevelop5/behaviors/index.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: behaviors ---- -!!! note - - Esta traducción es anterior a la página original en inglés y puede estar obsoleta. - -# COMPORTAMIENTOS - -Los comportamientos agregan capacidades adicionales a los objetos. Todos los objetos pueden tener uno o más comportamientos adjuntos. - -### Añadir comportamiento a un objeto. - -Para agregar un comportamiento a un objeto, necesita abrir las propiedades del objeto. Hay dos maneras en que esto se puede lograr: - -1. Haga clic con el ratón en los tres puntos en el menú Objetos ubicado a la derecha de la escena. Seleccione "Editar objeto" de la lista emergente. - -![editplayerobject.jpg](/gdevelop5/editplayerobject.jpg) - -2. Haga clic derecho en el objeto dentro de la escena. Seleccione "Editar objeto" de la lista emergente. - -Deberías ver las propiedades del objeto seleccionado. Ignorar la pestaña de propiedades por ahora. Seleccione la pestaña "Comportamientos" en la barra. ![behaviors-tab.png](/gdevelop5/behaviors-tab.png) - -Aquí verá una lista de comportamientos agregados al objeto. Probablemente esté vacío ahora. Para agregar un comportamiento al objeto, haga clic en el botón Agregar comportamiento. ![add-behavior-button.png](/gdevelop5/add-behavior-button.png) - -A continuación debería ver una lista de comportamientos disponibles. ![add-behavior-list.png](/gdevelop5/add-behavior-list.png) - -Es posible que deba desplazarse hacia abajo para ver la lista completa de comportamientos. Finalmente, simplemente haga clic en un comportamiento para agregar ese comportamiento al objeto. - -### Aprende más - -Puede obtener más información sobre cada comportamiento haciendo clic en los siguientes enlaces: - -- [Comportamiento fisico](/gdevelop5/behaviors/physics) -- [Pathfinding](/gdevelop5/behaviors/pathfinding) -- [Destruir la pantalla exterior](/gdevelop5/behaviors/destroyoutside) -- [Objetos de plataforma y plataformas.](/gdevelop5/behaviors/platformer) -- [Objeto arrastrable](/gdevelop5/behaviors/draggable) -- [Movimiento de arriba hacia abajo.](/gdevelop5/behaviors/topdown) diff --git a/docs/es/gdevelop5/behaviors/pathfinding.md b/docs/es/gdevelop5/behaviors/pathfinding.md deleted file mode 100644 index f17b63fa8b2..00000000000 --- a/docs/es/gdevelop5/behaviors/pathfinding.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: de rutas ---- -#Búsqueda de rutas - -**[¡Prefiero ver los ejemplos de comportamiento de Pathfinding! Por favor, llévame allí ahora.](#Examples)** - -El comportamiento de búsqueda de rutas nos permite mover objetos a un destino seleccionado, así como marcar elementos como obstáculos. Los objetos que están marcados como obstáculos serán evitados por los objetos en movimiento. - -## Añadir comportamiento al objeto Para agregar comportamiento a un objeto, como de costumbre, cree el objeto. Luego, abra las propiedades del objeto haciendo clic derecho en la lista de Objetos ubicada a la derecha de la Interfaz de Escena. Seleccione "Editar objeto" de la lista emergente. - -![](/gdevelop5/editplayerobject.jpg) - -Ahora, seleccione la pestaña de comportamiento y haga clic en el botón "agregar comportamiento". - -![](/gdevelop5/behaviors-tab.png) - -A continuación, tenemos dos opciones para elegir: - -## Opción 1: comportamiento pathfinding ![](/gdevelop5/behaviors/pathfinding-behavior-inlist.png) - -El "comportamiento de búsqueda de rutas" nos permite mover el objeto a un destino y evitar todos los objetos marcados como un obstáculo. - -Después de agregar el comportamiento al objeto, podemos personalizar una serie de opciones. ![](/gdevelop5/behaviors/pathafindin-behavior-options.png) - -- **aceleración:** esta es la velocidad con la que nuestro objeto acelerará mientras se mueve en un camino. -- **permitir diagonales:** compruebe si el objeto puede moverse en diagonales o no. -- **ángulo de desplazamiento:** en caso de que nuestro sprite esté orientado en la dirección incorrecta, podemos establecer el ángulo de desplazamiento -- **tamaño de borde adicional:** stablece el tamaño de borde alrededor del objeto. Esta configuración determina qué tan cerca se puede mover el objeto a los obstáculos. -- **Velocidad máxima:** velocidad máxima que el objeto puede mover en el camino. -- **rotar objeto:** si no desea que el objeto gire mientras se mueve en la ruta, desactive la rotación del objeto. -- **velocidad de rotación:** establece la velocidad de rotación del objeto. -- **Alto y ancho de celda virtual:** nuestra ruta se genera mediante una cuadrícula virtual. Aquí podemos cambiar el tamaño de las celdas, cuanto más pequeño sea el tamaño de la celda, más suave será el movimiento. *Un tamaño de celda más pequeño implica más cálculos, así que trate de mantener un tamaño lo más grande posible.* - -## Opción 2: comportamiento de obstáculo en el pathfinding (Pathfinding Obstacle behavior) ![](/gdevelop5/behaviors/pathfinding-obstacle-inlist.png) - -Al utilizar el "comportamiento del obstáculo de búsqueda de caminos", podemos marcar un objeto para que sea un obstáculo. Después de agregar el comportamiento al objeto, tenemos dos opciones para personalizar: ![](/gdevelop5/behaviors/pathfinding-obstacle-options.png) - -- **Impasable (impassable):** si habilitamos esto, el obstáculo será intransitable. El objeto en movimiento lo va a evitar a toda costa. -- **Costo (cost):** si el obstáculo no es infranqueable, podemos establecer un costo para el obstáculo. El objeto en movimiento, cuando busque el mejor camino posible hacia un destino, preferirá evitar el obstáculo con valores de alto costo. Por ejemplo, un río puede tener algún costo. El objeto en movimiento, si es posible, lo evitará. Sin embargo, si no hay otra manera alrededor del río, o si el río tiene un costo más bajo en comparación con otra área, el objeto en movimiento lo atravesará (en lugar de escalar una montaña con un costo más alto, por ejemplo). Y si ponemos cocodrilos en el río y aumentamos su costo, el objeto en movimiento podría decidir escalar las montañas. - -## Ejemplo - -!!! note - - **Véalo en acción!** 🎮 - - Abre estos ejemplos Online. - -**Comportamiento general del pathfinding (General Path Finding Behavior)** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://pathfinding){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/pathfindinggeneral.png)](https://editor.gdevelop.io/?project=example://pathfinding) - - -**Conceptos básicos de la ruta de acceso (Path Finding Basics)** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://pathfinding-basics){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/pathfindingbasics.png)](https://editor.gdevelop.io/?project=example://pathfinding-basics) diff --git a/docs/es/gdevelop5/behaviors/physics.md b/docs/es/gdevelop5/behaviors/physics.md deleted file mode 100644 index 22b91d7718f..00000000000 --- a/docs/es/gdevelop5/behaviors/physics.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: Comportamiento de la Física (Physics behavior) ---- -# Comportamiento de la Física (Physics behavior) - -**[¡Prefiero ver los ejemplos de comportamiento de física! Por favor, llévame allí ahora.](#Examples)** - -El comportamiento de "Física" permite que los objetos se comporten de acuerdo con las leyes de la física. El comportamiento de la física aplica la física del mundo real a los objetos de tu juego. Los objetos del juego pueden moverse, caer, rodar, rebotar y chocar. - -## Añadir comportamiento al objeto (Add behavior to object) Para agregar un comportamiento físico a un objeto, abra las propiedades del objeto haciendo clic derecho en el objeto creado en el Editor de objetos. Luego, seleccione "Editar objeto" de la lista emergente que aparece. Finalmente, seleccione la pestaña Comportamientos y haga clic en el botón "agregar comportamiento". - -Elige el "motor de física": ![](/gdevelop5/behaviors/physics-behavior-inlist.png) - -## Propiedades (Properties) Una vez que se agrega el comportamiento al objeto, hay una serie de opciones para personalizar: ![](/gdevelop5/behaviors/physics-behavior-options.png) - -**Considerar como una bala (Consider as Bullet)** - -Marque esta casilla si desea que el motor de física intente realizar un manejo de colisión perfecto en este objeto. Esto se usa mejor para objetos que se mueven rápidamente, es decir, balas, de ahí el nombre. "Considerar como bala" requiere muchos recursos. *Úsalo en la menor cantidad de objetos posible.* - -**Objeto dinámico (Dynamic Object)** - -Un "Objeto dinámico" se efectuará mediante la simulación del motor de física. La gravedad, las fuerzas y todas las propiedades enumeradas forman parte del motor de física. Si piensa en una bola rodante en un juego de pinball, establecería esto como dinámico debido a su movimiento de rodar. - -Si no elige "Objeto dinámico", creará un objeto estático o cinemático. Estos objetos no son afectados por el motor de física. Ellos no se moverán por su cuenta. Pueden ser movidos por tus eventos y acciones (cinemática). De lo contrario, simplemente se quedarán donde están (estático). En un juego de pinball puede usar esto para las aletas (cinemáticas) y las paredes y los parachoques (estático). - -**Rotación fija (Fixed Rotation)** - -Esta configuración evita que el objeto gire. Ignora el valor de amortiguación angular. La amortiguación angular controla la velocidad de rotación del objeto. - -**Mojadura (Damping)** - -La amortiguación se utiliza para reducir la velocidad de los objetos. La amortiguación es diferente de la fricción. La fricción solo se produce con el contacto. La amortiguación no es un reemplazo para la fricción. Los dos efectos se deben utilizar juntos. Los parámetros de amortiguación deben estar entre 0 e infinito, con 0 significa que no hay amortiguación y infinito significa que la amortiguación es total. Normalmente usarás un valor de amortiguamiento entre 0 y 0.1. - -**Fricción (Friction)** - -La fricción se utiliza para hacer que los objetos se deslicen entre sí de manera realista. El parámetro de fricción generalmente se establece entre 0 y 1, pero puede ser cualquier valor no negativo. Un valor de fricción de 0 desactiva la fricción y un valor de 1 hace que la fricción sea fuerte. - -**Masa (Mass)** - -La masa (peso) que asignes a un objeto afectará en gran medida la física de tu juego. Comience con todos los objetos establecidos en 1 y luego ajuste el valor como mejor le parezca. - -**Restitución (Restitution)** - -La restitución se utiliza para hacer rebotar objetos. El valor de restitución generalmente se establece entre 0 y 1. Considere dejar caer una pelota en una mesa. Un valor de cero significa que la pelota no rebotará. Esto se llama una colisión inelástica. Un valor de uno significa que la velocidad de la pelota se reflejará exactamente. Esto se llama una colisión perfectamente elástica. - -#Ejemplos - -!!! note - - **See it in action!** 🎮 - - Open these examples online. - -**Física (Physics):** - -[![](/gdevelop5/behaviors/hingeleverdemo.png)](https://editor.gdevelop.io/?project=example://physics) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://physics){ .md-button .md-button--primary } - -**Física de Carro (Car Physics)** - -[![](/gdevelop5/behaviors/carphysics.png)](https://editor.gdevelop.io/?project=example://car-physics) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://car-physics){ .md-button .md-button--primary } - -**Objeto de Gravedad (Object Gravity)** - -[![](/gdevelop5/behaviors/objectgravity.png)](https://editor.gdevelop.io/?project=example://object-gravity) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://object-gravity){ .md-button .md-button--primary } diff --git a/docs/es/gdevelop5/behaviors/platformer.md b/docs/es/gdevelop5/behaviors/platformer.md deleted file mode 100644 index e075dbdf73d..00000000000 --- a/docs/es/gdevelop5/behaviors/platformer.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: Comportamientos de Plataforma y de Personaje de plataforma ---- -# Comportamientos de Plataforma y de Personaje de plataforma - -!!! note - - **Véalos en acción!** 🎮 - [¡Prefiero ver los ejemplos de comportamiento de plataforma y de personajes de plataforma! Por favor, llévame allí ahora.](#Examples) - -¡Con el simple clic de un botón, puedes configurar el comportamiento de "Plataforma" de tu juego, así como el control de un personaje de plataforma! - -## Comportamiento de la plataforma (Platform behavior) - -![select-platform-behavior.png](/gdevelop5/behaviors/select-platform-behavior.png) Como de costumbre, crea un nuevo objeto. Selecciona el objeto de la lista "Objetos" de la escena haciendo clic en la opción "Hacer clic para agregar un objeto". De la lista que aparece, selecciona "Editar objeto". Selecciona el comportamiento "Plataforma" de la lista que se muestra. Ahora puedes convertir tu objeto en una plataforma. Una vez que tu objeto se define como "Plataforma", tu objeto "Personaje de plataforma" puede caminar sobre él. - -Después de seleccionar la opción "Plataforma", verás la lista de opciones de comportamiento de plataforma: - -![platform-behavior-options.png](/gdevelop5/behaviors/platform-behavior-options.png) - -### Tipo de plataforma - -Al hacer clic en el comportamiento de la plataforma, puede elegir entre 3 tipos de plataformas diferentes. - -![platform-type-button.png](/gdevelop5/behaviors/platform-type-button.png) - -* **Plataforma (Platform):** ésta es la opción por defecto. El comportamiento predeterminado establece el objeto como una plataforma tradicional. El personaje puede chocar con la plataforma y/o caminar sobre ella. * **Plataforma (Jumpthru):** al elegir esta opción, el personaje puede chocar con la plataforma y caminar sobre ella, pero el personaje también puede saltar a través de la plataforma desde abajo. * **Escalera (Ladder):** como su nombre indica, esta opción convierte nuestro objeto en una escalera. El objeto de personaje no puede chocar con el objeto de escalera. No puede caminar sobre el objeto de escalera, pero cuando el objeto de personaje se superpone al objeto de escalera, el personaje puede subir y bajar. - -### Agarrar la repisa (Grab the ledge) - -El borde de nuestra plataforma se puede agarrar por defecto. "Agarrar el borde" significa que cuando el objeto de personaje salta lo suficientemente cerca del borde de la plataforma, se puede agarrar al borde. Si no necesitas esta funcionalidad, asegúrate de que esta opción esté desmarcada/deseleccionada. Si lo necesitas, asegúrate de que la casilla esté marcada/seleccionada. ![ledges-canbe-grabbed-option.png](/gdevelop5/behaviors/ledges-canbe-grabbed-option.png) - -El desplazamiento del agarre también se puede cambiar en el eje Y. ![grab-offset-option.png](/gdevelop5/behaviors/grab-offset-option.png) - -La opción de desplazamiento nos permite cambiar la posición de la captura para ajustar la animación de nuestro personaje. - -## Comportamiento del personaje de plataformas (Platformer character behavior) - -![select-platformer-character-behavior.png](/gdevelop5/behaviors/select-platformer-character-behavior.png) - -Al seleccionar "Personaje de plataforma" de la lista, podemos convertir nuestro objeto en un "personaje de plataforma". Después de seleccionar la opción "Personaje de plataforma", se te presentarán las propiedades/parámetros de personaje de platforma. ![platformer-character-behavior-options.png](/gdevelop5/behaviors/platformer-character-behavior-options.png) - -Es posible que debas desplazarte para ver todas las opciones. - -### Controles (controls) - -El comportamiento de los personajes de Platformer viene con las teclas predeterminadas establecidas para controlar el personaje. Estas teclas son las teclas de flecha y la tecla de cambio. Si no desea utilizar los controles predeterminados, debe desactivar los controles predeterminados desmarcando o desmarcando la casilla "Controles predeterminados" debajo de las opciones "Carácter de plataforma". ![](/gdevelop5/behaviors/platformer-defaultcontrols-box.png) - -### Agarrarse al borde (Grab the ledge) - -Al igual que con el comportamiento de plataforma, tenemos la opción "Agarrarse al borde" para el "personaje de plataforma". Esta opción permite que el objeto de personaje se sujete al borde de las plataformas. La opción está deshabilitada por defecto. Para habilitarlo, marca/selecciona la casilla en la lista de opciones. ![](/gdevelop5/behaviors/platformer-character-grabledge-box.png) - -Si decides habilitar esta opción, el personaje puede agarrarse al borde de todas las plataformas que también tienen esta opción habilitada. - -Nuevamente, al igual que con el "Comportamiento de plataforma", podemos establecer el desplazamiento de agarre en el eje Y para el personaje. A diferencia del comportamiento de plataforma, también podemos establecer la tolerancia de agarre en el eje X. ![](/gdevelop5/behaviors/platformer-character-grab-tolerancex.png) - -Al cambiar el valor de tolerancia de agarre, podemos establecer cuán cerca debe estar el personaje de la plataforma para permitir que el personaje se agarre al objeto de plataforma. - -### Pendiente ángulo máximo (Slope max angle) - -![](/gdevelop5/behaviors/platformer-character-maximum-slope.png) Al cambiar este valor, podemos establecer el ángulo máximo de una pendiente que el jugador puede escalar. El valor predeterminado es 0. Cero significa que el personaje solo puede moverse sobre una superficie plana. - -### Velocidad y Gravedad (Speed and Gravity) - -![](/gdevelop5/behaviors/platformer-character-speed-options.png) - -Al cambiar los valores correspondientes en las opciones de "Velocidad y Gravedad", podemos cambiar la rapidez con la que nuestro personaje acelera, desacelera, se mueve, cae y salta. Creo que estas opciones se explican por sí mismas, así que no creo que requieran mucha explicación. Si deseas ralentizar el objeto de personaje, puedes disminuir estos valores. Si deseas acelerar el objeto de personaje, puedes aumentar estos valores. - -Todas las opciones de aquí también se pueden cambiar usando eventos en cualquier momento durante el juego. - -# Ejemplos - -!!! note - - **Véalo en acción** 🎮 - Abre los ejemplos Online. - -**Comportamiento de plataformas (Platformer Behavior)** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://platformer){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/platformerbehavior.png)](https://editor.gdevelop.io/?project=example://platformer) - - -**Comportamiento de desplazamiento de paralaje (Parallax Scrolling Behavior)** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://parallax-scrolling){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/parallaxscrollingbehavior.png)](https://editor.gdevelop.io/?project=example://parallax-scrolling) diff --git a/docs/es/gdevelop5/behaviors/topdown.md b/docs/es/gdevelop5/behaviors/topdown.md deleted file mode 100644 index 126619166c1..00000000000 --- a/docs/es/gdevelop5/behaviors/topdown.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Comportamiento de movimiento de arriba hacia abajo (Top Down Movement behavior) ---- -## Comportamiento de movimiento de arriba hacia abajo (Top Down Movement behavior) - -!!! note - - **Vélo en acción!** 🎮 - [¡Prefiero ver los ejemplos de comportamiento del movimiento de arriba hacia abajo! Por favor, llévame allí ahora.](#Examples) - -![](/gdevelop5/behaviors/topdownmovementbehavioricon.jpg) El comportamiento "Movimiento de arriba abajo" permite la funcionalidad adicional de mover un objeto en 4 u 8 direcciones. - -### Añadir comportamiento al objeto (Add behavior to object) - -Para agregar el comportamiento de arriba abajo a un objeto, primero abra las propiedades del objeto accediendo al objeto en el menú de objetos o haciendo clic derecho sobre el objeto en una escena. Seleccione "Editar objeto" de la lista emergente. Luego seleccione "Comportamientos" y haga clic en el botón Agregar comportamiento. - -### Comportamiento de movimiento de arriba hacia abajo (Top Down Movement behavior) - -Al seleccionar el comportamiento del movimiento de arriba hacia abajo de la lista, agregamos la funcionalidad a nuestro objeto. ![](/gdevelop5/behaviors/top-down-movement-behav-inlist.png) - -Después de seleccionar el comportamiento, deberíamos ver inmediatamente las opciones disponibles: ![](/gdevelop5/behaviors/topdown-movement-options.png) - -### Cambia la velocidad de movimiento y rotación. (Change the speed of movement and rotation) - -Al cambiar el valor de Aceleración, Desaceleración y Velocidad máxima, podemos cambiar la velocidad con la que nuestro objeto se moverá. Al cambiar el valor de la velocidad de rotación, podemos cambiar la velocidad con la que nuestro objeto va a girar o si va a girar en absoluto. Explicaré más sobre la rotación a continuación. - -### Cambio de ángulo de desplazamiento (Change angle offset) - -Por defecto, el ángulo de orientación de nuestro sprite es 0, que es el lado derecho de nuestro sprite, pero podemos cambiar la forma en que se enfrenta nuestro objeto cambiando el valor del desplazamiento del ángulo. Aquí hay una imagen para ayudarte a entender las coordenadas en GDevelop: - -![](/gdevelop5/behaviors/gdevelop_covaliantcuriosity.jpg) - -### Permite diagonales. (Allows diagonals) - -![](/gdevelop5/behaviors/allow-diagonals-box.png) Esta opción está activada de forma predeterminada. Permitimos que nuestro objeto se mueva diagonalmente en 8 direcciones. Al deshabilitar esta opción, no permitimos el movimiento diagonal. Cuando está deshabilitado, solo podemos movernos en 4 direcciones: izquierda, derecha, arriba y abajo. El movimiento diagonal ya no está permitido. - -### Controles predeterminados (Default controls) - -![](/gdevelop5/behaviors/top-down-movement-default-controls-box.png) El comportamiento del movimiento de arriba hacia abajo viene con los controles predeterminados habilitados. Los controles predeterminados son las cuatro teclas de flecha del teclado. Si nos gustaría usar controles personalizados para mover el objeto, necesitamos deshabilitar esta opción desmarcando la casilla y luego necesitamos usar los eventos de movimiento de arriba hacia abajo para mover el Objeto. ![](/gdevelop5/behaviors/top-down-movement-events.png) - -### Girar objeto (Rotate object) - -![](/gdevelop5/behaviors/top-down-movement-rotateobject-box.png) - -Por defecto, nuestro objeto girará hacia la dirección del movimiento. El objeto girará a la velocidad que especificamos en la opción Velocidad de rotación. Si no queremos que el objeto rote, necesitamos deshabilitarlo desactivando la casilla. - -También podemos cambiar cualquiera de estas opciones utilizando los eventos que se encuentran en la sección de "Eventos" de GDevelop en cualquier momento durante el juego. - -![](/gdevelop5/behaviors/eventstab.jpg) - -# Ejemplos - -!!! note - - **SVéalo en acción!** 🎮 - Abre estos ejemplos en línea. - -**Space Shooter** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://space-shooter){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/spaceshooter.png)](https://editor.gdevelop.io/?project=example://space-shooter) - - -**Juego Isométrico (Isometric Game)** (crea una ilusión de gráficos 3D dentro de un juego de gráficos 2D) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://isometric-game){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/isometricgame.png)](https://editor.gdevelop.io/?project=example://isometric-game) diff --git a/docs/es/gdevelop5/documentation.md b/docs/es/gdevelop5/documentation.md deleted file mode 100644 index 2c8ba6287a5..00000000000 --- a/docs/es/gdevelop5/documentation.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: DOCUMENTACIÓN ---- -# DOCUMENTACIÓN - -Bienvenidos al manual de orientación de uso del software creador de videojuegos en 2D llamado GDevelop. - -Encontrarás diversos temas como lo son: - -- Manejo de Interfaces -- Manejo de objetos -- Comportamientos -- Eventos -- Publicación de Juegos - -Por mencionar algunos. - -!!! note - - "Recuerden ser ingeniosos en su creación de videojuegos". diff --git a/docs/es/gdevelop5/events/draft-optimization.md b/docs/es/gdevelop5/events/draft-optimization.md deleted file mode 100644 index e65e4abf7fa..00000000000 --- a/docs/es/gdevelop5/events/draft-optimization.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: draft-optimization ---- -!!! note - - Esta página es un borrador de buenas prácticas a aplicar para optimizar los juegos de GDevelop. \Este borrador es un WIP de @Bouh - -!!! note - - Podría fusionarse con - -La optimización de juegos es un concepto importante del desarrollo de juegos. Una buena optimización permitirá que el juego funcione más rápido, haciéndolo más fluido. - -GDevelop 5 te da total libertad en los eventos. Si bien esto puede ser increíble, también puede ser muy costoso si no tiene el reflejo de escribir eventos optimizados, ya que el procesador podría sobrecargarse al ejecutar el juego. Esto causaría lag en el juego. - -Es importante [comprender qué son los eventos](/gdevelop5/tutorials/basic-game-making-concepts) y que todos los eventos se *llaman una vez en cada fotograma* y *en el orden en que se escribieron*. - -!!! note - - Por ejemplo: Con un juego a 60 cuadros por segundo (FPS), si tiene un solo evento, sin condición, y solo una acción, entonces esta acción debe ejecutarse 60 veces en un segundo. - -# La optimización ya está en el motor. - -GDevelop ha incorporado optimizaciones, como la *eliminación*, el proceso de ocultar automáticamente objetos fuera de la pantalla. De esa manera se renderiza menos y el renderizado se vuelve más rápido. - -Esto no afecta a la persona que crea el juego porque se maneja en segundo plano. Es totalmente transparente para todos. Por ejemplo, cuando un sprite está fuera de la pantalla, todas las animaciones se pausan. - -!!! note - - Todavía es importante ocultar o deshabilitar lo que no necesita. Esta es la clave de la optimización. - -# Optimizaciones que puedes realizar. - -## Ejecutar una vez - -La condición **Ejecutar una vez** hace que las condiciones que la preceden en el mismo evento se activen solo una vez cada vez que se cumplen. - -Por ejemplo, si desea crear un objeto cada vez que se hace un clic, esto es lo que *no* debes hacer: - -![](/gdevelop5/events/bad_event_optimisation.png) - -- Lo que se espera que suceda: Cuando se presiona el botón izquierdo del ratón, se crea un objeto llamado **MiObjeto**. -- Lo que realmente sucede: Mientras se presiona el botón izquierdo del ratón, se crean instancias de **MiObjeto**. - -Esto es problemático porque cuando se presiona el botón del mouse, es probable que se mantenga presionado durante más de un solo cuadro, como 0,3 segundos. Durante este período de tiempo, el evento se llama varias veces y el objeto se crea más de una vez. - -Para arreglar eso, podemos usar la condición **Ejecutar una vez**: ![](/gdevelop5/events/good_event_optimisation.png) - -Ahora, la condición se ejecutará solo una vez mientras sea verdadera. Eso significa que el evento se ejecutará solo una vez cada vez que su condición pase de incumplida a cumplida. Resuelve el problema anterior ya que la condición activará solo el primer cuadro del clic y esperará a que finalice el clic antes de permitir que el evento de clic se active nuevamente. - -## Desactivar comportamientos no utilizados - -Los comportamientos toman rendimiento, especialmente los comportamientos *Pathfinding* y *Physic Engine 2.0*. Recuerde desactivarlos cuando no sean necesarios. - -Tomemos como ejemplo la siguiente situación: Quiero que 100 enemigos se muevan a una posición cercana a ellos cada 2 segundos, y tener en cuenta los obstáculos de la pared. - -Esta sería una forma intuitiva pero incorrecta de hacerlo: ![](/gdevelop5/events/bad_behavior.png) Si hace esto, todos los objetos se moverán, incluidos los que están fuera de la pantalla. - -!!! note - - ¿Por qué calcular el movimiento que el jugador no verá? - -En su lugar, puede limitar el movimiento a los objetos visibles. Esto se puede hacer de la siguiente manera: deshabilite el comportamiento Pathfinding de los objetos que no están visibles en la ventana gráfica, y también actívelo cuando estén visibles en la ventana gráfica. - -!!! note - - No olvides ejecutar una vez para asegurarte de que el comportamiento se deshabilite o habilite solo cuando su estado cambie de no visible a visible o al revés. - -## Eliminar objetos no utilizados - -Tomemos como ejemplo la siguiente situación: Tengo un arma y creo una instancia de objeto de bala cuando presiono la tecla para disparar. Esta bala tiene una fuerza hacia una dirección. Si el jugador dispara muchas balas, su cantidad aumentará en la escena y cada una requiere cálculos de la fuerza que se les aplica en el bucle de eventos. Si no elimina los objetos de viñetas antiguos, se sumarán y tomarán más y más rendimiento, lo que provocará un retraso después de jugar durante algún tiempo. La mejor solución es eliminar las viñetas que están fuera de la pantalla. - -El comportamiento **"Destruir cuando está fuera de la pantalla"** hace exactamente eso. Adjúntelo a un objeto y se eliminarán todas las viñetas que salgan de la pantalla. - -!!! note - - TODO - -- Cuanto más pequeñas sean las dimensiones de las imágenes, menor será el tiempo de renderizado. -- Es posible que las imágenes de más de 2000 px no funcionen bien, especialmente en dispositivos móviles donde es posible que no se carguen. -- Reduzca la cantidad de fotogramas en las animaciones de sprites tanto como sea posible, elimine los fotogramas demasiado similares al anterior y al siguiente. -- Para optimizar el código para lograr una métrica de rendimiento deseada, use el generador de perfiles en GD5 para ver dónde se gasta el rendimiento. -- Reduzca el número de condiciones ya que la selección de objetos es un proceso pesado. -- La carga de un juego puede llevar un tiempo cuando los recursos son demasiado grandes, 2Gb de un archivo de video o sonido, ralentizarán el tiempo de carga. -- Considere comprimir videos, sonidos e imágenes, esto reducirá el tiempo de carga. -- Todos los recursos del proyecto se agrupan en los juegos exportados si el recurso existe en la pestaña Recursos (Gestor de proyectos\>Configuración del juego), recuerda eliminar todos los recursos no utilizados. diff --git a/docs/es/gdevelop5/events/foreach.md b/docs/es/gdevelop5/events/foreach.md deleted file mode 100644 index 69d30d86488..00000000000 --- a/docs/es/gdevelop5/events/foreach.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Para cada evento (For Each events) ---- -# Para cada evento (For Each events) - -A For Each event es un tipo de [event](/gdevelop5/ events) que tomará un objeto como parámetro. Luego, durante el juego, para cada instancia del objeto, se repetirán las condiciones y las acciones. - -Por lo general, no es necesario utilizar eventos "para cada uno". Las condiciones y acciones se ejecutarán automáticamente en todos los objetos. Se definen por sus condiciones. Sin embargo, de vez en cuando, los eventos "para cada" pueden ser útiles para ejecutar una acción que depende de cada instancia del objeto. - -## Ejemplo - -!!! note - - **Véalo en acción!** 🎮 - - Abra estos ejemplos Online. - -[![](/gdevelop5/events/shootingbulletsexplanationexample.png)](https://editor.gdevelop.io/?project=example://shooting-bullets-explanation) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://shooting-bullets-explanation){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/platformerbehavior.png)](https://editor.gdevelop.io/?project=example://platformer) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://platformer){ .md-button .md-button--primary } - -## Cuando usarlo (When to use it) - -Considere el siguiente ejemplo. Cuando el jugador se encuentra en una colisión con un objeto llamado "KillAllEnemyBonus", establecemos la variable de "vida" de todos los enemigos en 0. También queremos crear un tipo especial de explosión en la posición de cada enemigo. Necesitamos un evento "para cada" para lograr esto. De lo contrario, se crearía una sola explosión en la posición de solo el primer enemigo: ![](/gdevelop5/events/for-each-example.png) diff --git a/docs/es/gdevelop5/events/functions/extract-events.md b/docs/es/gdevelop5/events/functions/extract-events.md deleted file mode 100644 index 2c0ee204c1f..00000000000 --- a/docs/es/gdevelop5/events/functions/extract-events.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Extraer eventos a una función ---- -# Extraer eventos a una función - -Cuando haga clic derecho en un evento seleccionado (o después de seleccionar más de un evento), puede elegir el elemento del menú "*Extraer eventos a una función*". - -![](/gdevelop5/events/functions/extract-events-to-function.png) - -GDevelop analiza los eventos y subeventos seleccionados, los extraerá en una función y mostrará una ventana para permitirle personalizar esta [función](/gdevelop5/events/functions). Una vez que haya completado los campos, haga clic en Crear para que se cree la función y se reemplacen los eventos seleccionados por una llamada a la [función](/gdevelop5/events/functions). - -## Configuración de la extensión y el nombre de la función - -El primer campo le pide la extensión donde se debe almacenar la función. Recuerda que las funciones se agrupan en extensiones. Si pretende crear múltiples funciones relacionadas con una misma función (por ejemplo, funciones para tratar con el inventario, un sistema de batalla o para ayudarlo a manejar a los enemigos en su juego), es mejor agruparlos en una misma extensión con un nombre relacionado con la característica. - -Esto permitirá entonces compartir la extensión y reutilizarla en otros juegos con poco o ningún cambio. - -Puede seleccionar una extensión existente o ingresar el nombre de una nueva, que se creará para usted. - -Introduzca entonces el nombre de la función. Al igual que el nombre de una extensión, el nombre de una función está limitado a caracteres alfanuméricos (0-9, a-Z) y guiones bajos. No se permiten espacios. - -![](/gdevelop5/events/functions/extension-name-and-function-name.png) - -## Configuración del resto de la función y parámetros. - -El resto de la ventana contiene los mismos widgets para configurar su función como los que se muestran cuando está editando una función. En particular, puede ingresar el nombre que se muestra al usuario y la descripción. - -Un campo importante es la oración que se muestra en la hoja de eventos. Puede usar _PARAMx_, donde x es un número (por ejemplo: _PARAM1_) para referirse a un parámetro. Generalmente, usted quiere ingresar todos los parámetros en esta oración: - -![](/gdevelop5/events/functions/function-setup.png) - -Finalmente puede introducir la descripción de los parámetros. - -!!! note - - Los parámetros se extraen automáticamente de los eventos por GDevelop. GDevelop comprenderá qué objetos, grupos y comportamientos está utilizando, así como los tipos de objetos. - -![](/gdevelop5/events/functions/function-parameters-setup.png) - -Al final, haga clic en Crear en la parte inferior derecha del cuadro de diálogo. ¡La función se creará y los eventos se reemplazarán por una acción que utiliza esta función! - -![](/gdevelop5/events/functions/function-used-as-action.png) diff --git a/docs/es/gdevelop5/events/group.md b/docs/es/gdevelop5/events/group.md deleted file mode 100644 index 6d5886d7dee..00000000000 --- a/docs/es/gdevelop5/events/group.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Grupo de eventos (Group of events) ---- -# Grupo de eventos (Group of events) - -Los grupos son eventos que no hacen nada en particular. Se utilizan para organizar y estructurar sus eventos en grupos. - -Puedes agregar un grupo desde dentro del Panel de Eventos. Seleccione el icono "Elegir y agregar un evento" en la parte superior derecha. ![](/gdevelop5/events/chooseaddeventicon.png) - -Aparecerá un menú desplegable. Seleccione "Grupo" en el menú. - -![](/gdevelop5/events/groupeventsdropdown.png) - -Luego, como se ilustra a continuación, nombre a su grupo describiendo lo que contiene ("Gestión de jugadores", "Creación de mapas", "Enemigo verde", "Enemigo azul", "Enemigo negro", etc.). - -Además, en el editor de eventos, puede hacer clic en la flecha pequeña ubicada a la izquierda del evento de grupo para ocultar los eventos secundarios. Haga clic nuevamente en esta flecha para desplegar el grupo y mostrar lo que contiene.![](/gdevelop5/events/collapsiblegrouparrow.png) - -![](/gdevelop5/events/events-groups.png) - -## Ejemplos - -!!! note - - **Véalo en acción!** 🎮 - - Abra estos ejemplos Online. - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://space-shooter){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/spaceshooter.png)](https://editor.gdevelop.io/?project=example://space-shooter) diff --git a/docs/es/gdevelop5/events/index.md b/docs/es/gdevelop5/events/index.md deleted file mode 100644 index 70b74119289..00000000000 --- a/docs/es/gdevelop5/events/index.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Eventos ![](/gdevelop5/event-screenshot.png) Los eventos en GDevelop te permiten programar visualmente tu juego sin ningún conocimiento o experiencia previa en programación, por lo que cualquier persona con cualquier fondo podrá crear el juego real y permitir que los jugadores interactúen con el juego. ---- -# Eventos ![](/gdevelop5/event-screenshot.png) Los eventos en GDevelop te permiten programar visualmente tu juego sin ningún conocimiento o experiencia previa en programación, por lo que cualquier persona con cualquier fondo podrá crear el juego real y permitir que los jugadores interactúen con el juego. - -### Tipos de eventos (Event types) - -Hay diferentes tipos de eventos en GDevelop que pueden usarse para diferentes propósitos: - -- [Standard event](/gdevelop5/events/standard): este evento es el predeterminado y se activa en cada fotograma. Ejecuta las acciones una vez que las condiciones son verdaderas, luego pasa al siguiente evento. -- [For Each event](/gdevelop5/events/foreach): este evento se activa para todas y cada una de las instancias del objeto seleccionado, verifica las condiciones y luego ejecuta las acciones para cada uno individualmente antes de pasar al siguiente evento. -- [Repeat event](/gdevelop5/events/repeat): este evento se repite la cantidad de veces especificada antes de pasar al siguiente evento. -- [While event](/gdevelop5/events/while): este evento se repite continuamente mientras se cumplen las condiciones especificadas y pasa al siguiente evento solo después de que las condiciones de este evento ya no sean ciertas. -- [Link](/gdevelop5/events/link): Este evento le permite llamar al evento externo especificado. Los eventos externos son eventos que no están vinculados a una escena específica. Puede llamarlos y ejecutarlos desde una o más escenas usando eventos de enlace. -- [Group](/gdevelop5/events/group): Un grupo contiene uno o más eventos. Es una forma fácil de organizar tus eventos en secciones. Puede contraer el contenido del grupo para ocultar los eventos en los que no está interesado cuando trabaja. -- [Javascript event](/gdevelop5/events/js-code): este evento le permite utilizar el código de Javascript junto con otros eventos - -Los eventos pueden tener subeventos (a excepción de los enlaces, los comentarios y el código Javacript). Los subeventos solo se activan después de que se hayan ejecutado las acciones del evento principal. Si las condiciones del evento principal son falsas, entonces no se ejecuta ningún evento secundario. - -Finalmente, los usuarios avanzados pueden crear sus propias acciones y condiciones usando [funciónes](/gdevelop5/events/functions). Es una forma de hacer que sus eventos sean aún más modulares y adaptados a su juego. - -### Agregar eventos (Add events) - -Para agregar eventos a nuestro juego, primero necesitamos cambiar al editor de eventos. Podemos hacerlo usando la pestaña del evento al lado de nuestra pestaña de escena. ![](/gdevelop5/objects/events-tab.png) - -Después de eso, podemos encontrar las herramientas en la parte superior para agregar eventos. ![](/gdevelop5/events-editor-toolset.png) Como el tipo de evento más utilizado es el estándar y los subeventos, tenemos un botón rápido para usar en la parte superior. Para agregar un evento estándar podemos usar el botón agregar evento![](/gdevelop5/add-event-button.png) Para agregar eventos secundarios, primero debemos seleccionar un evento en el editor y luego hacer clic en el botón Agregar evento secundario ![](/gdevelop5/sub-event-button.png) Puede encontrar todas las opciones disponibles haciendo clic en el icono más ![](/gdevelop5/add-special-events.png) - -### Añadir condiciones y acciones (Add conditions and Actions) - -Después de agregar un evento, vamos a encontrar un evento en blanco en nuestro editor. ![](/gdevelop5/blank-event.png) - -Podemos agregar cualquier número de condiciones y acciones a cada evento. Para agregar condiciones y acciones debemos hacer clic en agregar condición y agregar acción dentro del evento, luego podemos elegir entre muchas opciones ordenadas en diferentes categorías. - -Para aprender más sobre cómo usar las diferentes condiciones y acciones, recomiendo leer los tutoriales y guías disponibles en la wiki: [](/gdevelop5/tutorials) diff --git a/docs/es/gdevelop5/events/js-code.md b/docs/es/gdevelop5/events/js-code.md deleted file mode 100644 index 7ea786a2c34..00000000000 --- a/docs/es/gdevelop5/events/js-code.md +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: Eventos de Código Java Script (JavaScript Code events) ---- -# Eventos de Código Java Script (JavaScript Code events) - -¡Este evento te permite agregar código JavaScript personalizado en tu juego! - -Solo debe ser utilizado por usuarios avanzados que estén familiarizados con la programación de JavaScript. - -Cuando se agrega, haga clic en el código para editarlo. El código se ejecutará cada vez que GDevelop alcance el evento. - -Tenga en cuenta que en el código, tiene acceso a una variable llamada _runtimeScene_. La variable, "runtimeScene", representa la escena que se está reproduciendo. A continuación se muestra un ejemplo de un evento GDevelop estándar y un evento equivalente que utiliza un JavaScript: ![](/gdevelop5/events/javascript-code-example.png) - -Si hace clic en "Haga clic aquí para elegir objetos para pasar a Javascript" junto al parámetro runtimeScene, una variable de la matriz llamada "objetos" estará disponible para su uso. Aparecerá un menú con los objetos de tu juego. Puede seleccionar el objeto de juego de nuestra elección. Ese objeto se agregará a su matriz de objetos javascript. ![](/gdevelop5/events/jsruntimeclickevent.png) - -"objetos" es una matriz que contiene las instancias seleccionadas del objeto que elija. Es exactamente como lo que una acción o condición usaría). Por ejemplo, la siguiente ilustración es un evento que utiliza un evento de JavaScript como un evento secundario. El evento javascript manipulará a los enemigos que chocan con el jugador: ![](/gdevelop5/events/javascript-code-with-objects-example.png) - -## Ejemplos - -!!! note - - **Véalo en acción!** 🎮 - Abrir los ejemplos Online. - -[![400](/ gdevelop5/events/javascripttexttospeechexample.png)](https://editor.gdevelop.io/?project=example://text-to-speech) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://text-to-speech){ .md-button .md-button--primary } - -[![400](/gdevelop5/events/platformerjavascriptblocksexample.png)](https://editor.gdevelop.io/?project=example://javascript-blocks-in-platformer) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://javascript-blocks-in-platformer){ .md-button .md-button--primary } - -## Documentación (Documentación) - -- Leé **\[the game engine documentation\]()** to get started. -- También puede navegar directamente el **\[GDJS game engine source code\]()**. - -## Ejemplos de Código - -### Lee y cambia el valor de una variable. - -``` javascript -var myVar = runtimeScene.getVariables().get("MyVar"); -var myVar2 = runtimeScene.getVariables().get("MyVar2"); - -var currentValue = myVar.getAsNumber(); -myVar.setNumber(currentValue+1); - -myVar2.setString("Hello, world"); -``` - -Véa la documentación sobre [gdjs.Variable](http://4ian.github.io/GD-Documentation/GDJS%20Runtime%20Documentation/classes/gdjs.Variable.html) and [gdjs.VariablesContainer](http://4ian.github.io/GD-Documentation/GDJS%20Runtime%20Documentation/classes/gdjs.VariablesContainer.html). - -### Mueve el objeto a la posición de otro, comprueba si el juego está mostrando el primer cuadro. - -``` javascript -const players = runtimeScene.getObjects("Player"); -const playerHitBoxes = runtimeScene.getObjects("PlayerHitBox"); -if (playerHitBoxes.length === 0 || players.length === 0) return; - -if (runtimeScene.getTimeManager().isFirstFrame()) { - playerHitBoxes[0].hide(); -} - -players[0].setX(playerHitBoxes[0].getX() - 12); -players[0].setY(playerHitBoxes[0].getY()); -``` - -Equivalent events would be: ![](/gdevelop5/events/hide-and-set-position-player-hitbox.png) - -### Cambiar la animación de acuerdo con algunas condiciones sobre el comportamiento de un objeto. - -!!! note - - En el código a continuación, usamos un comentario que se llama una anotación. - -Al escribir la **anotación **`/ **@tipo {gdjs.XXX} * /` justo antes de la declaración de una variable en JavaScript, le indica al editor de código que la variable tiene el tipo gdjs.XXX. El editor podrá asistirlo al proporcionar **autocompletar **mientras escribe (o cuando pasa el cursor una palabra). - -La mayoría de las anotaciones de tiempo no son necesarias. Los métodos que está utilizando ya son [documented](http://4ian.github.io/GD-Documentation/GDJS%20Runtime%20Documentation/) con anotaciones de tipo. Pero cuando usa una lista de objetos, es posible que desee acceder a este método específico del objeto (por ejemplo, métodos para modificar la animación de un objeto sprite). En este caso, podría escribir `/ **@type {gdjs.SpriteRuntimeObject} * /`. - -Si no haces esto, el código seguirá funcionando, pero el editor solo podrá proporcionarte los métodos de `gdjs.RuntimeObject` (la clase base). - -Cuando obtiene un comportamiento de un objeto, también sabe qué tipo de comportamiento está recibiendo. Deje que el editor sepa esto usando una anotación (de lo contrario, solo obtendrá el autocompletado para la clase base, `gdjs.RuntimeBehavior`). - -``` javascript -const players = runtimeScene.getObjects("Player"); -const playerHitBoxes = runtimeScene.getObjects("PlayerHitBox"); -if (playerHitBoxes.length === 0 || players.length === 0) return; - -/** @type {gdjs.SpriteRuntimeObject} */ -const player = players[0]; - -/** @type {gdjs.PlatformerObjectRuntimeBehavior} */ -const platformerBehavior = playerHitBoxes[0].getBehavior("PlatformerObject"); - -if (platformerBehavior.isJumping() || platformerBehavior.isFalling()) { - player.setAnimation(1); -} else if (platformerBehavior.isOnFloor()) { - if (!platformerBehavior.isMoving()) { - player.setAnimation(0); - } else { - player.setAnimation(2); - } -} - -var LEFTKEY = 37; -var RIGHTKEY = 39; -if (runtimeScene.getGame().getInputManager().isKeyPressed(LEFTKEY)) { - player.flipX(true); -} else if (runtimeScene.getGame().getInputManager().isKeyPressed(RIGHTKEY)) { - player.flipX(false); -} -``` - -Equivalent events would be: ![](/gdevelop5/events/change-animation-according-to-behavior-conditions.png) - -### Establecer la posición de la cámara en la posición de un objeto. - -``` javascript -if (!objects.length) return; - -// Aquí, "objetos" se refieren a una lista de "Jugador", que debe seleccionarse -// en la configuración de la función. - -runtimeScene.getLayer("").setCameraX(objects[0].getX()); -``` - -Este evento equivalente sería: ![](/gdevelop5/events/set-camera-x-position-x.png) - -### Desvanecer un objeto sprite después de que esté en el piso (utilizando el comportamiento del objeto Platformer) - -``` javascript -objects.forEach(object => { - /** @type {gdjs.SpriteRuntimeObject} */ - const enemy = object; - - /** @type {gdjs.PlatformerObjectRuntimeBehavior} */ - const platformerBehavior = object.getBehavior("PlatformerObject"); - - if (enemy.getAnimation() === 1 && platformerBehavior.isOnFloor() && !platformerBehavior.isMoving()) { - object.activateBehavior("PlatformerObject", false); - enemy.setOpacity(enemy.getOpacity() - 50 * object.getElapsedTime(runtimeScene) / 1000); - - if (enemy.getOpacity() === 0) { - object.deleteFromScene(runtimeScene); - } - } -}); -``` - -Los eventos equivalentes serían: ![](/gdevelop5/events/fade-out-and-behavior.png) diff --git a/docs/es/gdevelop5/events/link.md b/docs/es/gdevelop5/events/link.md deleted file mode 100644 index 267b692e2bd..00000000000 --- a/docs/es/gdevelop5/events/link.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Eventos de enlace (Link events) ---- -# Eventos de enlace (Link events) - -Los eventos de enlace son marcadores de posición. Los eventos de enlace indican a GDevelop que debe insertarse un evento externo en el enlace de marcador de posición. (Los eventos externos se pueden crear en [Administración de Proyctos](/gdevelop5/ interface/ project-manager)). - -Los eventos externos son útiles para ayudar a separar la lógica de tu juego en múltiples hojas de eventos. Las hojas de eventos externos mejoran la organización de tus eventos de juego. También proporcionan una buena manera de compartir eventos comunes entre tus escenas. - -Al agregar un evento de enlace, haga clic en "\" para que se muestre un menú desplegable donde puede elegir los eventos externos que le gustaría incluir. ![](/gdevelop5/events/externalevents1.png) ![](/gdevelop5/events/externalevents2.png) - -![](/gdevelop5/events/linkingexternalevents.png) - -## Ejemplos - -!!! note - - **Vélo en acción!** 🎮 - - Abra los ejemplos Online. - -[![](/gdevelop5/events/asteroidexternalexample.png)](https://editor.gdevelop.io/?project=example://asteroids) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://asteroids){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/platformerbehavior.png)](https://editor.gdevelop.io/?project=example://platformer) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://platformer){ .md-button .md-button--primary } diff --git a/docs/es/gdevelop5/events/repeat.md b/docs/es/gdevelop5/events/repeat.md deleted file mode 100644 index e757a16db7e..00000000000 --- a/docs/es/gdevelop5/events/repeat.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Repetir eventos (Repeat events) ---- -# Repetir eventos (Repeat events) - -Los eventos repetidos funcionan como el estándar [eventos](/gdevelop5/ events), pero se repiten varias veces seguidas antes de continuar con el siguiente evento en la lista. Los eventos que siguen no se ejecutan hasta que se alcanza el número de repeticiones. - -Tenga en cuenta que este recuento puede ser una expresión. Eso significa que puedes hacer que el número de repeticiones varíe según lo que haga el jugador. Por ejemplo, puede crear un número diferente de enemigos según el conteo de vida, la posición, etc. de un objeto. También puede crear un número aleatorio de objetos en la escena (consulte el ejemplo a continuación). - -![](/gdevelop5/events/repeat-example.png) - -## Ejemplos - -!!! note - - **Véalo en acción!** 🎮 - - Abre estos ejemplos Online. - -**Diagonales (Diagonals)** - -[![](/gdevelop5/events/diagonals.png)](https://editor.gdevelop.io/?project=example://find-diagonals) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://find-diagonals){ .md-button .md-button--primary } - -**Laser** - -[![](/gdevelop5/events/laser.png)](https://editor.gdevelop.io/?project=example://zombie-laser) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://zombie-laser){ .md-button .md-button--primary } diff --git a/docs/es/gdevelop5/events/standard.md b/docs/es/gdevelop5/events/standard.md deleted file mode 100644 index e9f163ef734..00000000000 --- a/docs/es/gdevelop5/events/standard.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Eventos estandar (Standard events) ---- -# Eventos estandar (Standard events) - -Los [eventos](/gdevelop5/ events) más comunes utilizados en GDevelop son los eventos estándar: - -Desde el Editor de "Escena", seleccione y haga clic en la pestaña Editor de "Escena (Eventos)". Es la pestaña que se encuentra arriba ya la derecha de la escena. - -![](/gdevelop5/events/eventseditortab.png) - -Los eventos se componen de una lista de "condiciones" que se muestran en el lado izquierdo de la pantalla y una lista de "acciones" que se muestran en el lado derecho de la pantalla. Cuando todas las condiciones de la izquierda son verdaderas, se ejecutan las acciones de la derecha. Si una condición de la izquierda no es verdadera, las otras condiciones y acciones en el evento no se ejecutan. - -![](/gdevelop5/events/eventconditiontf.jpg) - -## Ejemplo - -Aquí hay un evento que destruirá el objeto "Cuadrado" cuya posición X es inferior a 100 píxeles: - -![](/gdevelop5/tutorials/delete-square-condition.png) - -Si aún no está seguro de cómo funcionan los eventos, eche un vistazo a [esta página](/gdevelop5/tutorials/basic-game-making-concepts). diff --git a/docs/es/gdevelop5/events/while.md b/docs/es/gdevelop5/events/while.md deleted file mode 100644 index e78eea4a279..00000000000 --- a/docs/es/gdevelop5/events/while.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Mientras eventos (While events) ---- -# Mientras eventos (While events) - -Mientras que los eventos son un tipo especial de [evento](/gdevelop5/ eventos): mientras las condiciones // ` While ` sean verdaderas, el evento se repite sin interrupción (es decir, los siguientes eventos **no se ejecutan **y la pantalla **no **se actualiza). - -![](/gdevelop5/events/whileevent.png) - -Mientras que los eventos generalmente no son necesarios, pero estos eventos se pueden usar para repetir acciones siempre que la condición sea verdadera. El evento While es útil en algunos algoritmos que quizás quieras crear en tu juego. - -## Ejemplos - -!!! note - - **Véslo en acción!** 🎮 - - Abra estos ejemplos Online. - -[![](/gdevelop5/behaviors/spaceshooter.png)](https://editor.gdevelop.io/?project=example://asteroids) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://asteroids){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/pathfindinggeneral.png)](https://editor.gdevelop.io/?project=example://pathfinding) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://pathfinding){ .md-button .md-button--primary } diff --git a/docs/es/gdevelop5/extending-gdevelop.md b/docs/es/gdevelop5/extending-gdevelop.md deleted file mode 100644 index a62001dd07b..00000000000 --- a/docs/es/gdevelop5/extending-gdevelop.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Extendiendo GDevelop ---- -# Extendiendo GDevelop - -GDevelop es modular. Puede extenderse para adaptarse a sus necesidades. En particular, todas las funciones disponibles para los juegos: objetos, comportamientos y eventos se basan en un sistema de extensión. Como GDevelop es [open-source](https://github.com/4ian/GD), puede contribuir a las extensiones existentes o puede crear nuevas. - -Debido a que el editor es de código abierto, también es posible ver el código fuente y mejorarlo. - -## Extensiones para el motor del juego. - -Todas las características proporcionadas por el motor del juego se basan en el núcleo del motor del juego (GDJS) y las extensiones. - -➡️Si desea crear extensiones, lea **[https://github.com/4ian/GD/blob/master/newIDE/README-extensions.md. Esta página sobre cómo crear y desarrollar extensiones para GDevelop](https://github.com/4ian/GD/blob/master/newIDE/README-extensions.md. Esta página sobre cómo crear y desarrollar extensiones para GDevelop) **. - -Necesitará Node.js para comenzar y un conocimiento rudimentario de JavaScript. - -## Mejorar el editor - -El editor también se basa en JavaScript, y puede modificarlo y mejorarlo fácilmente. - -➡️Lea [esta página para comenzar a trabajar en el editor](https://github.com/4ian/GD/blob/master/newIDE/README.md). - -Necesitará Node.js para comenzar y conocer JavaScript. También es una buena idea leer tutoriales sobre React.js, ya que todo el editor se basa en él para la modularidad y el rendimiento. diff --git a/docs/es/gdevelop5/getting_started/index.md b/docs/es/gdevelop5/getting_started/index.md deleted file mode 100644 index a8c0ec00884..00000000000 --- a/docs/es/gdevelop5/getting_started/index.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Introducción a GDevelop ---- -# Introducción a GDevelop - -GDevelop es una herramienta de creación de juegos gratuita, de código abierto y multiplataforma que cualquiera puede usar para crear juegos sin conocimientos de programación. - -Esta guía explica cómo empezar a trabajar con GDevelop. - -## Paso 1: instala GDevelop - -GDevelop está disponible para todos los principales sistemas operativos, incluidas las últimas versiones de Windows, macOS y Linux. Para descargar GDevelop, visita gdevelop.io/download . - -Las instrucciones de instalación dependen del sistema operativo. - -* **Windows**: haz doble clic en el ejecutable. Esto instala GDevelop, inicia la aplicación y agrega un icono al escritorio. -* **macOS**: - * Abre el archivo DMG. - * Arrastra “GDevelop.app” al directorio “~/Applications”. -* **Linux**: - * Abre una terminal. - * Haz que el archivo AppImage sea ejecutable escribiendo //chmod a+x GDevelop*.AppImage//. - - * Ejecútalo: ///GDevelop*.AppImage// (o haz doble clic en el archivo). - -!!! note - - Hay una versión en línea de GDevelop disponible en [editor.gdevelop.io](https://editor.gdevelop.io/). Sin embargo, en general, recomendamos utilizar la versión de escritorio. - -## Paso 2: crea un nuevo proyecto - -1. Inicia GDevelop. -2. Haz clic en **Crear un nuevo proyecto**. -3. Elige una ubicación para el proyecto. -4. Selecciona uno de los proyectos de la pestaña **Principiantes**, como **Platformer** o **Space Shooter de 8 bits**, o comienza un juego desde cero seleccionando el proyecto **Vacío**. - -![](/es/gdevelop5/2.png) - -Los proyectos de la pestaña **Principiantes** muestran cómo crear juegos completos, mientras que los proyectos de la pestaña **Ejemplos** muestran cómo crear funciones específicas. - -## Paso 3: vista previa del juego - -Si un proyecto tiene al menos una escena, lo que todos los proyectos iniciales hacen, entonces hay disponible un botón de **Vista previa** en la barra de herramientas. Este botón lanza una vista previa del juego. - -![](/gdevelop5/getting-started-preview-button.jpg) - -## Próximo paso - -Lee el [Tutorial de Platformer](/gdevelop5/tutorials/platformer). Aprenderás a crear un juego de plataformas desde cero y descubrirás muchos de los conceptos fundamentales de GDevelop, como objetos, eventos y expresiones. - - - - - diff --git a/docs/es/gdevelop5/getting_started/open-gdevelop-4-project.md b/docs/es/gdevelop5/getting_started/open-gdevelop-4-project.md deleted file mode 100644 index eaf7ae73137..00000000000 --- a/docs/es/gdevelop5/getting_started/open-gdevelop-4-project.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Abra un juego hecho con Gdevelop 4 ---- -# Abra un juego hecho con Gdevelop 4 - -Gdevelop 5 se basa en el mismo motor que Gdevelop 4 y los juegos son compatibles. Aunque debe asegurase de que: - -* Su juego en Gdevelop 4 este basado en la plataforma HTML5, los juegos nativos no son compatibles por ahora con Gdevelop 5 . -* Algunas extensiones / características aún no son compatibles con GDevelop 5. - -Para abrir su juego con GDevelop 5, ábralo con GDevelop 4 y guárdelo como un archivo json: - -* En el menú de arriba, en la parte superior izquierda, elija **Archivo\> Guardar como ...**. * Elija una carpeta, luego ingrese un nombre de archivo que termina por **.json**, Por ejemplo: - -![](/gdevelop5/getting_started/screenshot_2017-12-25_23.14.09.png) - -Haga clic en Guardar. Ahora puede abrir este archivo con GDevelop 5. - -Asegúrese de **verificar que todo funcione **antes de continuar creando su juego con GDevelop 5. diff --git a/docs/es/gdevelop5/index.md b/docs/es/gdevelop5/index.md deleted file mode 100644 index d1a8e253d54..00000000000 --- a/docs/es/gdevelop5/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Documentación de GDevelop 5 ---- -# Documentación de GDevelop 5 - -GDevelop es una herramienta de creación de juegos gratuita, de código abierto y multiplataforma que cualquiera puede usar para crear juegos sin conocimientos de programación. Esta wiki contiene todo lo que se necesita saber para crear juegos con GDevelop, incluso aunque nunca hayas creado un juego antes. - -![](/gdevelop5/interface/scene-editor/pasted/20200628-132624.png) - -## Próximos pasos - -* Si no has instalado GDevelop, lee la [Introducción a GDevelop](http://wiki.compilgames.net/doku.php/es/gdevelop5/getting_started). -* Si nunca antes has creado un juego, lee la [Guía de conceptos básicos de creación de juegos.](http://wiki.compilgames.net/doku.php/es/gdevelop5/tutorials/basic-game-making-concepts) -* Si estás listo para comenzar a crear un juego, explora los [tutoriales](http://wiki.compilgames.net/doku.php/es/gdevelop5/tutorials). \ No newline at end of file diff --git a/docs/es/gdevelop5/interface/debugger.md b/docs/es/gdevelop5/interface/debugger.md deleted file mode 100644 index 89dfd6b874d..00000000000 --- a/docs/es/gdevelop5/interface/debugger.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: Depurador del juego y perfilador ---- -# Depurador del juego y perfilador - -El **depurador (debugger)** es una herramienta que te permite inspeccionar el contenido de tu juego. En particular, puede inspeccionar variables globales, variables de escena y variables de instancias de sus objetos. Es una herramienta poderosa. - -Puedes pausar el juego en cualquier momento. Usar el depurador es una excelente manera de entender por qué algo no funciona como es debido o para hacer pruebas rápidas en el juego. - -El *generador de perfies (profiler)* es una herramienta que mide el tiempo empleado en diferentes partes del motor mientras se ejecuta el juego. Ayuda a encontrar cuellos de botella o eventos que podrían requerir muchos recursos en su juego. [Lea más sobre el uso del generador de perfiles aquí!](/gdevelop5/interface/debugger/profile-your-game) - -!!! note - - Esta es una característica avanzada de GDevelop. Si lo usa, nos gustaría que muestre su soporte para GDevelop al [obtener una suscripción](/gdevelop5/interface/profile)! - -![](/gdevelop5/interface/gdevelop-debugger_2x.png) - -## Ejecutar el depurador (Launch the debugger) - -Para iniciar el depurador, en la barra de herramientas de un editor de escenas, haga clic en el ícono "Depurar". - -![](/gdevelop5/interface/debug-icon_2x.png) - -En el menú, seleccione "Vista previa con depurador y perfilador de rendimiento". Esto abrirá una nueva pestaña llamada "Depurador" y también lanzará una vista previa de tu juego como siempre. - -Tenga en cuenta que incluso si cierra la vista previa, puede dejar abierta la pestaña del depurador. De esta forma, cualquier vista previa que inicie (con el botón Vista previa habitual) se conectará al depurador. - -Cuando el juego se acaba de lanzar, el depurador está vacío: - -![](/gdevelop5/interface/empty-debugger_2x.png) - -Haga clic en "**Actualziar**" en cualquier momento para obtener los datos del juego. - -![](/gdevelop5/interface/debugger-refresh-button_2x.png) - -También puede usar el botón Pausa en la barra de herramientas. - -## Inspecciona las escenas del juego. - -Las escenas que se ejecutan actualmente se enumeran debajo del elemento Escenas en la lista: - -![](/gdevelop5/interface/inspector-list.png) - -Si hace clic en el nombre de una escena, se le mostrará a la derecha del inspector para esta escena. Este inspector contiene una capa de la escena y un botón para crear una nueva instancia de un objeto en la escena. - -### Crear una nueva instancia en la escena. - -Para crear una nueva instancia, haga clic en el nombre de la escena donde desea crear la instancia. Escriba el nombre del objeto y haga clic en Crear: - -![](/gdevelop5/interface/create-instance.png) - -La instancia se creará en la posición 0; 0, en la capa base con Z orden 0. Luego puede encontrarlo en la lista de instancias y cambiar su posición, ángulo, capa ... - -## Inspecciona y edita las instancias. - -En la lista, puede encontrar **Instancias** de cada escena en ejecución. Las instancias se agrupan por nombre de los objetos. Haga clic en el nombre de un objeto para ver la lista de instancias de este objeto que vive en la escena. Haga clic en un número de instancia para inspeccionarlo: - -![](/gdevelop5/interface/instance-inspector.png) - -El inspector muestra las propiedades generales de la instancia, por ejemplo, posición, rotación, capa ... Para cada una de estas propiedades, puede **editarlas haciendo clic en el valor**: - -![](/gdevelop5/interface/debugger-inspector-edit-value.png) - -Valide sus cambios haciendo clic en el **botón de validación** (el que tiene el icono de marca). - -También puede ver las **variables de la instancia** y modificarlas (consulte a continuación para obtener más información sobre las variables). - -## Inspeccionar y editar las variables. (Inspect and edit the variables). - -Puede verificar las variables del juego (variables globales), de una escena (variables de escena) o de una instancia particular de un objeto (variables de instancia). - -Para hacer esto, en la lista, haga clic en **Variables globales**, **Variables de escena** o el número de instancia que desea inspeccionar. - -Las variables se mostrarán en una lista que muestra el nombre y los valores de la variable (ya sea un número o un texto). Aquí hay un ejemplo de una instancia de un objeto que tiene una variable "Vida": - -![](/gdevelop5/interface/instance-variables.png) - -Como otros campos, puede hacer **clic en el valor de la variable** para cambiarla. Es una buena manera de ver cómo se está comportando tu juego de acuerdo con el valor de las variables y probar que tus eventos funcionan correctamente. - -Las variables también pueden ser **estructuras**, o que significa que contienen otras variables. En este caso, en lugar de ver el valor (número o texto) de la variable, verá una sub-lista que contiene las variables secundarias: - -Aquí hay un ejemplo de una variable "Opciones", que agrega variables secundarias para almacenar las opciones de un juego: ![](/gdevelop5/interface/structure-variable-inspector.png) - -También puede cambiar el valor de las variables de los niños como cualquier otro. Perfil del rendimiento de su juego. - -## Perfil del rendimiento de su juego. - -El generador de perfiles es una herramienta incluida en el depurador que mide el tiempo empleado en varias partes del motor mientras se ejecuta el juego. A continuación, se muestra un desglose de cada sección, incluidos los eventos. [Lee más sobre perfiles!](/gdevelop5/interface/debugger/profile-your-game) diff --git a/docs/es/gdevelop5/interface/events-editor.md b/docs/es/gdevelop5/interface/events-editor.md deleted file mode 100644 index 5b9ef2e726a..00000000000 --- a/docs/es/gdevelop5/interface/events-editor.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Editor de Eventos ---- -# Editor de Eventos - -Cuando abre una escena o cualquier evento externo, el editor de eventos de escena se presenta en la pestaña que se encuentra sobre la ventana de apertura. - -![](/gdevelop5/interface/sceneeventstab.png) - -El Editor de eventos es donde se agregan los eventos que crean el juego real. Permite a los jugadores jugar e interactuar con tu juego. El editor de eventos es una herramienta que te da el poder de programar visualmente tu juego. No tienes ninguna experiencia en programación o codificación. *Cualquiera puede hacer un juego en GDevelop!* - -Para cambiar el [Editor de Escena (Scene editor)](/gdevelop5/interface/scene-editor) y el editor de eventos, use las pestañas en la parte superior de la ventana. ![](/gdevelop5/scene-events-tab.png) - -Cuando cambie al editor de Eventos, verá que la barra de herramientas ha cambiado. Ahora hay un conjunto diferente de herramientas disponibles: ![](/gdevelop5/events-editor-toolset.png) - -## Agregar Evento Agregar un evento haciendo clic en el botón "agregar evento". ![](/gdevelop5/add-event-button.png) - -Cuando haga clic en este botón, aparecerá un evento en blanco en la pantalla de abajo en el editor. ![](/gdevelop5/blank-event.png) - -Puede agregar el editor de eventos a cualquier número de bloques de eventos. Cada evento puede tener diferentes condiciones y acciones. Una vez que agrega un evento, puede usar las condiciones y acciones para crear la lógica del juego. Conozca más sobre los eventos, en esta página: [](/gdevelop5/eventos). - -## Añadir sub evento Al hacer clic en el botón Agregar subevento, puede agregar un bloque de "evento secundario" al evento seleccionado. ![](/gdevelop5/sub-event-button.png) - -Después de hacer clic en el botón, aparece un evento subs en blanco debajo de nuestro evento seleccionado. ![](/gdevelop5/blank-sub-event.png) - -*Los eventos secundarios se ejecutan solo si las condiciones del evento principal son verdaderas.*. Los eventos secundarios proporcionan una manera de evitar repetir las mismas condiciones. Hacen la lógica mucho más fácil de leer. - -## Añadir un comentario Al hacer clic en el botón Agregar comentario, puede agregar comentarios a los eventos. Los comentarios nos ayudan a recordar lo que hacen los eventos. ![](/gdevelop5/add-comment-button.png) - -Los comentarios son una parte importante de cualquier juego o aplicación. Le ayudan a organizar y recordar exactamente lo que está logrando el evento y la lógica de acción. ![](/gdevelop5/comment-in-editor.png) - -## Añadir eventos especiales Al hacer clic en el botón Agregar un evento, junto con los que ya mencionamos, tenemos acceso a algunos eventos especiales. ![](/gdevelop5/add-special-events.png) - -Lee [la ayuda sobre eventos](/gdevelop5/la ayuda sobre eventos) para aprender más. - -## Eliminar eventos seleccionados - -Al hacer clic en el botón Eliminar eventos seleccionados, los eventos seleccionados se eliminarán de la hoja de eventos (también puede presionar la tecla Eliminar): ![](/gdevelop5/delete-selected-events-button.png) - -## Deshacer / Rehacer cambios (Undo/Redo changes) Cualquier cambio se puede deshacer o aplicar nuevamente con estos botones (o los accesos directos habituales): ![](/gdevelop5/undo-redo-buttons.png) - -## Buscar en eventos (Search in events) El botón "buscar en eventos" abre un panel en la parte inferior de la pantalla. Allí, puede buscar un término específico en los parámetros de las condiciones y acciones. También puede ingresar un parámetro de reemplazo y reemplazar todas las apariciones del texto en los eventos. - -![](/gdevelop5/search-events-button.png) diff --git a/docs/es/gdevelop5/interface/index.md b/docs/es/gdevelop5/interface/index.md deleted file mode 100644 index 8721496c81f..00000000000 --- a/docs/es/gdevelop5/interface/index.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Interfaz de GDevelop ---- -# Interfaz de GDevelop - -La interfaz de trabajo de GDevelop se basa en editores que se muestran en pestañas. Estos editores te permiten cambiar diferentes partes de tu juego. - -![](/gdevelop5/screen_shot_2017-09-18_at_01.30.20.png) - -## Página de inicio - -La pantalla de inicio se muestra la primera vez que inicia GDevelop. Es aquí donde podrá crear sus proyectos, cargar proyectos guardados anteriormente o cargar tutoriales. - -![](/gdevelop5/gdevelop5startpage.png) - -Al inicio, GDevelop buscará nuevas actualizaciones. Si hay una nueva actualización disponible, la actualización se descargará automáticamente. - -Puedes ver [el progreso haciendo clic en Acerca de GDevelop](/gdevelop5/interface/updates). - -## Administrador de proyecto - -Cuando se abre un proyecto, puede hacer clic en el botón superior izquierdo para acceder al administrador del proyecto. ![](/gdevelop5/project-manager-button.png) - -El jefe de proyecto muestra la estructura de tu juego: ![](/gdevelop5/project-manager-tab.png) - -Usando el administrador de proyectos, puedes agregar nuevos elementos a tu juego y abrir editores. Obtenga más información sobre [el contenido del administrador del proyecto aquí.](/gdevelop5/interface/project-manager). - -## Editor de Escena - -Al abrir una escena (o un diseño externo), se abre un editor de escenas. Aquí es donde puedes diseñar y construir tus niveles de juego y menus creando y agregando objetos a la escena. - -[Aprende más sobre el uso de editores de escenas](/gdevelop5/interface/scene-editor). - -## Editor de Eventos - -Al abrir una escena (o al abrir eventos externos), también se abre un editor de eventos. Aquí es donde puedes usar los eventos para crear el juego real y permitir que los jugadores interactúen con tu juego y lo jueguen. El editor de eventos es una herramienta que te permite programar visualmente tu juego sin ningún conocimiento de programación o experiencia requerida para que cualquier persona con antecedentes pueda hacer un juego en GDevelop. - -Aprenda más sobre [su uso en esta página](/gdevelop5/interface/events-editor) o consulta [la ayuda sobre eventos](/gdevelop5/events). - -## Mejores menús - -El menú en la parte superior de la pantalla (solo en la versión de escritorio) le permite abrir, guardar y [publicar un juego](/gdevelop5/publishing). - -También puede abrir las preferencias de GDevelop o ver [el perfil asociado con su cuenta de GDevelop.](/gdevelop5/interface/profile). diff --git a/docs/es/gdevelop5/interface/profile.md b/docs/es/gdevelop5/interface/profile.md deleted file mode 100644 index 830eed210b4..00000000000 --- a/docs/es/gdevelop5/interface/profile.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Mi perfil ---- -# Mi perfil - -Se necesita una cuenta de GDevelop para algunas funciones, especialmente la exportación con un solo clic de su juego para Android e iOS, Windows, macOS y Linux. - -Si no tiene una cuenta, cree una gratis: en el menú Archivo (en Windows y Linux) o en el menú GDevelop (en macOS), seleccione "Mi perfil": - -![](/gdevelop5/interface/my-profile-menu.png) - -En la ventana, puede ver su perfil (o crear uno si no tiene una cuenta) y también ver los últimos usos que ha hecho sobre los servicios en línea. - -## Crear una cuenta - -Si no tienes una cuenta, puedes crear una gratis: - -![](/gdevelop5/interface/create-account.png) - -Selecciona/Click en **Crear mi cuenta**. Introduce tu e-mail y crea una contraseña. - -![](/gdevelop5/interface/login.png) - -Una vez que haya iniciado sesión, puede ver su perfil y puede usar los servicios específicos de GDevelop, como empacar su juego para Android en un solo clic. - -## Obtener una suscripción - -De forma predeterminada, las cuentas son gratuitas y no hay límites en los juegos que creas con GDevelop. Algunos servicios en línea son limitados, ya que dependen de servidores que pueden ser costosos. En particular, con una cuenta gratuita puedes hacer 2 paquetes para Android todos los días. - -Al obtener una suscripción, desbloqueará más paquetes (y en el futuro más paquetes con un solo clic para iOS, Windows, macOS y Linux). También apoyará el desarrollo futuro de GDevelop. ✨ Note: 7 EUROS = approximately \$8. 2EUROS = approximately \$2.30 (use a Currency Calculator to find the most current amount in USA dollars.) - -Una vez que haya iniciado sesión, haga clic en el botón **"Choose a subscription"** : - -![](/gdevelop5/interface/choose-subscription-button.png) - -Podrás ver una descripción de cada plan disponible. Elija el que se adapte a sus necesidades: - -![](/gdevelop5/interface/subscription-plans.png) - -Una vez que haya hecho clic en **Elegir el plan**, se le pedirá su número de tarjeta de crédito para que la suscripción se pueda pagar cada mes. El pago se realiza y se protege con [Stripe.com](https://stripe.com), que es el nuevo estándar en pagos en línea. Todo está asegurado y manejado por la infraestructura de Stripe. - -## Cambiando tu suscripción - -Si desea actualizar su suscripción, ya sea para actualizar a una suscripción con más envases o para una suscripción que sea más barata, simplemente abra su perfil y haga clic en **Actualizar / Cambiar (Upgrade/Change)**. - -¡El próximo pago se adaptará automáticamente a su nueva suscripción! - -## Cancelando tu suscripción - -La cancelación de su suscripción en cualquier momento es fácil: abra su perfil y haga clic en **Actualizar / Cambiar**. Elija una suscripción gratuita y su suscripción actual se detendrá, y no se requerirá ningún nuevo pago. - -Si lo desea, puede suscribirse nuevamente a otra suscripción. En cualquier caso, ¡no perderás nada de tu juego o trabajo! diff --git a/docs/es/gdevelop5/interface/project-manager.md b/docs/es/gdevelop5/interface/project-manager.md deleted file mode 100644 index e5a7c19194a..00000000000 --- a/docs/es/gdevelop5/interface/project-manager.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Administrador de Proyecto ---- -# Administrador de Proyecto - -Cuando se abre un proyecto, puede hacer clic en el botón superior izquierdo de la barra de herramientas para acceder al administrador del proyecto. ![](/gdevelop5/project-manager-button.png) - -El jefe de proyecto muestra la estructura de todo tu juego. - -![](/gdevelop5/interface/projectmanager2.png) - -Puede plegar y desplegar cada categoría haciendo clic en la flecha pequeña al lado de cada categoría.![](/gdevelop5/interface/dropdownarrowforcollapsibles.jpg) - -También puede configurar los iconos de Escritorio (Windows, MacOS, Linux), Android y / o iOs para su juego. - -- **Configuración del Juego:**aquí es donde puedes personalizar la configuración global del juego. Cosas como el tamaño predeterminado de la ventana del juego o el nombre del paquete para Android e iOS. También puedes [configurar los iconos de escritorio (Windows, MacOS, Linux) , Android, and/or iOs para tu juego](/gdevelop5/interface/project-manager/icons). - -  - -- **Escenas:** las escenas están compuestas de diferentes pantallas y niveles en tu juego. Todo en GDevelop es creado en [escenas](/gdevelop5/interface/scene-editor). Todas las pantallas de tu juego están creadas aquí. Las escenas incluyen pantallas como el menú principal, la pantalla de bienvenida, la pantalla de créditos. - -  - -- **Eventos Externos:**Para hacer que el desarrollo de su juego sea más flexible puedes usar los [eventos externos](/gdevelop5/interface/events-editor). A continuación, puede vincular a "Eventos externos" cuando los necesite. Si está familiarizado con la programación, piense en "Eventos externos" como métodos. Si no está familiarizado con el término, recuerde que si necesita usar una colección de eventos a menudo y en diferentes lugares, puede hacerlos externos y llamarlos desde sus escenas en lugar de agregar los mismos eventos varias veces. - -  - -- **Diseños Externos:**• similares a los eventos, puede diseñar a menudo. Usado repetidamente diseños externos para ser cargados en sus escenas. - -## Menú de Archivo - -En la versión **Escritorio**, el menú Archivo le permite guardar su juego, abrir otro o cerrarlo. También puedes [exportar tu juego](/gdevelop5/publishing). ![](/gdevelop5/file-menu.png) - -En la **Aplicación Web (Web App)**, estas opciones están en la parte superior del administrador del proyecto. ![](/gdevelop5/web-project-manager-tab.png) diff --git a/docs/es/gdevelop5/interface/scene-editor.md b/docs/es/gdevelop5/interface/scene-editor.md deleted file mode 100644 index 2fa564f99b0..00000000000 --- a/docs/es/gdevelop5/interface/scene-editor.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: Editor de Escena ---- -# Editor de Escena - -Al abrir una escena (o un diseño externo), se abre el editor de escenas. - -![](/gdevelop5/interface/sceneeditoropens.png) - -El editor de escenas es donde puedes diseñar y construir tus niveles de juego, tus menús, tus inventarios o cualquier otra cosa que inspire tu imaginación. El Editor de escenas le permite crear y agregar objetos a la escena / pantalla. El juego y las reglas del juego se pueden crear usando eventos en el [Editor de Eventos](/gdevelop5/interface/events-editor) de Escena. - -Hay una serie de herramientas y editores disponibles en la barra de herramientas superior del editor de escenas. ![](/gdevelop5/scene-editor-toolset.png) - -## Editor de Objetos You will find the Objects Editor on the right side of the Scene Editor's interface. Aqui puedes ver todos los [los Objetos](/gdevelop5/objects) usados en tu escena. También puede agregar nuevos objetos utilizando el Editor de objetos. ![](/gdevelop5/objects-manager-tab.png) - -Si cierra el panel Editor de objetos, puede volver a abrirlo utilizando este botón en la barra de herramientas: ![](/gdevelop5/objects-manager-button.png) - -Lee sobre las [funciones genéricas disponibles para todos los objetos](/gdevelop5/objects/base_object) y luego observa el [la ayuda sobre los tipos de objetos](/gdevelop5/objects) para aprender más sobre los diferentes tipos de objetos que puedes usar en tu juego. - -## Propiedades de Objetos - -Puede encontrar el editor de propiedades del objeto en el lado izquierdo de la interfaz del editor de escenas. Si el Editor de propiedades del objeto no está visible, cierre el Administrador de proyectos. Luego, selecciona un objeto en tu escena. El Editor de propiedades del objeto se abrirá a la izquierda. ![](/gdevelop5/object-properties-bar.png) - -El uso del Editor de propiedades le permite cambiar las propiedades del objeto de escena seleccionado. Cosas como la posición de un objeto, la escala y el orden Z se pueden cambiar usando el Editor de propiedades. Puedes informarte más acerca de las [propiedades de objeto en esta página](/gdevelop5/objects/base_object). - -Si ha cerrado este panel, puede abrirlo nuevamente haciendo clic en el botón en la barra de herramientas: ![](/gdevelop5/object-properties-button.png) - -**Nota:** los paneles de GDevelop se pueden mover arrastrándolos a cualquier lugar que desee. Simplemente arrastre el panel usando la barra de título. Como ejemplo, si el Panel de propiedades del objeto se abre en el lado derecho de la pantalla y prefiere colocarlo en el lado izquierdo de la pantalla, simplemente arrástrelo a su lugar con la barra de título. - -## Editor de Grupos de Objetos - -En el editor de Grupos de objetos, puede encontrar la lista de grupos de objetos que están presentes en la escena. ![](/gdevelop5/objects-groups-editor.png) - -Para abrir el editor, haga clic en este botón en la barra de herramientas: ![](/gdevelop5/objects-groups-editor-button.png) - -Los grupos de objetos contienen objetos y se pueden usar en eventos para referirse a múltiples objetos, usando un solo evento. características comunes para todos los objetos. Lea más sobre ellos en la página sobre [características comunes para todos los objetos.](/gdevelop5/objects/base_object). - -## Editor de Instancias - -El editor de instancias muestra la lista de todas las instancias del objeto que viven en la escena. Se puede usar para seleccionar cualquier instancia de la lista para ver la posición, el ángulo, la capa y el orden de la instancia en la escena. ![](/gdevelop5/instances-editor.png) - -Puede abrir el editor de instancias haciendo clic en este botón en la barra de herramientas: ![](/gdevelop5/instances-editor-button.png) - -## Editor de Capas - -Por defecto, cada escena de GDevelop viene con una sola capa llamada "Capa base". Aquí es donde todos los objetos se encuentran en nuestra escena. Podemos agregar más capas para varios propósitos y poner cualquier instancia en cualquier capa. Por ejemplo, puede haber una capa para mostrar los controles en la pantalla. Puede haber otra capa para mostrar un menú. Otra capa más puede ser un mapa del juego o un fondo. - -El editor de capas muestra la lista de capas en la escena y le permite agregar nuevas, cambiar su orden, alternar su visibilidad en la pantalla o eliminarlas por completo. ![](/gdevelop5/layers-editor.png) - -Puede abrir el editor de capas haciendo clic en este botón en la barra de herramientas: ![](/gdevelop5/layers-editor-button.png) - -## Otras Herramientas - -### Palanca (Toggle)/Editor de Cuadricula (grid) - -Al hacer clic en el botón de cuadrícula en la barra de herramientas, obtendrá múltiples opciones: ![](/gdevelop5/toggle-grid-button.png) - -* **Máscara de Palanca (Toggle mask)**: esta opción muestra u oculta un borde negro en la escena. Representa el tamaño de la ventana del juego. * **Palanca de Cuadrícula (Toggle grid):** esta opción activa o desactiva la cuadrícula en el editor de escenas. Tener una cuadrícula es útil cuando necesitamos colocar objetos con precisión. * **Configuración de Cuadrícula (Setup grid):** esta opción abre una ventana que le permite configurar el tamaño y la posición de la cuadrícula. - -### Cambiar editor de zoom - -Al hacer clic en el botón de zoom, puede cambiar el nivel de zoom dentro del editor de escenas: ![](/gdevelop5/toggle-zoom-button.png) - -## Lanzar una vista previa de la escena - -Al hacer clic en el botón Vista previa, puede iniciar una vista previa de su juego! - -![](/gdevelop5/preview-button.png) - -La vista previa se abrirá en una ventana separada. - -## Iniciar una vista previa de la red (vista previa a través de WiFi / LAN) - -Al hacer clic en el botón "Vista previa de la red (Vista previa a través de WiFi / LAN)", puede obtener una vista previa del juego en dispositivos móviles (o cualquier otra computadora) conectados a la misma red que el editor: - -![](/gdevelop5/interface/preview-wifi-button.png) - -Después de hacer clic en el botón, aparecerá una ventana que muestra la vista previa de la dirección que se está iniciando en: ![](/gdevelop5/preview-wifi-window.png) - -Ahora puede ingresar la dirección dada en el navegador de su teléfono inteligente (o en el otro navegador de su computadora). La vista previa se cargará: - -![](/gdevelop5/interface/preview-wifi-running.png) - -Nota: Puedes cerrar la ventana emergente en el editor y continuar editando su juego. Si inicia una nueva vista previa, los dispositivos móviles y cualquier computadora conectada actualizarán automáticamente el juego para mostrar los cambios realizados. - -### Lanzar una vista previa con el depurador - -El depurador es una herramienta que se puede usar para inspeccionar el contenido de tu juego (valores de variables, instancias existentes y sus propiedades ...) e incluso realizar algunas ediciones en tiempo real. - -Puedes ejecutar el depurador usando este ícono: - -![](/gdevelop5/interface/debugger-button.png) - -[Vea esta página](/gdevelop5/interface/debugger) para saber más acerca del uso del depurador. diff --git a/docs/es/gdevelop5/interface/updates.md b/docs/es/gdevelop5/interface/updates.md deleted file mode 100644 index 4fd55525c9e..00000000000 --- a/docs/es/gdevelop5/interface/updates.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Buscar actualizaciones ---- -# Buscar actualizaciones - -Cuando se inicia, GDevelop busca automáticamente nuevas actualizaciones. Puede ver el progreso haciendo clic en `Acerca de GDevelop` en el[start page](/gdevelop5/interface) o en el menu. - -En la ventana Acerca de, verás si se está descargando una actualización: - -![](/gdevelop5/interface/update-being-downloaded.png) - -Cuando termine, GDevelop le informará que la actualización está lista: - -![](/gdevelop5/interface/update-downloaded.png) - -También se puede mostrar una notificación: - -![](/gdevelop5/interface/update-notification-macos.png) - -Ahora puede cerrar GDevelop y abrirlo de nuevo: se instalará la nueva actualización. Verifique nuevamente la ventana Acerca de para ver el número de versión actualizado. - -##¿Tiene un problema? Descarga de nuevo GDevelop desde el sitio web. - -Si la actualización no se puede aplicar por algún motivo, o si cree que GDevelop no funciona después de una actualización, simplemente descarga de nuevo GDevelop desde la web. [[|http://gdevelop-app.com]]. Tus preferencias no se perderán. diff --git a/docs/es/gdevelop5/objects/admob.md b/docs/es/gdevelop5/objects/admob.md deleted file mode 100644 index c344d0dc21b..00000000000 --- a/docs/es/gdevelop5/objects/admob.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: El objeto AdMob ---- -# El objeto AdMob - -El objeto AdMob admite la integración de anuncios en tu juego. A medida que se juega, se muestran los anuncios. Esto te permite ganar dinero con tus juegos. AdMob es un servicio gratuito de Google que le brinda la posibilidad de publicar anuncios. Deberá crear una cuenta de AdMob antes de utilizar el objeto AdMob de GDevelop. Enlace externo a AdMob. [Link externo a AdMob](https://www.google.com/admob/) - -![](/gdevelop5/objects/admobscene.png) - -## Cómo crear un objeto AdMob - -1. Crear una cuenta de AdMob. [Enlace externo a AdMob](https://www.google.com/admob/) -2. Cree un nuevo objeto GDevelop de la lista de objetos de escena. -3. Seleccione la opción AdMob en el panel que se muestra. - -![](/gdevelop5/objects/selectadmodobject.png) - -- El panel Propiedades / Comportamiento de AdMob se abre. - -![](/gdevelop5/objects/admodpropertiesbehaviorpanel.png) - -#### Propiedades de AdMod - -El panel de propiedades de AdMod tiene varias opciones: - -1. Nombre del objeto: el nombre que le da a su objeto AdMod. -2. Banner ID (Android): la identificación de Android que se asigna a su juego a través de admod.com. -3. Banner ID (iOS): la identificación de iOS que se asigna a sus anuncios de juegos a través de admod.com. -4. Parte inferior de la pantalla: puede configurar el banner para que esté en una posición específica en la parte inferior de la pantalla. -5. Se insertan intersticiales usando admob.com. Son banners o videos de recompensa de página completa que aparecen en los descansos de tu juego. - -Echa un vistazo a tutoriales de "Cómo crear objetos Gdevelop AdMod" en youtube. - -[External Link to Youtube - Av8r Gamez](https://www.youtube.com/watch?v=wzCKpNUwHYE) - -[External Link to Youtube - Sparkman](https://www.youtube.com/watch?v=c7BvTGo5dxE) diff --git a/docs/es/gdevelop5/objects/base_object.md b/docs/es/gdevelop5/objects/base_object.md deleted file mode 100644 index f812fa8a7c8..00000000000 --- a/docs/es/gdevelop5/objects/base_object.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: Características comunes a todos los objetos ---- -# Características comunes a todos los objetos - -En un juego de GDevelop, todo en la pantalla es un objeto. - -## Añadir un objeto al juego. - -En una escena, podemos agregar objetos simplemente haciendo clic en el botón Agregar objeto a la derecha de la lista de objetos en la parte inferior: ![](/gdevelop5/objects/add-object-button.png) - -Puede elegir entre muchos tipos diferentes de objetos, todos con propiedades y propósitos específicos: ![](/gdevelop5/objects/object-types.png) - -Dependiendo del tipo de objeto que haya seleccionado, el editor, el aspecto del objeto y las características disponibles en los eventos serán diferentes. Como el objetivo de esta página es explicar los objetos en general, no entraremos en los detalles de estas propiedades únicas para cada tipo. Puede encontrar [información detallada sobre cada tipo de objeto aquí](http://wiki.compilgames.net/doku.php/gdevelop5/objects). - -# Objetos en la escena (Objects in the scene) - -## Añadir una instancia en la escena. - -Un objeto se puede colocar en la escena seleccionando el objeto en la pestaña Objeto (hacer clic / tocar en él) y luego hacer clic en la escena para poner una instancia de ese objeto. Una instancia es básicamente una copia del objeto que vive en la escena. Cada instancia tiene sus propias variables, posición, animaciones (para objetos de sprite), contenido (para textos), etc. - -Podemos cambiar la posición de un objeto seleccionando el objeto en el editor de scripts y arrastrándolo. Podemos escalar el objeto seleccionando el objeto y arrastrando uno de los puntos de escala blanca. ![](/gdevelop5/objects/coin-selected.png) - -## Modificar propiedades. - -Cuando seleccionamos un objeto en el editor de escenas, el panel de propiedades a la izquierda muestra información sobre las instancias seleccionadas. Si no está abierto, puede volver a abrirlo haciendo clic en el botón de propiedades en la barra de herramientas: ![](/gdevelop5/objects/object-propeties-button.png) - -### Posición (Position) - -Puede establecer con precisión la posición de las instancias seleccionadas cambiando los valores de X e Y en las propiedades: ![](/gdevelop5/objects/object-position-properties.png) - -## Ángulo (Angle) - -Puede establecer el ángulo de una instancia (s) cambiando el valor del ángulo: ![](/gdevelop5/objects/object-angle-properties.png) - -El ángulo puede ser cualquier valor de 0 a 360 grados. Recuerde este diagrama para ver cuál es la orientación de un ángulo dado: ![](/gdevelop5/objects/gdevelop_co.png) - -## Orden Z (Z order) - -Puede cambiar el orden de una instancia en las propiedades: ![](/gdevelop5/objects/object-zorder-properties.png) - -El propósito del orden Z es especificar qué objeto se mostrará primero cuando las instancias se superponen. De manera más precisa, podemos controlar si el objeto está detrás de otro objeto o si está al frente configurando diferentes valores: cuando dos objetos se superponen, el objeto con un orden Z de menor valor se mostrará detrás del otro. - -Los valores pueden ser cualquier número entero, incluidos los números negativos y 0. - -![](/gdevelop5/objects/coin-bush-zorder.png) En la imagen de arriba, el orden Z del arbusto se deja 2, el orden Z de la moneda es 1 y el orden Z del arbusto de la derecha es 0. - -## Capa (Layer) - -Puede establecer la capa de una instancia: ![](/gdevelop5/objects/object-layer-properties.png) - -Por defecto, cada escena de GDevelop viene con una sola capa llamada "Capa base". Aquí es donde todos los objetos se encuentran en nuestra escena. Podemos agregar más capas para varios propósitos y poner cualquier instancia en cualquier capa. Por ejemplo, puede haber una capa para mostrar los controles en la pantalla, otra para mostrar un menú, un mapa o un fondo. - -## Posición de bloqueo / ángulo (Lock position/angle) - -Al marcar la casilla "Bloquear posición / ángulo en el editor", puede hacer que la instancia sea inamovible en el editor: ![](/gdevelop5/objects/lock-sprite.png) - -Cuando la instancia está bloqueada, ya no podemos seleccionarla en la escena. Hay ocasiones en las que hay muchos objetos que se superponen entre sí en su escena. Esto hace que sea difícil seleccionar algunos de ellos, ya que seguimos seleccionando los que no pretendemos. En tales casos, puede bloquear las instancias. - -Puede desbloquear una instancia bloqueada abriendo el panel de instancias, que muestra todas las instancias en nuestra escena y seleccionando el objeto de la lista. - -## Variables de instancia (Instance variables) - -El botón "editar variables" le permite especificar variables que son específicas de la instancia seleccionada: ![](/gdevelop5/objects/instance-variables-property.png) - -Una variable es básicamente un contenedor que contiene un valor (un número, un texto) que se puede comparar y modificar durante el juego. Hay diferentes tipos de variables en GDevelop, en particular, cada objeto puede contener variables. Cuando el juego se está ejecutando, cada instancia del objeto que vive en la escena tendrá sus propias variables. - -Las "Editar variables" le permiten especificar variables que son específicas de la instancia seleccionada. Por ejemplo, si tiene objetos que representan cuadros con oro en la escena, puede modificar la variable llamada "Oro" de cada instancia para establecer diferentes números. Luego, en los eventos, cuando el jugador colisiona con un cuadro, puedes leer el valor variable para agregarlo a la cantidad de oro del jugador. - -## Tamaño personalizado (Custom size) - -Puede cambiar el tamaño de sus objetos habilitando el tamaño personalizado en el panel de propiedades y luego ingrese las dimensiones de ancho y altura personalizadas en píxeles: ![](/gdevelop5/objects/customsize-properties.png) - -# Grupos de objetos (Object groups) - -Un grupo de objetos es un conjunto de objetos. Por ejemplo, un grupo llamado "Enemigos" puede contener el objeto "Seta", "Bomba", "Dinosaurio". Luego puede usar el nombre del grupo en los eventos para referirse a todos los objetos contenidos en el grupo. - -Esto hace posible crear eventos que se aplican a muchos objetos sin repetir eventos varias veces, lo que aumenta el rendimiento de su juego, la facilidad de mantenimiento y la legibilidad de sus eventos. - -Para abrir el Editor de grupos, haga clic en el icono de grupos en la barra de herramientas: ![](/gdevelop5/objects/groups-button.png) - -En el Editor de grupos se enumeran todos los grupos de la escena (y también los grupos globales, que están disponibles en todas las escenas del juego). Para agregar un grupo, haga clic en el botón en la parte inferior de la lista: ![](/gdevelop5/objects/add-group-button.png) - -Un nuevo grupo se agrega a los perdidos: ![](/gdevelop5/objects/group-group.png) - -* Para cambiar el nombre del grupo, haga clic derecho en el grupo y seleccione **cambiar nombre**. * Para agregar objetos al grupo, toque o haga clic en el grupo. - -En la ventana abierta para editar el grupo, haga clic en el campo inferior y seleccione un objeto (o escriba el nombre de un objeto) para agregarlo al grupo. ![](/gdevelop5/objects/edit-group.png) - -# Variables (Variables) - -Cada objeto puede contener variables, que son celdas de memoria que puede usar para almacenar información. Cuando el juego se está ejecutando, cada instancia del objeto que vive en la escena tendrá sus propias variables. - -Lee [esta página](/gdevelop5/all-features/variables) para aprender más sobre variables. - -# Temporizadores (Timers) - -Los objetos pueden mantener sus propios temporizadores, y cada temporizador será único para cada instancia del objeto que vive en la escena. Los temporizadores de objetos son útiles para crear instancias para iniciar acciones después de / cada X segundos. - -Por ejemplo, un uso clásico es simular disparos de balas. Si tiene un solo tanque en la escena, puede usar un temporizador de escena para que cada 3 segundos, este tanque pueda disparar (crear una bala) y luego reiniciar el temporizador (para que el tanque pueda disparar nuevamente). - -El problema es que si tienes 2 tanques y usas un temporizador de escena, notarás que ambos tanques disparan al mismo tiempo, porque comparten el mismo temporizador de escena. Necesitas tener dos temporizadores separados, independientes entre sí, para hacer que el segundo tanque dispare a su propio ritmo. Pero ¿y si tienes 100 tanques? No desea crear 100 temporizadores de escena, uno por instancia. - -Esto es cuando los temporizadores de objetos se están volviendo útiles: reemplace cada condición / acción usando el temporizador de escena con las condiciones / acciones para usar temporizadores de objetos. Durante el juego, GDevelop creará un temporizador dentro de cada instancia del tanque. Cuando utilizará una condición para verificar el valor de un temporizador, solo se seleccionará la instancia que tenga un temporizador que tenga un valor en segundos que sea mayor al número que ingresó. - -Puedes leer más sobre los temporizadores aquí: [](/gdevelop5/all-features/timers) - -# Editor de eventos (Events Editor) - -Puedes cambiar y manipular las propiedades de una instancia de un objeto, o de varias instancias, usando eventos durante el juego. De esto se trata la creación de juegos en GDevelop: manipular objetos en tiempo real mientras jugamos. Como el editor de eventos y eventos están fuera del alcance de esta página, consulte la página de [conceptos básicos de creación de juegos](/gdevelop5/tutorials/basic-game-making-concepts) para comenzar. - -* Todos los objetos comparten las mismas características comunes (como posición, ángulo y todo lo que está escrito en esta página), y hay muchas condiciones y acciones que puede usar para todos los objetos. -* Los objetos también pueden proporcionarle características específicas. Por ejemplo, los [Objetos Sprite (Sprite objects)](/gdevelop5/objects/sprite) pueden tener animaciones, y la animación que se está reproduciendo se puede cambiar mediante una acción. diff --git a/docs/es/gdevelop5/objects/index.md b/docs/es/gdevelop5/objects/index.md deleted file mode 100644 index 279c76a791f..00000000000 --- a/docs/es/gdevelop5/objects/index.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Objetos (Objects) ---- -# Objetos (Objects) - -Los juegos de GDevelop se basan en objetos que se muestran en la escena y se pueden animar y mover. Los diferentes tipos de objetos están disponibles y proporcionan características específicas: - -* [Características para todos los objetos (Features for all objects)](/gdevelop5/objects/base_object) -* [Objetos de Sprite (Sprite objects)](/gdevelop5/objects/sprite) -* [Objetos de Sprite de azulejos (Tiled Sprite objects)](/gdevelop5/objects/tiled_sprite) -* [Emisores de partículas (Particle emitters)](/gdevelop5/objects/particles_emitter) -* [Objetos de texto (Text objects)](/gdevelop5/objects/text) -* [Objetos de Panel Sprite ("9 parche") (Panel Sprite ("9 patch") objects)](/gdevelop5/objects/panel_sprite) -* [Objetos de entrada de texto (Text entry objects)](/gdevelop5/objects/text_entry) -* [Objetos de Shape Painter (Shape Painter objects)](/gdevelop5/objects/shape_painter) -* [Objetos AdMob (AdMob objects)](/gdevelop/objects/admob) (aún en desarrollo) diff --git a/docs/es/gdevelop5/objects/panel_sprite.md b/docs/es/gdevelop5/objects/panel_sprite.md deleted file mode 100644 index 992a0766170..00000000000 --- a/docs/es/gdevelop5/objects/panel_sprite.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: OBJETO PANEL SPRITE (9 PARCHE) (Panel Sprite ("9 patch") object) ---- -# OBJETO PANEL SPRITE (9 PARCHE) (Panel Sprite ("9 patch") object) - -Los objetos Panel Sprite se pueden utilizar para mostrar una textura con bordes repetidos o estirados. El Panel Sprite Object es útil para construir objetos que tienen un tamaño dinámico. Los ejemplos de objetos de Panel Sprite incluyen cosas como el marco de una interfaz. Las plataformas también pueden usar esta característica. - -Para usar el Panel Sprite, cree un nuevo objeto desde el panel / lista Objetos a la derecha. Una vez que haya creado el objeto, puede establecer el tamaño de los márgenes para cada borde alrededor del objeto. Los márgenes son la parte superior, la izquierda, la derecha y la parte inferior. - -## Pasos para crear un Sprite Panel - -1. Desde la lista del Editor de "Objetos" que se encuentra en el lado derecho del Editor de escenas, haga clic en el botón más para crear un nuevo sprite. - -![](/gdevelop5/objects/panelsprite-addanobject.png) - -2. Seleccione la opción "Panel Sprite" de la lista que aparece. - -  - - - - -![](/gdevelop5/objects/panelspriteselector.png) - -3. Defina las propiedades / parámetros de su objeto. - -![](/gdevelop5/objects/panelspriteselectors.png) diff --git a/docs/es/gdevelop5/objects/particles_emitter.md b/docs/es/gdevelop5/objects/particles_emitter.md deleted file mode 100644 index bd01cad24f3..00000000000 --- a/docs/es/gdevelop5/objects/particles_emitter.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: EMISOR DE PARTÍCULAS (Particles emitters) ---- -# EMISOR DE PARTÍCULAS (Particles emitters) - -!!! note - - **Véalo en acción!** 🎮 - [Preferiría ver los ejemplos de objetos emisores de partículas! Por favor, llévame allí ahora.](#Examples) - -Los emisores de partículas se utilizan para mostrar un gran número de partículas pequeñas. Simulan efectos en un juego. Algunos ejemplos de emisores de partículas son el fuego, las explosiones, el humo y el polvo. - -![](/gdevelop5/objects/particles-emitters-preview.png) - -El objeto Emisor de partículas se puede configurar con una multitud de parámetros diferentes para crear los efectos deseados. - -## Partículas de tipo (Particles kind) Para usar el Emisor de partículas, cree un nuevo objeto de la lista Objetos. Se abrirá un panel: - -![](/gdevelop5/objects/addnewobject-particlesemitter.png) - -Seleccione "Emisores de partículas" de la lista. - -Aparecerá un nuevo panel. Este panel contiene las propiedades que se pueden establecer para su emisor. Deberá desplazarse hacia abajo para ver todas las propiedades disponibles para el emisor. - -![](/gdevelop5/objects/particleemitterspanelofchoices.png) - -*Hay 3 modos de renderización disponibles para Emisores de partículas: puntos, líneas y texturas.* - -* Modo puntos, se mostrarán círculos con el tamaño especificado. -* Modo Líneas, mostrará líneas con la longitud y el grosor especificados. -* Modo texturizado, mostrará una imagen del tamaño especificado. - -## Colores (Colors) - -* Puede elegir un color de inicio para partículas y un color para atenuar. También puede elegir un valor inicial para la transparencia del objeto. - -## Dirección de emisión (Direction of emission) - -Las partículas se emitirán en la dirección representada por el ángulo de los emisores en la escena. Puede cambiar el ángulo del cono de rociado, que también se representa en el editor de escenas como dos líneas: un gran valor para este "cono de rociado" dará como resultado una emisión de partículas en un gran número de direcciones. Un valor de 0 emitirá partículas solo en una sola dirección. * Las partículas aparecen en una esfera, alrededor de la posición del objeto emisor. Puedes cambiar el radio de la esfera. * La gravedad se puede aplicar sobre partículas, en los ejes X e Y. Por ejemplo, un valor negativo en el eje Y hará que las partículas suban en el aire. * La fricción influye en la desaceleración de las partículas con el tiempo. - -## Tiempo de vida (Lifetime) - -* Cada partícula tiene un tiempo de vida limitado que se elige aleatoriamente entre dos valores. Estos dos valores pueden ser cambiados. -* La cantidad de partículas contenidas en el emisor ("tanque") puede ser ilimitada o fija a un número. Si el emisor está fijado a un número, el emisor dejará de emitir después de alcanzar el número establecido de partículas. -* El flujo es el número de partículas creadas cada segundo. Puedes ingresar -1 para disparar todas las partículas en un solo disparo. - -También puede cambiar el número máximo de partículas renderizadas por el objeto en la pantalla. Tenga en cuenta que este número cambia la memoria tomada por el emisor. *Si este número es demasiado grande, puede hacer que el juego se bloquee.* - -## Ejemplos - -!!! note - - **Véalo en acción!** 🎮 - Ábre los ejemplos Online. - -[![](/gdevelop5/objects/particleemitterexplosions.png)](https://editor.gdevelop.io/?project=example://particles-explosions) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://particles-explosions){ .md-button .md-button--primary } - -[![](/gdevelop5/objects/particleemitervarious.png)](https://editor.gdevelop.io/?project=example://particles-various-effects) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://particles-various-effects){ .md-button .md-button--primary } diff --git a/docs/es/gdevelop5/objects/shape_painter.md b/docs/es/gdevelop5/objects/shape_painter.md deleted file mode 100644 index 268de48930a..00000000000 --- a/docs/es/gdevelop5/objects/shape_painter.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: OBJETO DE FORMA PINTOR (Shape painter object) ---- -# OBJETO DE FORMA PINTOR (Shape painter object) - -!!! note - - **Véalo en acción!** 🎮 - [Prefiero ver los ejemplos de objetos de Shape Painter! Por favor, llévame allí ahora.](#Examples) - -Un objeto pintor de formas nos permite dibujar formas en nuestro juego. Puede ser útil para hacer elementos simples de interfaz de usuario (UI). El pintor de formas incluso se puede utilizar para crear un cuadro de selección. - -### Añadir un objeto de pintor de formas. - -Para agregar un objeto de "pintor de formas", cree un nuevo objeto de la lista del Editor de propiedades a la derecha de la interfaz del editor de escenas. Luego, seleccione y haga clic en el nuevo objeto, seleccione "editar objeto". En la lista que se muestra, haga clic en "Pintor de formas". Es posible que deba desplazarse hacia abajo en la lista para encontrarlo. ![add-shape-painter-object.png](/gdevelop5/objects/add-shape-painter-object.png) - -### Editar propiedades (Edit properties) - -A continuación queremos editar las propiedades del objeto. Nuevamente, desde la lista de Propiedades a la derecha, haga clic en el objeto. Seleccione "Editar objeto" en la lista emergente que se muestra. Se abre una nueva ventana. Muestra las propiedades del Objeto Pintor. ![shape-painter-properties.png](/gdevelop5/objects/shape-painter-properties.png) - -### Cambiar el color y la opacidad - -La ventana de propiedades de Shape Painter nos presenta opciones que nos permiten cambiar el color de contorno del objeto, el color de relleno / color del objeto, la opacidad de cada color / color y el tamaño del contorno de nuestro objeto. - -![change-color-of-shape-painter.png](/gdevelop5/objects/change-color-of-shape-painter.png) - -### Posición relativa del objeto (Relative object position) - -Por defecto, la posición de las formas que dibujamos en la pantalla es relativa al objeto "pintor de formas". ![shape-painter-relative-position-property.png](/gdevelop5/objects/shape-painter-relative-position-property.png) - -En el caso de una posición relativa, cuando dibujamos la forma en nuestra pantalla, esa relativa es la posición 0 en los ejes X e Y. Será la posición del objeto Pintor de formas. Es decir, si queremos dibujar una forma donde la posición de la pantalla sea de 100 píxeles en X y 100 píxeles en Y. La posición será de 100 píxeles desde el objeto pintor de formas donde sea que esté en la pantalla. - -Cuando la casilla no está marcada o sin marcar, la posición 0 en los ejes X e Y estará en la esquina superior izquierda de nuestra escena, independientemente de dónde se encuentre el objeto. - -### Dibujar una forma (Draw a shape) - -Para dibujar una forma, como de costumbre, cree un nuevo objeto utilizando el Editor de objetos. Agregue el objeto "pintor de formas" a nuestra escena. Si ejecutamos la vista previa ahora no veremos nada. El objeto del pintor de formas básicamente solo agrega la funcionalidad para el objeto. Por ahora solo tiene las propiedades / parámetros del "pintor de formas". Para dibujar una forma, necesitamos usar el editor de escenas (eventos). //Si no está familiarizado con los eventos, recomiendo revisar la página de eventos en la wiki. // - -Vayamos al Editor de Eventos de Escena para agregar un evento. Una vez que haya agregado un nuevo evento, haga clic en el texto "agregar acción". - -Encuentra los eventos para el dibujo primitivo. - -![](/gdevelop5/objects/primitivedrawingeventchoices.png) - -Podemos elegir entre 3 tipos diferentes de formas para dibujar. Círculo, línea y rectángulo. Vamos a dibujar un rectángulo en la pantalla. Seleccione el rectángulo debajo de las propiedades del dibujo. ![draw-shape-event.png](/gdevelop5/objects/draw-shape-event.png) - -En el lado derecho, seleccione el objeto de forma de pintor a utilizar. Para la posición superior izquierda ingrese 0 para X e Y. Para la posición inferior derecha ingrese 100 para X e Y. ![draw-shape-event-properties.png](/gdevelop5/objects/draw-shape-event-properties.png) - -Ahora, si iniciamos una vista previa de escena, se dibujará un rectángulo en la escena / pantalla que tiene 100 píxeles de ancho y 100 píxeles de alto. ![rectanlge-shape-painter.png](/gdevelop5/objects/rectanlge-shape-painter.png) - -Si dejamos la posición relativa habilitada, puede observar que nuestro rectángulo está en la misma posición que el objeto pintor de formas aunque el punto de origen sea 0. Ahora, si deshabilitamos esa opción y lanzamos la vista previa nuevamente, verá nuestro objeto. Se dibuja en la esquina superior izquierda de nuestra escena. - -Usando eventos también podemos cambiar cualquier propiedad de una forma sobre la marcha. - -![](/gdevelop5/objects/shapepaintereventsexample.png) - -## Ejemplos - -!!! note - - **Véalo en acción!** 🎮 - Abra estos ejemplos Online. - -[![](/gdevelop5/objects/shapepainterobject.png)](https://editor.gdevelop.io/?project=example://advanced-shape-based-painter) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://advanced-shape-based-painter){ .md-button .md-button--primary } diff --git a/docs/es/gdevelop5/objects/sprite.md b/docs/es/gdevelop5/objects/sprite.md deleted file mode 100644 index 9b3f52f9c2b..00000000000 --- a/docs/es/gdevelop5/objects/sprite.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Objetos Sprite (Sprite object) ---- -# Objetos Sprite (Sprite object) - -!!! note - - **Vélo en acción!** 🎮 - [¡Prefiero ver los ejemplos de objetos de Sprite! Por favor, llévame allí ahora.](#Examples) - -Los objetos Sprite son los objetos más utilizados en GDevelop. - -Un objeto sprite nos permite mostrar una imagen o reproducir una serie de imágenes como animación. Un objeto sprite se puede utilizar para muchas cosas en nuestros juegos. Botones, personajes y plataformas son todos considerados objetos. Cualquier cosa que se pueda representar con una imagen puede ser un objeto sprite. - -### Cómo crear un objeto sprite - -Para agregar un sprite a su escena, seleccione la opción "haga clic para agregar un objeto" que se encuentra a la derecha en la parte inferior de la lista de Objetos. - -![](/gdevelop5/objects/clicktoaddanobject.png) - -Se abrirá un nuevo panel que le presenta una lista de opciones. - -![](/gdevelop5/tutorials/platform-game/gd5_object_types1.png) - -Elige "Sprite" de la lista para crear un nuevo objeto sprite en la escena de tu juego. ![](/gdevelop5/objects/select-sprite.png) - -Una vez que hayamos creado nuestro sprite, haga clic derecho en el objeto sprite en la lista de Objetos. Seleccione "Editar objeto" en el menú emergente. Esta selección abrirá la ventana de propiedades del objeto. Las propiedades son diferentes para cada tipo de objeto. Si el objeto es un sprite, veremos algo como esto. - -![](/gdevelop5/objects/sprite-object-properties.png) - -### Agregar animacion - -A continuación, queremos hacer clic en el botón Agregar animación. ![](/gdevelop5/objects/add-animation-button.png) - -Ahora deberíamos ver de qué se trata un objeto sprite. ![](/gdevelop5/objects/animation-properties.png) - -En esta pantalla, agregamos imágenes a su objeto haciendo clic en el símbolo más. ![](/gdevelop5/objects/add-symbol.png) - -A continuación, debemos buscar en nuestra computadora una imagen y seleccionar una. Una vez hecho esto, la imagen de pesar se mostrará en la ventana. ![](/gdevelop5/objects/add-image.png) - -Si dejamos la imagen como está, nuestro objeto sprite mostrará una sola imagen cuando se agregue a nuestra escena. ¡Pero también podemos agregar imágenes adicionales para crear una animación! ![](/gdevelop5/objects/add-animation.png) - -### Nombra la animación - -También podemos nombrar la animación de arriba para que podamos referirnos a esta animación usando su nombre. ![](/gdevelop5/objects/name-animation.png) - -Si no ingresamos un nombre, necesitamos usar el número de animación para referirnos a esta animación. - -### Velocidad de la animación - -También podemos establecer la velocidad de la animación cambiando el valor con el ícono del reloj. ![](/gdevelop5/objects/set-animation-speed.png) - -El valor que ingresamos aquí es básicamente el tiempo transcurrido entre cada cuadro. 1 es 1 segundo, pero también podemos ingresar valores más pequeños, como 0.5, por ejemplo, para una reproducción más rápida. - -### Repite la animación - -Por defecto, cada animación se reproduce solo una vez, lo que significa que cuando finalice el último fotograma de la animación, se detendrá. En algunos casos, se prefiere repetir o "hacer un bucle" de la animación. Esto se hace configurando la animación en "bucle" haciendo clic en el icono de repetición. ![](/gdevelop5/objects/set-animation-loop.png) Una vez que una animación está configurada para hacer un bucle, se reproducirá continuamente. - -### Añadir animaciones múltiples - -También podemos añadir múltiples animaciones. Para agregar animaciones, haga clic en el botón "agregar animación" de la misma manera que lo hicimos la primera vez. Esta característica nos permite separar fácilmente las diferentes animaciones. ![](/gdevelop5/objects/multiple_animations.png) - -Más tarde, podemos cambiar entre las animaciones usando eventos. - -Finalmente, para guardar las propiedades del sprite, haga clic en el botón "Aplicar" ubicado en la esquina inferior derecha del panel. - -![](/gdevelop5/objects/createspriteapply.png) - -Para agregar el objeto sprite a nuestra escena, simplemente selecciónelo y haga clic en la escena para agregar una instancia del objeto a nuestra escena. - -Tu nuevo sprite ahora está completo, pero aún debes agregarlo a la escena de tu juego. Haga clic en el nuevo sprite en la lista de objetos. A continuación, haga clic en la escena donde desea agregar el sprite. Ahora verás tu sprite agregado a la escena. Puedes agregar múltiples "instancias" de tu sprite a tu pantalla de juego. Simplemente repita el proceso para agregar el primer sprite. - -
- -
- -### Más información sobre animaciones múltiples mientras usas eventos. - -El uso de eventos para cambiar la animación se puede hacer creando múltiples animaciones, como se explicó anteriormente, cada una con sus propias imágenes de entrada personal. Si configura el reloj entre 0 y 1, se asegurará de que permanezca activo cuando use eventos. - -**NOTA: A diferencia de otro software, ⇐ -1 deshabilita las acciones del evento. _No utilice valores negativos._** - -Cuando haya configurado varias animaciones para un objeto, puede usar la pestaña de eventos para '**'establecer la animación por nombre**'. Esto se controla en la sección *Agregar acción* de la condición. Permitirá cualquier condición que use en la sección de *agregar condición* para cambiar a la animación correcta cuando ocurra el evento. - -![](/gdevelop5/objects/eventanimationexample.png) - -NOTA: Como costumbre, asegúrese de agregar un nombre a su animación usando la sección de nombre en las propiedades de los objetos: - -![](/gdevelop5/objects/animationnaming.png) - -Luego ponga ese nombre dentro de la acción del evento con "" a su alrededor: ![](/gdevelop5/objects/eventanimnameexample.png) - -Para más detalles del evento, siga los [tutoriales](http://wiki.compilgames.net/doku.php/gdevelop5/tutorials). - -## Ejemplos - -!!! note - - **Véalo en acción!** 🎮 - Abra estos ejemplos en línea. - -[![](/gdevelop5/objects/createasprite.png)](https://editor.gdevelop.io/?project=example://change-scale-of-sprites) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://change-scale-of-sprites){ .md-button .md-button--primary } - -[![](/gdevelop5/objects/changespriteanimationexample.png)](https://editor.gdevelop.io/?project=example://change-sprite-animation) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://change-sprite-animation){ .md-button .md-button--primary } - -[![](/gdevelop5/objects/changespritecolorexample.png)](https://editor.gdevelop.io/?project=example://change-sprite-color) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://change-sprite-color){ .md-button .md-button--primary } - -[![](/gdevelop5/objects/changespriteanimationexample2.png)](https://editor.gdevelop.io/?project=example://play-stop-sprite-animation) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://play-stop-sprite-animation){ .md-button .md-button--primary } diff --git a/docs/es/gdevelop5/objects/text.md b/docs/es/gdevelop5/objects/text.md deleted file mode 100644 index 08e356e4625..00000000000 --- a/docs/es/gdevelop5/objects/text.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: OBJETO DE TEXTO (Text object) ---- -# OBJETO DE TEXTO (Text object) - -!!! note - - **Véalo en acción!** 🎮 - [Prefiero ver los ejemplos de objetos de texto! Por favor, llévame allí ahora.](#Examples) - -Como su nombre lo sugiere, un objeto de texto nos permite mostrar texto en la pantalla / escena. - -### Crear un objeto de texto - -Primero debemos crear un objeto de texto haciendo clic en el botón Agregar objeto en la parte inferior de la lista Objetos. Seleccione "Texto" de la lista que aparece. ![](/gdevelop5/objects/add-text-object.png) - -### Cambiando las propiedades (Change Propierties) - -A continuación desea cambiar las propiedades del objeto de texto. Haga clic con el botón derecho en el objeto Texto recién creado en la lista Objetos a la derecha. Seleccione "Editar objeto" de la lista emergente. El panel abrirá la ventana de propiedades. ![](/gdevelop5/objects/text-properties-window.png) - -### Cambiando Texto (Change Text) - -Aquí puede cambiar el texto que muestra el objeto simplemente haciendo clic en el campo de texto y escribiendo otra cosa. ![](/gdevelop5/objects/change-text.png) - -### Cambiando tamaño (Change size) - -También puede cambiar el tamaño del texto cambiando el valor al lado del campo Tamaño. ![](/gdevelop5/objects/change-size-of-text.png) - -### Cambiando Color (Change color) - -El color del texto mostrado se puede cambiar haciendo clic en el cuadrado de color de la paleta ubicado a la izquierda de la casilla de verificación "Negrita". ![](/gdevelop5/objects/change-color-of-text.png) - -### Cambiar el Esitlo de Fuente (Change the font style) - -El estilo del texto mostrado puede ser cambiado. Puede elegir entre negrita, cursiva o incluso elegir un archivo de fuente personalizado. ![](/gdevelop5/objects/change-style-of-text.png) - -Además, el texto se puede cambiar utilizando eventos. A continuación, el objeto de texto se cambia a 150 px cuando se carga la escena. - -![](/gdevelop5/objects/changetextsizeviaevents.png) - -## Ejemplos - -!!! note - - **Véalo en acción!** 🎮 - Abra ejemplos Online. - -Manipular un objeto de texto - -[![](/gdevelop5/objects/changetextexample1.png)](https://editor.gdevelop.io/?project=example://manipulate-text-object) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://manipulate-text-object){ .md-button .md-button--primary } - -Fade texto dentro y fuera. [![](/gdevelop5/objects/textfadeoutinexample.png)](https://editor.gdevelop.io/?project=example://text-fade-in-out) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://text-fade-in-out){ .md-button .md-button--primary } - -Escriba en efecto de texto. - -[![](/gdevelop5/objects/type-ontexteffectexample.png)](https://editor.gdevelop.io/?project=example://type-on-text-effect) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://type-on-text-effect){ .md-button .md-button--primary } diff --git a/docs/es/gdevelop5/objects/text_entry.md b/docs/es/gdevelop5/objects/text_entry.md deleted file mode 100644 index e8ef4c41501..00000000000 --- a/docs/es/gdevelop5/objects/text_entry.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: OBJETO DE ENTRADA DE TEXTO (Text entry object) ---- -# OBJETO DE ENTRADA DE TEXTO (Text entry object) - -!!! note - - **Vélao en acción!** 🎮 - [¡Prefiero ver los ejemplos de objetos de Sprite! Por favor, llévame allí ahora!.](#Examples) - -El objeto de entrada de texto captura la entrada del usuario y la almacena en la memoria. Puede utilizar este objeto para simular campos de entrada de texto. Por ejemplo, puede usar el objeto de entrada de texto para proporcionar una forma en que el jugador de su juego pueda ingresar su nombre o cualquier otra información. - -### Añadir objeto de entrada de texto - -Después de crear un nuevo objeto de la lista del Editor de objetos, seleccione "Entrada de texto" en la lista de opciones mostrada ![add-text-entry-object.png](/gdevelop5/objects/add-text-entry-object.png) - -Renombra el objeto de entrada de texto a lo que quieras. Agrega el objeto de entrada de texto a la escena. - -Ahora, si ejecuta una vista previa de la escena, todas las teclas que presione serán capturadas por el objeto y almacenadas en la memoria. Para leer el valor de la memoria, necesita usar una expresión como esta: TextEntry.String () (vea un ejemplo a continuación). - -### Mostrar valor usando un objeto de texto - -Primero, agrega un objeto de texto a la escena. Luego, agregue un evento para modificar el contenido del objeto de Texto: ![text-entry-object-display-value.png](/gdevelop5/objects/text-entry-object-display-value.png) - -Para el último parámetro, que es el nuevo contenido para el texto, use la expresión mencionada anteriormente: ![](/gdevelop5/objects/text-text-entry.png) - -*Tenga en cuenta que la entrada debe ser el nombre del objeto de entrada de texto. Debe reemplazarlo con el nombre de su entrada de texto.* - -Preferiría ver el Sprite oNow si ejecutas una vista previa de la escena. Comience a escribir, verá el objeto de texto que muestra lo que escribe. - -Usando eventos, es posible habilitar o deshabilitar el objeto "Entrada de texto". Los eventos también le permiten controlar cuándo capturar la entrada de texto y cuándo no capturar los ejemplos de entrada de texto. Por favor, llévame allí ahora. - -![](/gdevelop5/objects/textentryobjectevents.png) - -## Ejemplos - -!!! note - - **Véalo en acción!** 🎮 - Abre estos ejemplos online - -![](/gdevelop5/objects/textexample.png) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://text-entry-object){ .md-button .md-button--primary } diff --git a/docs/es/gdevelop5/objects/tiled_sprite.md b/docs/es/gdevelop5/objects/tiled_sprite.md deleted file mode 100644 index d76f034fbd9..00000000000 --- a/docs/es/gdevelop5/objects/tiled_sprite.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: OBJETO SPRITE DE AZULEJOS (Tiled Sprite object) ---- -# OBJETO SPRITE DE AZULEJOS (Tiled Sprite object) - -!!! note - - **Véalo en acción!** 🎮 - [¡Prefiero ver los ejemplos de objetos de Tiled Sprite! Por favor, llévame allí ahora.](#Examples) - -Un objeto sprite de mosaico nos permite mostrar una imagen en un conjunto de mosaicos. Puede aumentar y disminuir el tamaño del conjunto de azulejos al escalar el objeto en la escena. - -Un objeto sprite de mosaico puede usarse para crear plataformas en un juego de plataformas. También se puede utilizar como un grupo de las mismas imágenes. En este caso, no es necesario tratar con múltiples objetos de sprite. ![](/gdevelop5/objects/tiled-sprite-object.png) - -### Añadir un objeto sprite en mosaico - -Para agregar un objeto de Sprite en mosaico a una escena, cree un nuevo objeto de la lista de objetos. Seleccione la opción "Sprite en mosaico" en el panel que se abre. - -![add-tiled-sprite-object.png](/gdevelop5/objects/add-tiled-sprite-object.png) - -### Abrir propiedades de objeto - -A continuación, nuevamente desde la lista de Objetos a su derecha, abra las propiedades del objeto haciendo clic derecho en el objeto. Seleccione "Editar objeto" en la lista emergente que aparece. - -![tiled-sprite-properties.png](/gdevelop5/objects/tiled-sprite-properties.png) - -### Añadir una imagen - -Para agregar una imagen al objeto, haga clic en el campo "Seleccionar una imagen". Se abrirá un explorador de archivos local en su computadora. Elige una imagen de tu elección. ![add-image-to-tiled-sprite.png](/gdevelop5/objects/add-image-to-tiled-sprite.png) - -La imagen seleccionada se mostrará en la ventana de vista previa a la derecha. ![tiled-sprite-image-preview.png](/gdevelop5/objects/tiled-sprite-image-preview.png) - -### Cambiar tamaño predeterminado - -Podemos cambiar el tamaño predeterminado del objeto sprite en mosaico cambiando el ancho predeterminado y el valor de altura predeterminado en la parte inferior. ![](/gdevelop5/objects/tiled-sprite-default-size.png) - -El tamaño predeterminado afecta la cantidad de imagen que será visible en el objeto. Por ejemplo, así es como se ve mi imagen con un tamaño de objeto de 32 × 32. ![](/gdevelop5/objects/tiled-sprite-3232.png) - -Como puede ver, la imagen de arriba no se escala con el objeto sino que hace que la imagen solo sea parcialmente visible. - -Si configuro el tamaño del objeto en 100 × 100 (como se ve a continuación), el tamaño del objeto es más grande que la imagen real, por lo que continúa dibujando la imagen nuevamente para llenar el espacio vacío. ![](/gdevelop5/objects/tiled-sprite-100100.png) - -### Escalar el objeto - -Puede obtener resultados instantáneos al escalar el objeto en el editor de escenas para crear el aspecto / tamaño que necesita. ![](/gdevelop5/objects/scale-tiled-sprite.png) - -El editor de escenas (eventos) también se puede usar para cambiar el tamaño de un sprite en mosaico. Usar el editor de Eventos hace que el juego sea más fluido e interesante. - -![](/gdevelop5/objects/scaleasprite.png) - -## Ejemplos - -!!! note - - **Véalo en acción!** 🎮 - Abre los ejemplos Online. - -[![](/gdevelop5/behaviors/platformerbehavior.png)](https://editor.gdevelop.io/?project=example://platformer) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://platformer){ .md-button .md-button--primary } diff --git a/docs/es/gdevelop5/publishing/android-app-installed.png b/docs/es/gdevelop5/publishing/android-app-installed.png deleted file mode 100644 index 5038ffd0e73..00000000000 Binary files a/docs/es/gdevelop5/publishing/android-app-installed.png and /dev/null differ diff --git a/docs/es/gdevelop5/publishing/android_and_ios/index.md b/docs/es/gdevelop5/publishing/android_and_ios/index.md deleted file mode 100644 index 1d6a2e3c735..00000000000 --- a/docs/es/gdevelop5/publishing/android_and_ios/index.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: Publica tu juego en Android o IOS ---- -# Publica tu juego en Android o IOS - -GDevelop te permite publicar tus juegos en una gran variedad de formatos incluyendo Android e IOS con los servicios de construcción online o [manualmente](/gdevelop5/publishing/android_and_ios_with_cordova). Para exportar el juego, haga click/seleccione "Archivo" en el menú ubicado en la parte superior de la interfaz de GDevelop. Seleccione la opción de exportación que desee. En este caso, vamos a elegir **Android e iOS** Desde el panel de opciones que aparece - -![](/es/gdevelop5/publishing/captura_de_pantalla_2021-08-04_a_las_16.24.43.png) - -## ¡Asegúrate de que tu juego está listo para exportar! - -Es importante verificar que tu juego está listo para ser exportado a Android o IOS: - - * En las propiedades del juego están accesibles desde el [Administrador de proyector](/gdevelop5/interface)), asegúrese de introducir un _nombre de paquete válido_. Un nombre de paquete es un identificador como este: `com.tunombre.nombredeljuego`. Es como el nombre de un sitio web pero al revés. Puedes elegir cualquier nombre simpre que: - * No está siendo usado por otra aplicación o juego en iOS o Android. - * Está escrito solo con letras, números y puntos. Solo tiene puesto un punto entre letras (pro ejemplo, `com..mijuego` o `..mijuego` no son válidos). _Limita este identificador a 2 o 3 palabras como máximo._ - * Comprueba que hayas añadido los iconos requeridos. - - -## Abra la exportación - -En el menú "archivo" elija exportar. Posteriormente elija **Android (y iOS próximamente)**. - -![](/es/gdevelop5/publishing/captura_de_pantalla_2021-08-04_a_las_16.25.39.png) - - - - -### Crear una cuenta si todavía no tienes - -Para usar el empaquetado para android necesitas una [cuenta de GDevelop](/gdevelop5/interface/profile). Si no tienes una, haga click en "CREAR MI CUENTA", Introduzca su email y elija una contraseña. - -Elije si deseas exportar un **APK** o un **Android App Bundle**: - -- Un **APK** Te permite enviar el archivo generado a un dispositivo Android e instalarlo. Es ideal para de forma rápida **probar tu juego en un dispositivo Android**. -- Un **Android App Bundle** (también abreviado "AAB") es el formato requerido para [publicar en Google Play](/gdevelop5/publishing/android_and_ios/play-store). Si creas creas un juego en Google Play Developer Console (Consola de desarrollo de Google Play Store o página del desarrollador de Google Play), necesitarás subir un archivo AAB. - -Una vez estés listo, haga click **EMPAQUE PARA ANDROID**: - -![](/es/gdevelop5/publishing/captura_de_pantalla_2021-08-04_a_las_16.27.55.png) - -Ahora espere a que la exportción se termine de realizar. -Hay algunos pasos mientras que el juego es exportado, comprimido, subido al servicio de construcción y contruido. - -Al final, aparecerá un botón **DESCARGAR** para obtener el archivo APK o [AAB para publicar en google play](/gdevelop5/publishing/android_and_ios/play-store). - - -## Instalación en tu dispositivo Android (APK) - -!!! note - - Para probar el juego en tu teléfono deberás de haber elegido APK. Si desea distribuirlo en Google Play, [lea esta página](/gdevelop5/publishing/android_and_ios/play-store). - -Conecte su teléfono/tablet y transfiera el archivo APK file en alguna carpeta o sitio del dispositivo. De forma alternativa, puedes pasar el archivo APK mediante alguna plataforma de almacenamiento en la nube, servicio de transferencia o email. Algunos ejemplos: ([Dropbox](https://www.dropbox.com/), [Google Drive](http://drive.google.com/), [OneDrive](https://onedrive.live.com/about/en-in/)...) posteriormente tras transferirlo a alguno de estos servicios necesitará descargar el archivo e instalarlo. - -Antes de intalar el APK, vaya a Ajustes > Seguridad y active *Orígenes/fuentes desconocidos/as*. Esto va a permitirte [instalar el archivo apk](https://developer.android.com/studio/publish#publishing-unknown) aunque no estés registrado en Google Play Store. - -Finalmente, abra un *Administrador de archivos*, vaya a la carpeta que contiene su APK y haga click para abrirlo e instalarlo: - -![](/gdevelop5/publishing/android-file-manager.png) - -La aplicación/juego ya está instalada. Haga click en *Abrir* para ejecutarla: - -![](/es/gdevelop5/publishing/android-app-installed.png) - - - -### Juega al juego - -¡El juego está ahora instalado correctamente en tu dispositivo! Ábrelo como cualquier otro juego o app. - -Tú has creado un *juego para Android* directamente desde GDevelop. Puedes actualizarlo fácilmente: exporte el juego de nuevo, transfiera el archivo APK de nuevo a su dispositivo e instálelo. - - -## Subscríbete para obtener más exportaciones diarias. - -Como usuario registrado, usted puede empaquetar dos veces su juego diariamente. - -Si estás trabajando mucho en tu juego, seguramente querrá exportar más veces el juego. Puedes exportar hasta 10 veces con una subscripción Indie y hasta 70 con una subscripción Pro. - -Obteniendo una subscripción ayuda a los autores de GDevelop a continuar trabajando (GDevelop es un software open-source o de código libre/abierto) - - -## Publicando tu juego en tiendas o Google Play Store ("Android App Bundles") - -Una vez exportado tu juego y probado, deberás exportarlo como **Android App Bundle** Para publicarlo en Google Play Store. Lea [esta página para obtener más información](/gdevelop5/publishing/android_and_ios/play-store). - -También puedes publicarlo en otras tiendas [Amazon App Store](/gdevelop5/publishing/publishing-to-amazon-app-store) (usando un **APK** por ahora en la mayoría de los casos)(Posteriormente puede que algunas plataformas también soporten archivos *ABB*). \ No newline at end of file diff --git a/docs/es/gdevelop5/publishing/android_and_ios/play-store.md b/docs/es/gdevelop5/publishing/android_and_ios/play-store.md deleted file mode 100644 index f36c16b961b..00000000000 --- a/docs/es/gdevelop5/publishing/android_and_ios/play-store.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Publica tu juego en Play Store ---- -# Publica tu juego en Play Store - -Después de crear tu juego con Android (ya sea usando [compilación con un clic para Android](/gdevelop5/publishing/android_and_ios) o [proceso manual con Cordova para usuarios avanzados](/gdevelop5/ publishing/ android_and_ios_with_cordova)), puedes publicar en Google Play Store. - -Para hacer esto, necesita tener una cuenta en Google Play Store. Google solicita una tarifa de registro única de $ 25. - -!!! warning - - ¿Has publicado un juego en el pasado cargando un APK? Debes realizar [los siguientes pasos para actualizar tu juego de un APK a un Android App Bundle](/gdevelop5/ publishing/ android_and_ios/play-store/upgrade-from-apk-to-aab) para continuar publicando. [Lea esta página](/gdevelop5/publishing/android_and_ios/play-store/upgrade-from-apk-to-aab), ya que es obligatorio hacerlo desde agosto de 2021. - -## Crea tu cuenta de desarrollador de Google Play - -Para crear su cuenta, vaya a la [Google Player Console](https://play.google.com/console/about/). - -## Empaquete su juego - -Paquete [su juego como se explica aquí](/gdevelop5/ publishing/ android_and_ios) - eligiendo **Android App Bundle**. - -Una vez finalizado el empaquetado, tendrá un **botón Descargar** para obtener el archivo AAB que se puede publicar en Google Play. -Descárguelo y guárdelo en algún lugar de su computadora. - -## Crea la aplicación y completa los detalles de la aplicación - -Conéctese a la Consola para desarrolladores de Play Store (https://play.google.com/apps/publish/). En las páginas que enumeran sus aplicaciones, haga clic en **Crear aplicación**: - -![](/gdevelop5/publishing/android_and_ios/play-store/pegado/20210721-144512.png) - -Ingrese un título y elija un idioma. La aplicación se crea en Play Store y ahora puede completar la información que se mostrará en Play Store: - -![](/gdevelop5/publishing/android_and_ios/play-store/pegado/20210721-144627.png) - -Haga clic en **Crear aplicación** para continuar. - -## Crea una "versión" y sube el paquete de aplicaciones de Android - -En el menú de la izquierda, busque la sección ** Lanzamiento **. Elige ** Producción **, ** Prueba abierta **, **Prueba cerrada** o **Prueba interna** según cómo quieras distribuir tu juego primero. Le recomendamos que comience con ** Pruebas internas **. Luego, puedes hacer un lanzamiento de "Producción" una vez que estés satisfecho con el juego. - -Haga clic en ** Create Release **: - -![](/gdevelop5/publishing/ android_and_ios/play-store/pasted/ 20210721-145039.png) - -Se le solicita *Firma de aplicaciones de Google Play*, haga clic en **Continuar**. - -![](/ gdevelop5/publishing/android_and_ios/play-store/pasted/20210721-145303.png) - -En **App Bundles**, elija **Upload** y seleccione su Android App Bundle que fue empaquetado por GDevelop. - -El AAB se carga en Play Store. Espera un poco. -Una vez que haya terminado, debería ver un mensaje que indica que la carga se completó correctamente. - -Si la carga es un éxito, puede ver su archivo AAB enumerado a continuación: -![](/gdevelop5/publishing/android_and_ios/play-store/pasted/ 20210721-145535.png) - -En **¿Qué hay de nuevo en esta versión?**, ingrese las notas de la versión que deben mostrarse en Play Store. Para terminar, haga clic en **Guardar**. - -### ¿Algo salió mal? - -Si hay un error que le indica que la carga falló, lea el mensaje de error para saber más sobre lo que salió mal. Por lo general, significa que: - -* El nombre del paquete no es correcto. En GDevelop, usando [el adminiastrador de proyectos](http://wiki.compilgames.net/doku.php/gdevelop5/interface/project-manager), ingrese un nombre de paquete nuevo y único -* O usó el mismo nombre de paquete que una aplicación existente. Elige otro en el [administrador de proyectos](http://wiki.compilgames.net/doku.php/gdevelop5/interface/project-manager) y vuelva a empaquetar su juego para crear un nuevo AAB. - -!!! note - - Si solía publicar su aplicación con un APK, debe actualizar a Android App Bundles. [Lea esta página para aprender cómo hacer esto](/gdevelop5/publishing/android_and_ios/play-store/upgrade-from-apk-to-aab). - -## Termina de ingresar todos los detalles sobre el juego - -Antes de hacer público su juego, debe terminar de ingresar todos los detalles sobre su juego, incluido el precio y encontrar una calificación para el contenido. Consulte la sección "Crecer" en el menú y asegúrese de completar todos los detalles requeridos: - -![](/gdevelop5/publishing/android_and_ios/play-store/pegado/20210721-145735.png) - -## ¡Publica el juego! - -Una vez que haya completado todo, ingresado una descripción agradable, configurado hermosas capturas de pantalla y cargado el paquete de aplicaciones de Android de su juego, puede volver a la sección **Lanzamiento**. Haga clic en **Producción** y cree una versión para ello. - - -## ¡Felicidades! El juego está en Play Store. - -**¡Felicidades!** Lo lograste y publicaste tu juego. -Algunos usuarios pueden tener que esperar unas horas antes de ver el juego en Play Store. - -Recuerda contarlo en las redes sociales, en Discord y en el foro para que la comunidad lo sepa. \ No newline at end of file diff --git a/docs/es/gdevelop5/publishing/captura_de_pantalla_2021-08-04_a_las_16.24.43.png b/docs/es/gdevelop5/publishing/captura_de_pantalla_2021-08-04_a_las_16.24.43.png deleted file mode 100644 index 1b66a743078..00000000000 Binary files a/docs/es/gdevelop5/publishing/captura_de_pantalla_2021-08-04_a_las_16.24.43.png and /dev/null differ diff --git a/docs/es/gdevelop5/publishing/captura_de_pantalla_2021-08-04_a_las_16.25.39.png b/docs/es/gdevelop5/publishing/captura_de_pantalla_2021-08-04_a_las_16.25.39.png deleted file mode 100644 index 3ca3125233f..00000000000 Binary files a/docs/es/gdevelop5/publishing/captura_de_pantalla_2021-08-04_a_las_16.25.39.png and /dev/null differ diff --git a/docs/es/gdevelop5/publishing/captura_de_pantalla_2021-08-04_a_las_16.27.55.png b/docs/es/gdevelop5/publishing/captura_de_pantalla_2021-08-04_a_las_16.27.55.png deleted file mode 100644 index 22fae758708..00000000000 Binary files a/docs/es/gdevelop5/publishing/captura_de_pantalla_2021-08-04_a_las_16.27.55.png and /dev/null differ diff --git a/docs/es/gdevelop5/publishing/index.md b/docs/es/gdevelop5/publishing/index.md deleted file mode 100644 index 2eda2bf27ff..00000000000 --- a/docs/es/gdevelop5/publishing/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Publicacion de juegos ---- -# Publicacion de juegos - -¡GDevelop te permite publicar tus juegos en cualquier plataforma moderna! Sin embargo, el juego necesita ser exportado primero. - -Para exportar el juego, haga clic en Archivo en la barra de menú sobre la Interfaz de GDevelop. Seleccione la opción Exportar de la lista emergente que aparece. - -![](/gdevelop5/file-export-menu.png) - -A continuación se le presentarán múltiples opciones para elegir: - -![](/gdevelop5/export-options.png) - - * **[Android (y iOS próximamente)](/gdevelop5/publishing/android_and_ios):** esto prepara su juego para Android (y la compatibilidad con iOS estará disponible próximamente). Lo construye en línea, utilizando los servicios en línea de GDevelop. Luego te envía un enlace para que puedas instalarlo en Android y [publícalo en Play Store](/gdevelop5/publishing/android_and_ios/play-store) (o App Store más tarde para iOS). - - * **[Facebook Instant Games (Messenger)](/gdevelop5/publishing/publishing-to-facebook-instant-games):** esto prepara su juego para que pueda cargarse en Facebook Instant Games y jugarse en Messenger, compartirlo con sus amigos y luego publicarlo en todo el mundo. - - * **[Web (subir en línea)](/gdevelop5/publishing/web)**: esta opción cargará tu juego a GDevelop hosting, de forma gratuita. A continuación, puede compartirlo con cualquier persona con un clic de un botón. - - * **[Windows, macOS & Linux](/gdevelop5/publishing/windows-macos-linux)**: esta opción agrupa tu juego como una aplicación de Windows, macOS o Linux, compílalo en línea, utilizando los servicios en línea de GDevelop, y luego te envía un enlace para que puedas distribuir el juego. - -También hay exportaciones para usuarios avanzados: - - * **[Exportar a una carpeta local](/gdevelop5/publishing/html5_game_in_a_local_folder):** esta opción le permite exportar su juego a una carpeta y cargarlo manualmente a cualquier host que desee o envolver el juego en una aplicación de escritorio o móvil manualmente usando cualquier herramienta que prefiera, como Electron. - - * **[iOS & android (manual)](/gdevelop5/publishing/android_and_ios_with_cordova):** esta opción va a exportar tu juego listo para ser utilizado como un proyecto de Cordova. Luego puedes usar las herramientas de la línea de comandos de Cordova para construir tu juego para Android e iOS. - - * **[Windows, macOS and Linux (manual)](/gdevelop5/publishing/windows-macos-linux-with-electron):** Esta opción va a exportar tu juego listo para ser utilizado como un proyecto de Electron. Luego puedes usar las herramientas de la línea de comandos para construir tu juego para Windows, macOS o Linux. diff --git a/docs/es/gdevelop5/publishing/web.md b/docs/es/gdevelop5/publishing/web.md deleted file mode 100644 index b9bbb71aaf3..00000000000 --- a/docs/es/gdevelop5/publishing/web.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Publicando tu juego en la web (subir en línea) ---- -# Publicando tu juego en la web (subir en línea) - -Usando los servidores de hosting de GDevelop, puedes exportar tu juego para su publicación en la web. . Los servidores de hosting son gratuitos. ¡Tu juego estará disponible por unos días! - -Para cargar en los servidores, en el menú Archivo, seleccione Exportar. Luego elija **Web (subir en línea)**, y luego simplemente haga clic en **Exportar y cargar mi juego**. - -![](/gdevelop5/publishing/export-online.png) - -El juego se alojará en servidores de hosting GDevelop. Estos servidores están respaldados por los servicios robustos de Amazon. Los juegos que subas están disponibles para compartirlos durante unos días. No se cobra por este servicio. - -Tenga en cuenta que el enlace, por defecto, es **privado**. No se comparte en ningún lugar. Puedes compartir el enlace a tu juego de acuerdo a tus necesidades. Compartir con algunas personas o una audiencia más grande. - -## Exportar a otras plataformas (iOS, Android, Windows, macOS, Linux) - -¡Consulta [otras opciones de exportación](/gdevelop5/ publishing) para aprender a publicar tu juego en otras plataformas! diff --git a/docs/es/gdevelop5/publishing/windows-macos-linux.md b/docs/es/gdevelop5/publishing/windows-macos-linux.md deleted file mode 100644 index 5179dfc5e22..00000000000 --- a/docs/es/gdevelop5/publishing/windows-macos-linux.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: Publica tu juego en Windows, macOS y Linux ---- -# Publica tu juego en Windows, macOS y Linux - -¡GDevelop puede publicar juegos para Windows, macOS e incluso Linux! - -Para exportar un juego, haga clic / seleccione "Archivo" en el menú que se encuentra en la parte superior de la interfaz de GDevelop. Elija la opción "Exportar" de la lista desplegable. - -![](/gdevelop5/publishing/filemenuexport.png) - -## ¡Asegúrate de que tu juego esté listo para empacar! - -Es importante verificar que su juego esté listo para ser exportado como un ejecutable: - -- En las propiedades del juego (accesible desde [Project Manager](/gdevelop5/ interface)), asegúrate de ingresar un _package name_ válido. Un nombre de paquete es un identificador como este: `com.yourname.gamename`. Es como la dirección de un sitio web, pero invertida. Puede elegir cualquier nombre de paquete siempre que: - -  - - * No es usado por otro juego o aplicación en iOS o Android. - * Está escrito solo con letras, números y puntos. Solo ponga un punto entre las palabras (por ejemplo, "com..mygame" o "..mygame" no son válidos), y limite este identificador a un máximo de 2-5 palabras. - * En las propiedades del juego, ingresa un número de versión válido (como 1.0.0, 1.0.1 ...) - * Comprueba que has configurado los iconos. - -## Iniciar exportación - -En el menú Archivo, elija Exportar. Elija entonces **Windows, macOS y Linux**. - -### Crea una cuenta, si no tienes una - -Para usar el paquete, necesita un [GDevelop account](/gdevelop5/ interface/ profile). Si no tiene una, haga clic en "Crear mi cuenta", ingrese su correo electrónico y elija una contraseña. - -### Elige las plataformas y lanza la exportación. - -Elige las plataformas para las que quieres exportar el juego. Para Windows, puede elegir si desea un solo archivo ejecutable o un archivo zip: ![](/gdevelop5/publishing/gdevelop-export-choose-platform.png) - -Una vez que esté listo, haga clic en **Exportar**. - -Ahora, espera a que el juego sea construido. Puede tardar unos minutos dependiendo de las plataformas que haya elegido. Hay algunos pasos, durante los cuales el juego se exporta, se comprime, se carga en el servicio de compilación en línea y se construye. - -Cuando haya terminado, verá un botón de descarga para cada plataforma que se seleccionó para su juego. Use los botones de descarga para recibir los archivos que puede distribuir para jugar en su juego. - -### Jugar el juego - -* En Windows, haga doble clic en el archivo ejecutable con el nombre de su juego para iniciarlo. -* En macOS, extraiga el archivo y haga doble clic en la aplicación para iniciarla. -* En Linux, [install the AppImage](https://appimage.org/) para ejecutar el juego - -!!! note - - Al iniciar el juego en Windows y macOS, puede recibir un aviso sobre la seguridad. Elige ejecutar el juego de todos modos. En macOS, es posible que deba abrir la pestaña * Seguridad y privacidad * en * Preferencias del sistema *. diff --git a/docs/es/gdevelop5/tutorials/asteroids/index.md b/docs/es/gdevelop5/tutorials/asteroids/index.md deleted file mode 100644 index 6252715a5f0..00000000000 --- a/docs/es/gdevelop5/tutorials/asteroids/index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: start ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -# Asteroides - -## Series - -1\. [Getting Started](/gdevelop5/tutorials/asteroids/start) 2. [Ship and Movement Controls](/gdevelop5/tutorials/Asteroids/Ship And Movement Controls) 3. [Firing Mechanic](/gdevelop5/tutorials/Asteroids/Firing Bullet) 4. [Setting Scene](/gdevelop5/tutorials/Asteroids/Setting Scene) 5. [Splitting Asteroids](/gdevelop5/tutorials/Asteroids/Splitting Asteroids) 6. [Screen Wrap](/gdevelop5/tutorials/Asteroids/Screen Wrap) 7. [Fail State](/gdevelop5/tutorials/Asteroids/Fail State) 8. [End Result](/gdevelop5/tutorials/end_result) \## Descargar material gráfico (llamado también arte) - -El material gráfico (arte) utilizado en este ejemplo es de . - -Descargue el arte y familiarícese con lo que contiene el paquete. - -## Open a blank game project in GDevelop - -When you open the engine, you'll see this screen. Click on the button that has been highlighted in red. - -![](/gdevelop5/tutorials/asteroids_example_image1.png) - -## Name project - -Give your project a name, and click on the create project button. - -![20220121-152746.png](/gdevelop5/tutorials/asteroids/pasted/20220121-152746.png) - -## Add a scene - -Add a scene by pressing on the highlighted button in the image below. Right click on that scene to rename it. Then left click on the scene to open it. - -![](/gdevelop5/tutorials/asteroids_example_image2.png) - -## Set background color - -Right click on the background of the game scene, and click on "Scene properties". From there, click on the color selector and drag to select black. - -![](/gdevelop5/tutorials/asteroids_example_image3.png) - -## Check game resolution - -Open the project manager, and go to the game settings. - -Select properties, and make sure your game's resolution is 800 by 600 - or the preferred "Golden Ration" of 800x500 - -![](/gdevelop5/tutorials/asteroids_gif_recording_1_check_game_resolution.gif) - -## Next step - -[Ship and Movement Controls](/gdevelop5/tutorials/Asteroids/Ship And Movement Controls) diff --git a/docs/es/gdevelop5/tutorials/basic-game-making-concepts.md b/docs/es/gdevelop5/tutorials/basic-game-making-concepts.md deleted file mode 100644 index 4007cce3a80..00000000000 --- a/docs/es/gdevelop5/tutorials/basic-game-making-concepts.md +++ /dev/null @@ -1,171 +0,0 @@ ---- -title: Conceptos básicos de creación de juegos - lo que necesitas saber para comenzar con GDevelop ---- -# Conceptos básicos de creación de juegos: lo que necesitas saber para comenzar con GDevelop - -Los conceptos básicos de GDevelop son simples. Lee la siguiente información para comenzar con el software. Si no tienes GDevelop, descarga la última versión aquí: - -## Mostrar cosas en la pantalla: los Objetos - -Todo lo que se muestra en la pantalla se llama **"Objeto"**. Se pueden usar diferentes tipos de objetos para mostrar diferentes elementos del juego en la pantalla. Por ejemplo, la mayoría de los gráficos del juego son objetos "Sprite", los textos se pueden mostrar con objetos "Texto" y se pueden crear efectos especiales como un incendio o chispas con "Emisores de partículas". - -![](https://wiki.gdevelop.io/_media/gdevelop5/tutorials/gifs_for_wiki_showing_objects.gif) - -La página wiki asociada con los objetos se puede encontrar [aquí](/es/gdevelop5/objects/). - -## Coordenadas - -Los objetos en la pantalla/escena de GDevelop tienen **coordenadas X e Y**. Estas coordenadas corresponden a la posición horizontal (eje X) y la posición vertical (eje Y) en el plano cartesiano. - -La coordenada X disminuye a medida que avanza hacia la izquierda y aumenta a medida que avanza hacia la derecha. La coordenada Y aumenta a medida que desciendes y disminuye a medida que subes. - -![pres_coord1.png](/wiki/pres_coord1.png) - -Para mover o rotar objetos, debes especificar el ángulo deseado en grados. La siguiente ilustración muestra cómo GDevelop entiende el ángulo de rotación: - -![pres_coord2.png](/wiki/pres_coord2.png) - -La siguiente imágen muestra estos dos conceptos utilizados dentro del motor, modificando la posición X e Y y la rotación el objeto sprite de la nave. Ten en cuenta que la esquina superior izquierda de la pantalla predeterminada del juego, la posición de la pantalla cuando no se ha aplicado ningún movimiento de la cámara, es donde X=0 e Y=0. - -![](https://wiki.gdevelop.io/_media/gdevelop5/gifs_for_wiki_showing_coordinates_and_rotation.gif) - -Tenga en cuenta que los ángulos también pueden ser negativos. Por ejemplo, -90 grados es igual a 270 grados. - -Si utilizas funciones trigonométricas como el **seno** o el **coseno**, deberás expresar los ángulos en **radianes**. (1 radián = 180/pi grados y 1 grado = pi/180 radianes. Pi es el número que es aproximadamente igual a 3.14159). - -## Eventos - -Los eventos, que usas para crear las reglas de tu juego, se componen de condiciones y acciones. Las condiciones pueden considerarse como "si" y las acciones pueden considerarse como "entonces", con el propósito de hacer que las cosas sucedan en tu juego. "Si" las condiciones son verdaderas/cumplidas, "entonces" las acciones sucederán. La mayoría de las condiciones y acciones se refieren a objetos: - -- Las condiciones ejecutan una **prueba** en los objetos. -- Unordered List ItemLas acciones **manipulan** el objeto. Pueden cambiar la posición del objeto, la apariencia, etc. - -Un evento, sin ninguna condición, es tratado como si sus condiciones fueran verdaderas. Por lo tanto, en la imágen a continuación, el objeto de la nave girará a la velocidad dada a la acción de rotación. - -![](https://wiki.gdevelop.io/_media/gdevelop5/tutorials/gifs_for_wiki_showing_conditionless_event.gif) - -Si a este evento se le da la condición "El cursor/toque está encendido" y seleccionamos el objeto de barco para este evento, entonces la acción solo ocurrirá "si" el cursor del mouse está en el objeto de barco. - -![](https://wiki.gdevelop.io/_media/gdevelop5/tutorials/gifs_for_wiki_showing_an_event_with_a_condition.gif) - -La página wiki asociada con eventos se puede encontrar [aquí](/es/gdevelop5/events/). - -## Cómo seleccionan los objetos estos eventos Una acción, sin condición, se refiere a todos los objetos. Si utiliza un objeto por primera vez en un evento, GDevelop probará o modificará todos los objetos con este nombre en la escena. Si vuelve a utilizar el objeto en el mismo evento, GDevelop probará o modificará sólo los objetos que hayan sido seleccionados por las condiciones anteriores. - -Por ejemplo, este evento no tiene ninguna condición. Eliminará todos los objetos llamados "Barco": - -![](/gdevelop5/tutorials/basic-game-making-concepts/pasted/20220123-200759.png) - -El siguiente evento tiene una condición. Eliminará solo los objetos "Enviar" con una posición X que sea menor que la del cursor del mouse: - -![](/gdevelop5/tutorials/gifs_for_wiki_deleting_ships_by_mouse_position.gif) - -!!! note - - **Velo en acción!** 🎮Abre este ejemplo en línea: - -![](/gdevelop5/tutorials/basic-game-making-concepts/pasted/20220124-171850.png) - -La página wiki asociada con la selección de objetos se puede encontrar [aquí](/gdevelop5/events/object-picking). - -## Eventos: el orden es importante**El orden de los [eventos](/es/gdevelop5/events/) sí importa!** - -Los eventos en la parte superior se ejecutan primero. Los eventos se ejecutan cada vez que se muestra el juego. Esta pantalla se denomina marco. Se ejecuta unas 60 veces por segundo. Los siguientes ejemplos **no** son equivalentes: - -![](/gdevelop5/tutorials/basic-game-making-concepts/pasted/20220123-203732.png) ![](/gdevelop5/tutorials/basic-game-making-concepts/pasted/20220123-203822.png) - -- En la primera imagen de arriba, el primer evento crea un objeto "Ship" en las coordenadas X: 100, Y: 200 (100;200) en la capa base. A continuación, el siguiente evento elimina ese barco creado inmediatamente. Este par de eventos **no mostrará** un barco en la pantalla ya que elimina justo después de ser creado. -- En la segunda imagen de arriba, el primer evento elimina todos los objetos "Ship" de la escena/pantalla. Luego crea un "Barco" en las coordenadas de escena/pantalla X: 100, Y: 200 (100;200) en la capa base. Este par de eventos **mostrará** un barco en la pantalla (antes de ser eliminado en el siguiente fotograma. Después, será recreado inmediatamente). - -## Comportamientos: reglas y lógica predefinidas para objetos - -Los **comportamientos** mejoran un objeto con cierta *lógica predefinida*. Pueden ser razonablemente sencillos, automatizando tareas simples o tareas mucho más avanzadas. Por ejemplo: - -* Se puede usar un comportamiento para eliminar *automáticamente* un objeto del juego cuando sale de la pantalla (lo que limita el uso de memoria del juego). * Se puede utilizar otro comportamiento para *mover objetos en la pantalla con las flechas del teclado*. * Se puede usar otro comportamiento para permitir que el objeto *sea arrastrado por la pantalla* con el ratón o tocando el objeto. * El comportamiento de la física es un ejemplo de un comportamiento avanzado que hace que sus objetos se muevan de una manera realista, siguiendo las *leyes de la física*. - -Los **comportamientos** a menudo vienen con sus propias variables que se pueden cambiar para personalizar la tarea que realizan, pero también se pueden manipular utilizando eventos que son específicos de ese comportamiento. - -![](/gdevelop5/tutorials/gifs_for_wiki_showing_behaviors.gif) - -La página wiki asociada con comportamientos se puede encontrar [aquí](/es/gdevelop5/behaviors/). - -!!! note - - Puedes crear comportamientos personalizados para tus objetos. Te recomendamos esto a medida que tu juego crezca. Te permite poner lógica sobre lo que están haciendo tus objetos en los comportamientos personalizados, en lugar de hinchar la hoja de eventos de la escena. [Lee más en este artículo](/gdevelop5/tutorials/how-to-make-behavior). - -##Objetos en movimiento: uso de las fuerzas incorporadas - -Se puede lograr poner en movimiento objetos con **fuerzas**. Las fuerzas se utilizan para "empujar" objetos. - -Puedes especificar: - -- Las coordenadas de una fuerza en los ejes X e Y, en píxeles. -- Sus coordenadas polares (el ángulo de fuerza, en grados, y la longitud, en píxeles). -- Si la fuerza es instantánea (solo empujará "un poco" el objeto) o continua (seguirá empujando el objeto hasta que se elimine). - -### Ejemplo Supongamos que deseas mover un objeto a la derecha o a la izquierda de la pantalla. - -Puedes agregar una fuerza utilizando coordenadas X/Y, especificando 50 para la coordenada X y, por ejemplo, 0 píxeles para la coordenada Y. También puedes usar coordenadas polares y agregar una fuerza con un ángulo de 180° y una longitud de 50 píxeles. - -En el siguiente ejemplo, la posición X de la nave se utiliza para establecer las condiciones que hacen que vaya en la dirección opuesta cuando pasa de 200 o 600, a lo largo del eje X. - -![](/gdevelop5/tutorials/gifs_for_wiki_applying_permanent_forces.gif) - -### Otras formas de mover objetos. - - Algunos comportamientos, como el Motor de físicas o el Localizador de rutas, pueden mover objetos por sí mismos. En este caso, es mejor no utilizar el sistema de fuerzas integrado y, en cambio, confiar solo en las acciones proporcionadas por estos comportamientos. \**Véelo en acción!** 🎮 Abre este ejemplo en línea: - -![](/gdevelop5/tutorials/basic-game-making-concepts/pasted/20220124-153533.png) - -!!! note - - Estas otras formas de mover objetos se explican en [esta página de procedimientos](/gdevelop5/tutorials/how-to-move-objects). \## Almacenamiento de cualquier información en memoria: Variables - -Una variable te permite almacenar datos. Por ejemplo, una variable puede almacenar un número o un texto. Podríamos compararlos con cajones o cajas donde podemos archivar notas. Cualquier dato se puede almacenar en una variable, siempre y cuando esté en formato de texto o número. Cosas como el número de vidas que le quedan a un jugador, la puntuación más alta de un jugador, el número de balas que quedan o el número de enemigos muertos son ejemplos de lo que se puede almacenar en una variable. Probablemente vaya a ser para ti una práctica común almacenar números en variables. - -![pres_variable.png](/wiki/pres_variable.png) - -Las acciones y condiciones comprueban o cambian el *valor* de una variable. - -#### ¿Dónde se almacenan las variables? ("ámbito" de variable) - -El *ámbito* o *alcance* de una variable determina el lugar desde el que se puede acceder una variable. En GDevelop, hay tres ámbitos de variable disponibles: - -* **Variables Globales**, que son accesibles desde todas las escenas del juego. Por ejemplo, se pueden usar para almacenar la puntuación del jugador en diferentes niveles/escenas. * **Variables de Escena**, que solo son accesibles desde la escena en la que se crean. Se pueden usar para datos que solo conciernen a una escena. Una variable de escena podría acceder al tiempo restante para completar el nivel/escena. - -* **Variables de Objeto**, que solo se refieren a un objeto. Por ejemplo, un héroe puede tener una variable "Salud" o "Munición". - -![](/gdevelop5/tutorials/gif_for_wiki_showing_where_the_variables_are.gif) - -La página wiki asociada con variables se puede encontrar [aquí](/es/gdevelop5/all-features/variables). - -Para ampliar aún más cómo se pueden usar las variables en un juego, ve [expresiones](/es/gdevelop5/all-features/expressions). - -## Una noción avanzada: el "tiempo transcurrido" desde el último fotograma (TimeDelta) - -El juego evalúa eventos y vuelve a recrear la pantalla varias veces por segundo: decimos que el juego *se actualiza* durante un "tick". La frecuencia con la que esto sucede depende de los recursos de su computadora: una computadora lenta puede renderizar 25 cuadros por segundo, una rápida 60. GDevelop generalmente puede asegurarse de que este valor sea el mismo en todos los equipos. Sin embargo, la velocidad de algunas operaciones puede cambiar de una computadora a otra, por ejemplo, las operaciones matemáticas y la representación de movimientos. - -Para hacer que la velocidad de los cambios sea constante, utiliza la [expresión](/es/gdevelop5/all-features/expressions) TimeDelta() que devuelve el tiempo en segundos desde el último fotograma. Por ejemplo, no hagas esto: - -![](/gdevelop5/tutorials/basic-game-making-concepts/pasted/20220124-172740.png) - -Pero haz esto en su lugar: - -![](/gdevelop5/tutorials/basic-game-making-concepts/pasted/20220124-172830.png) - -- El primer evento es agregar 20 a la variable cada vez que se actualiza el juego (es decir, tanto como sea posible, hasta 60 veces por segundo). **No es correcto** usar tal evento, ya que la velocidad del aumento de la variable no será la misma de una computadora a otra: no podemos predecir el valor de la variable después de 10 segundos, por ejemplo, ya que depende del número de fotogramas del juego pintado. -- El segundo evento **es correcto y confiable**: El número 300 se multiplica por TimeDelta(). Por lo tanto, la variable se incrementará al mismo tiempo en todas las computadoras. Como TimeDelta() devuelve un tiempo en segundo, te permite cuantificar exactamente la cantidad: En nuestro caso, la variable crecerá a 300 unidades/segundo. Por lo tanto, podemos predecir que la vida aumentará en 3000 unidades en 10 segundos, independientemente del número de fotogramas renderizados durante este tiempo. - -!!! note - - Como GDevelop ejecutará tu juego a un máximo de 60 imágenes por segundo, normalmente no notarás ningún problema si estás usando el primer evento. Todavía es una buena idea vigilar esto y usar la versión con TimeDelta() en su lugar. - -**Regla general:** Usa _TimeDelta()_ cuando desees agregar continuamente alguna cantidad a un valor. Si tu acción está destinada a iniciarse solo una vez (por ejemplo, durante una colisión en la que luego elimina el objeto), está bien usar un valor discreto sin TimeDelta, ya que no depende de la velocidad del juego. - -!!! note - - Cuando mueves un objeto usando fuerzas, no es necesario usar TimeDelta() ya que GDevelop lo usa automáticamente. - -## Y ... eso es casi todo lo que necesitas saber. - -➡️ ¡Puedes seguir leyendo los **[tutoriales](http://wiki.compilgames.net/doku.php/es/gdevelop5/tutorials)** para saber más sobre cómo crear auténticos juegos con GDevelop! diff --git a/docs/es/gdevelop5/tutorials/breakout.md b/docs/es/gdevelop5/tutorials/breakout.md deleted file mode 100644 index 540ccf84725..00000000000 --- a/docs/es/gdevelop5/tutorials/breakout.md +++ /dev/null @@ -1,601 +0,0 @@ ---- -title: breakout ---- -!!! note - - Este tutorial está siendo reelaborado/actualizado. Parte de la información puede estar desactualizada y es posible que haya problemas👷‍♂️ \# Cómo hacer un juego de tipo Breakout - -!!! note - - Antes de comenzar este tutorial, debe leer [Getting Started](/gdevelop5/getting_started) y [Conceptos básicos de creación de juegos](/gdevelop5/tutorials/basic-game-making-concepts) para obtener una descripción general de GDevelop y una comprensión de los conceptos principales. - -Con este tutorial, aprenderá algunas tareas básicas en GDevelop mientras crea un juego divertido. Al igual que el clásico juego de arcade Breakout, crearás una serie de ladrillos que se pueden romper con una pelota que rebota. El jugador controla la pelota con una paleta: una vez que la pelota cae, se acabó el juego. ![](/gdevelop5/tutorials/breakout-screenshot.png) - ------------------------------------------------------------------------- - -!!! note - - El juego creado en este tutorial se puede encontrar en Gdevelop 5 como ejemplo. - - Véalo en acción: - - - -## Crear un nuevo juego - -Haz clic en **Crear un nuevo proyecto** en la página de inicio. Desplázate hacia abajo y elige una carpeta para tu proyecto, luego selecciona **Juego vacío**. ![](/gdevelop5/tutorials/create_empty_project.png) \## Añadir recursos al juego - -!!! note - - Se encontrará con el término "assets" (recursos) a menudo mientras trabaja con GDevelop. En el lenguaje de desarrollo de juegos de computadora, los _recursos_ son los archivos que componen el contenido del juego, como personajes, plataformas, archivos de audio, etc. - -Para un juego de breakout, necesitará los siguientes recursos: - - * Archivo de imagen de una pelota - * Archivo de imagen de una pala - * Archivo de imagen de una barrera - * Archivos de imagen de diferentes ladrillos. - * imágenes de Power-ups (opcional) - -O puede descargar los recursos utilizados en el tutorial, ![](/gdevelop5/tutorials/breakout-assets.zip) - ------------------------------------------------------------------------- - -## Agregar una nueva escena - -_Scenes_ son las pantallas de tu juego. Por ejemplo, los diferentes niveles de un juego a menudo se crean como diferentes escenas, al igual que los menús de inicio o los menús de pausa. - -Las escenas contienen _objetos_ que se muestran en la pantalla como contenido del juego. Cada objeto que colocas en una escena se llama _instancia_. Su juego de breakout tendrá varias instancias del objeto de ladrillo en una escena de nivel de juego. Las escenas también contienen _eventos_, acciones que ocurren bajo condiciones específicas, para animar la escena. - -Para agregar una nueva escena: - - - En el panel **Proyecto** de la izquierda, haz clic en **+** para agregar una escena. - -![](/gdevelop5/tutorials/breakout-game/newscene.jpg) - - - Se agrega una nueva escena a la lista. Haz clic en **NuevaEscena** para abrirlo. - -![](/gdevelop5/tutorials/breakout-game/blank_scene.jpg) - -## Crea el objeto pala Comience agregando la pala a la escena. El jugador mueve esta pala de izquierda a derecha en línea recta para hacer rebotar la pelota y evitar que se caiga fuera de juego. - -- En el panel **Objetos** de la derecha, haga clic en **+** para agregar un objeto. - -![](/gdevelop5/tutorials/breakout-game/add-object.jpg) - -Aparecerá una ventana que muestra diferentes tipos de objetos que puede agregar. Cada tipo de objeto tiene su propio conjunto de características. - -![](/gdevelop5/tutorials/object_types.jpg) - - - Para la pala, necesitas el tipo de objeto Sprite. Haz clic en **Sprite**. \_Sprites_ son objetos animados que se utilizan para muchos elementos comunes del juego (jugadores, plataformas, enemigos, ladrillos, etc.). - -El nuevo objeto se agrega a su escena y se abre el cuadro de diálogo Editor de objetos. - -![](/gdevelop5/tutorials/empty_object_editor.jpg) - -En este momento, su objeto sprite no tiene animaciones ni imágenes asociadas. - -- Haz clic en **+** para agregar una animación. -- Haga clic en **+** en la miniatura en blanco para agregar una imagen a la animación. -- Seleccione la imagen llamada "paddle.png" en la carpeta de su proyecto y haga clic en **Abrir**. La imagen se agrega al objeto. - -![](/gdevelop5/tutorials/paddle_animation.jpg) - -- En el campo **Nombre del objeto**, escriba **Pala** para cambiar el nombre de su objeto. - -- Haz clic en **Aplicar** para guardar y cerrar el editor. - -!!! note - - Los nombres de los objetos distinguen entre mayúsculas y minúsculas, al igual que otros elementos en GDevelop. Sea consistente en su nombre para evitar errores fáciles como escribir "Pala" cuando quiere decir "pala". Lo mismo ocurre con los nombres de animación como "Ejecutar" o "ejecutar". No importa qué convención de nomenclatura utilice, siempre que sea coherente. - ------------------------------------------------------------------------- - -### Agregue el objeto pala a la escena - -Para mostrar la pala en tu juego, debes agregarla a tu escena. Debido a que solo se necesita una pala, se denomina instancia _única_. Otros objetos como ladrillos tendrán múltiples instancias en su escena. - -- Para agregar la pala a la escena, haga clic y arrástrela desde el panel **Objetos** a la escena. Colóquelo cerca del fondo. - -![](/gdevelop5/tutorials/paddle_drag.gif) - ------------------------------------------------------------------------- - -## Crea el objeto barrera - -A continuación, agregará una barrera visual que aparecerá para evitar que la pelota rebote en la pantalla. La barrera se hará con un sprite en mosaico. Los _sprites en mosaico_ son objetos repetibles y escalables útiles para crear plataformas, paredes y otros objetos inanimados. - -Para crear el objeto de barrera: - - - En el panel **Objetos** de la derecha, haga clic en **+** para agregar un objeto. - - Haz clic en **Sprite en mosaico**. - - En el cuadro de diálogo **Editor de objetos**, haga clic en **+** para agregar una animación. - - Haga clic en **+** en la miniatura en blanco para agregar una imagen. - - Seleccione "barrier.jpg" en la carpeta de su proyecto y haga clic en **Abrir**. - - En el campo **Nombre del objeto**, cambia el nombre de tu objeto a "Barrera". - - Haga clic en **Aplicar** para guardar y cerrar el Editor de objetos. - ------------------------------------------------------------------------- - -### Agregue el objeto de barrera a la escena - -Deberá agregar tres instancias de su objeto de barrera a su escena: una barrera izquierda, derecha y superior. El tamaño predeterminado de la ventana del juego es de 800 x 600 píxeles, que es el contorno gris en la vista de escena. Crea tu barrera ligeramente dentro de estos límites. - -!!! note - - Mueva y cambie el tamaño de los objetos con precisión mediante el **panel de propiedades** que se abre cuando hace clic en una instancia de objeto. - -- Arrastre y suelte la primera instancia de la barrera en la escena. -- Haga clic en la barrera. Cambie su tamaño a 15 x 585 con el panel Propiedades o arrastrando el controlador en la parte inferior derecha. Colóquelo en el lado izquierdo de la pantalla en (15, 15). -- Cree una barrera correspondiente en el lado derecho y colóquela en (770,15). -- Agregue una barrera final en la parte superior para conectar los dos. Cambie su tamaño a 770 x 15 y colóquelo en (15, 15). - -![](/gdevelop5/tutorials/breakout-game/barriers_added.jpg) - ------------------------------------------------------------------------- - -## Establecer el movimiento de la pala - -El jugador controlará la pala usando las flechas izquierda y derecha del teclado. Puede crear estos controles usando _eventos_ (acciones que ocurren si las condiciones son verdaderas). - -Crea un evento donde si el jugador presiona la flecha izquierda en el teclado, la pala se mueve hacia la izquierda: - -- Haz clic en la pestaña **Nueva escena (Eventos)** para abrir el **Editor de eventos**. -- Haz clic en **Agregar un nuevo evento vacío** ![](/gdevelop5/tutorials/breakout-game/empty_event_button.jpg). -- Haz clic en **Agregar condición**. - -![](/gdevelop5/tutorials/breakout-game/add-condition.jpg) - -- Haga clic en **Teclado \> Tecla presionada**. - -![](/gdevelop5/tutorials/breakout-game/keyboard-key-pressed.jpg) - -- En el campo **Clave**, escriba **Left** y haga clic en **Aceptar**. Esta condición es verdadera si el jugador presiona la flecha izquierda en el teclado. - -Ahora necesita agregar una acción correspondiente a la condición. La pala debe moverse hacia la izquierda en un eje horizontal si se cumple la condición. - -!!! note - - Para mover objetos con una fuerza aplicada, deberá especificar un ángulo. La siguiente imagen ilustra cómo GDevelop entiende el ángulo de rotación. En un eje horizontal, la izquierda es 180°, la derecha es 0°. ![](/gdevelop5/tutorials/breakout-game/angles.png) - -- Haga clic en **Agregar acción**. - -- Haga clic en **Acciones comunes para todos los objetos \> Movimiento \> Agregar una fuerza (ángulo).** - -- Selecciona **Pala** en el campo **Objeto**. - -- En el campo **Ángulo**, escriba **180**. - -- En el campo **Velocidad (en píxeles por segundo)**, escriba **300**. - -- Haz clic en **Instantáneo**. - -- Haga clic en **Aceptar**. - -![](/gdevelop5/tutorials/breakout-game/add_force_to_paddle.jpg) - -!!! note - - Es un buen momento para guardar tu trabajo. Adquiera el hábito de ahorrar con frecuencia. Puede presionar **Ctrl+S** para guardar su juego, o usar su mouse e ir a **Archivo\>Guardar**. - ------------------------------------------------------------------------- - -Utilice la función de vista previa para verificar su trabajo. Haz clic en el botón **Iniciar una vista previa de la escena**.![](/gdevelop5/tutorials/breakout-game/preview-button.jpg) - -Presiona la flecha izquierda para mover la pala. Descubrirá que la pala no se detiene cuando llega a la barrera, simplemente continúa fuera de la pantalla. Puede solucionar esto cerrando la ventana de vista previa y agregando otra condición al movimiento de la pala. - -Para agregar otra condición para detener la pala: - - - En el mismo evento, debajo de su primera condición, haga clic en **Agregar condición**. - - - Haga clic en **Condiciones comunes para todos los objetos > Posición > Posición X de un objeto**. - - - En el campo **Objeto**, selecciona **Pala**. - - - En el campo **Signo de la prueba**, seleccione **> (mayor que)**. - - - En el campo **Posición X**, escriba la coordenada X del lado derecho de la barrera izquierda. En este ejemplo, es 30. - - - Haga clic en **Aceptar**. - -![](/gdevelop5/tutorials/breakout-game/x_position.jpg) - -Vuelva a obtener una vista previa de su juego. La pala debe detenerse al golpear la barrera izquierda. - -Ahora necesita crear el mismo evento para el lado derecho. Pruébelo usted mismo antes de leer el proceso a continuación. - -- Haga clic en **Agregar un nuevo evento vacío**. -- Haga clic en **Agregar condición**. -- Haga clic en **Teclado \> Tecla presionada**. -- En el campo **Clave**, escriba **Derecha**. -- Haga clic en **Aceptar**. - ------------------------------------------------------------------------- - -- Haga clic en **Agregar acción**. -- Haga clic en **Acciones comunes para todos los objetos \> Movimiento \> Agregar una fuerza (ángulo).** -- En el campo **Objeto**, selecciona **Pala**. -- En el campo **Ángulo**, escriba **0**. -- En el campo **Velocidad (en píxeles por segundo)**, escriba **300**. -- Haga clic en **Aceptar**. - ------------------------------------------------------------------------- - -- Haga clic en **Agregar condición**. -- Haga clic en **Condiciones comunes para todos los objetos \> Posición \> Posición X de un objeto**. -- En el campo **Objeto**, selecciona **Pala**. -- En el campo **Signo de la prueba**, seleccione **\< (menor que)**. -- En el campo **Posición X**, escriba la coordenada X del lado izquierdo de la barrera derecha. En este ejemplo, es 655. -- Haga clic en **Aceptar**. - -Obtenga una vista previa de su juego para asegurarse de que funciona. - -!!! note - - ¿Encuentras que tu pala todavía está pasando la barrera de la derecha? Esto se debe a que GDevelop usa el punto superior izquierdo de un objeto al comparar posiciones X. Una manera fácil de resolver este problema es restar el ancho de la pala de la coordenada X de tu barrera. En nuestro ejemplo, la pala tiene un ancho de 58 px, por lo que la nueva posición X para detener la pala en el lado derecho debe ser **\< 712** (770 - 58). Cámbialo ahora. - ------------------------------------------------------------------------- - -## Agregar comentarios al Editor de eventos Mientras trabaja en su Editor de eventos, es una buena práctica agregar comentarios para cada conjunto de eventos. Podrá encontrar y comprender rápidamente sus eventos a medida que crece su juego si los cataloga mientras trabaja. - -- Para agregar una línea de comentario, haga clic en **Agregar un comentario**. ![](/gdevelop5/tutorials/breakout-game/add_a_comment.jpg) - -- Ingrese el texto de su comentario y use la barra azul a la izquierda del comentario para arrastrar y soltar su comentario donde lo desee. - -![](/gdevelop5/tutorials/breakout-game/moved_comment.jpg) - ------------------------------------------------------------------------- - -## Mover la pelota - Parte 1 - -El siguiente paso será agregar el objeto bola a la escena. Como hiciste con la pala, agrega el objeto bola como un sprite usando ball-1.png como animación. Arrastra y suelta la pelota justo encima de la pala en la escena. - -Cuando piensas en el juego, la pelota deberá hacer cuatro cosas: - - * Muévete cuando el jugador comience el juego - * Rebote cuando choca con la pala o con la barrera - * Rompe ladrillos y rebota cuando choca con ladrillos - * Termina el juego cuando cae fuera de la pantalla debajo de la pala. - -### Poner la pelota en movimiento - -Para hacer que la pelota se mueva cuando el jugador presiona la barra espaciadora para comenzar: - -* Desde la pestaña **Nueva Escena (Eventos)**, haga clic en **Agregar un nuevo evento vacío**. - -* Haga clic en **Agregar condición**. - -* Haga clic en **Teclado \> Tecla presionada**. - -* En el campo **Clave**, escriba **Space** y haga clic en **Aceptar**. - -![](/gdevelop5/tutorials/breakout-game/space_bar.jpg) - ------------------------------------------------------------------------- - -* Haga clic en **Agregar acción**. * Haga clic en **Acciones comunes para todos los objetos \> Movimiento \> Agregar una fuerza (ángulo)**. * En el campo **Objeto**, selecciona **Pelota**. * En el campo **Ángulo**, escriba **-45+RandomInRange(-5, 5)**. Esto lanzará la pelota en un ángulo de -45 grados, con una variación aleatoria adicional de 5 grados en cualquier dirección para agregar desafío al jugador. - -!!! note - - No es necesario memorizar todas las expresiones. Puede abrir el **Editor de expresiones** para ayudarlo a completar los campos. ![](/gdevelop5/tutorials/breakout-game/expression_editor_button.jpg) En este caso, podría escribir **-45** en el campo **Ángulo**, luego hacer clic en **Editor de expresiones** y buscar por **Random**. La expresión **Entero aleatorio en rango** con un valor mínimo de -5 y un valor máximo de 5 generará RandomInRange(-5, 5) en su campo. Puede usarlo en su cálculo de velocidad como desee. - -* En el campo **Velocidad (en píxeles por segundo)**, escriba **300**. Ajuste esto como desee; cuanto mayor sea el número, más rápido será el objeto. * Haz clic en **Permanente**, ya que quieres que la pelota siga moviéndose durante todo el juego. * Haga clic en **Aceptar**. - -![](/gdevelop5/tutorials/breakout-game/ball-start-movement.jpg) - -Este es un buen momento para agregar un comentario, guardar y obtener una vista previa de su juego. La pelota debe moverse cuando se presiona la barra espaciadora. - ------------------------------------------------------------------------- - -### Rebote de la pelota en la barrera y la pala - -Para un buen juego, la pelota debe rebotar de forma realista cada vez que choca con la barrera, la pala o un ladrillo. GDevelop tiene un comportamiento de rebote fácil que puede aplicar a cualquier objeto para simular un rebote real. - -#### Agregar un comportamiento de rebote - -Para agregar un comportamiento de rebote a su objeto de bola: - En la pestaña **Nueva escena**, haz clic en **⋮** junto a tu objeto "Pelota" y haz clic en **Editar objeto**. - Haga clic en la pestaña **Comportamientos**. - Haga clic en **+** para agregar un nuevo comportamiento al objeto. - El comportamiento de rebote no es un comportamiento instalado, por lo que debe encontrarlo. Haga clic en la pestaña**Buscar nuevos comportamientos**. - De la lista en la parte inferior, seleccione "Bounce" y haga clic en "Instalar en proyecto". - -![](/gdevelop5/tutorials/breakout-game/add_bounce_behaviour.png) - -- Ahora puede agregar el nuevo comportamiento al objeto. Desplácese hacia abajo, seleccione **Bounce** y haga clic en **Aplicar**. ![](/gdevelop5/tutorials/apply_bounce.png) - -¡Tu pelota ya está lista para rebotar! - ------------------------------------------------------------------------- - -#### Agregar los eventos de colisión - -A continuación, agregue eventos para hacer que la pelota rebote en la barrera y la pala. Es hora de una condición que usarás mucho en la creación de juegos: una condición de _colisión_. - -Para crear una condición de colisión entre la pelota y la barrera: - - * Desde la pestaña **Nueva Escena (Eventos)**, haga clic en **Agregar un nuevo evento vacío**. - * Haga clic en **Agregar condición**. - * Haga clic en **Condiciones comunes para todos los objetos > Colisión > Colisión**. - * En el primer campo **Objeto**, seleccione **Pelota**. En el segundo campo **Objeto**, seleccione **Barrera**. - * Haga clic en **Aceptar**. - ------------------------------------------------------------------------- - -Para agregar la acción que hace que la pelota rebote en la barrera al chocar: - -- Haga clic en **Añadir acción**. -- Haga clic en **Bounce \> Bounce \> Bounce off another object**. -- En el campo **Object** , elige **Pelota**. -- En el campo **Objects to bounce on** , elige **Barrerar**. -- Haga clic en **OK**. - -![](/gdevelop5/tutorials/breakout-game/add_bounce_action_in_event.png) - ------------------------------------------------------------------------- - -Ahora debe hacer exactamente lo mismo para que la pelota rebote en la pala. Cree un nuevo evento, establezca su condición de colisión y agregue la acción para hacer rebotar la pelota. - -!!! note - - Puede hacer clic con el botón derecho y copiar una condición o acción anterior, y luego hacer clic con el botón derecho para pegarla en un nuevo evento. Es una manera fácil de ahorrar tiempo y esfuerzo, ¡especialmente cuando se trata de eventos similares! - -Guarda y previsualiza tu juego. Empieza a ser divertido... - ------------------------------------------------------------------------- - -## Agrega los ladrillos - -¡Tu pelota tiene que romper algo! El siguiente paso será agregar ladrillos a la escena. Para aprender sobre diseños externos, este tutorial hará que los ladrillos aparezcan en diferentes diseños. - -Para agregar tus ladrillos: - - * Haga clic en la pestaña **Nueva escena** para acceder al Editor de escenas. - * En el panel **Objeto**, haga clic en **+** para agregar un nuevo objeto de tipo _sprite_. - * Nombre este objeto **Ladrillo**. Dale tres animaciones separadas usando los archivos brick-green.png, brick-red.png y brick-yellow.png de la carpeta de tu proyecto. Nombre las animaciones en consecuencia. - * Haga clic en **Aplicar**. - -![](/gdevelop5/tutorials/brick_colours.png) - ------------------------------------------------------------------------- - -### Crear diseños externos - -Puede usar diseños externos para crear algunos niveles diferentes con diferentes formaciones de ladrillos. Un _diseño externo_ (_layout_) es una capa de objetos que se crea fuera de una escena, pero que se puede insertar dinámicamente en cualquier punto. - -Para crear un diseño externo: - - * Haga clic en el botón **Administrador de proyectos** en la parte superior izquierda. {{:gdevelop5:tutorials:breakout-game:project_manager.jpg?nolink|}} - * Haga clic en **Diseños externos** y **+** para agregar un diseño externo. - * Haga clic en **⋮** junto a su nuevo diseño y cámbiele el nombre a **Layout1**. - -![](/gdevelop5/tutorials/breakout-game/external_layout_add.png) - -- Haga clic en **Layout1**. Se le pedirá que elija la escena en la que se incluirá. Elige **NuevaEscena**: esa es la escena donde ocurre todo el juego. Se abrirá una nueva pestaña que se parece a su NewScene existente. - -  - - * Agregue ladrillos en cualquier configuración que elija. Diviértete con esta parte, ¡sé creativo! - -!!! note - - Para acelerar las cosas, haga clic o seleccione objetos, luego mantenga presionada la tecla Ctrl, haga clic y arrastre para replicar instancias en la pantalla. Mantener presionadas las teclas Ctrl+Shift mantiene las nuevas instancias en el mismo eje X o Y. - - ![](/gdevelop5/tutorials/breakout-game/duplicating_objects.gif) - -- Cree dos o más diseños nuevos y asígneles el nombre Layout1, Layout2, etc. - -!!! note - - Siga la convención de nomenclatura Layout1, Layout2, etc. Se vinculará a una variable en breve. - ------------------------------------------------------------------------- - -### Hacer que aparezca un diseño de ladrillo aleatorio - -Para hacer que aparezca un diseño aleatorio al comienzo de cada escena, primero agregue su condición: - - * Haz clic en la pestaña **Nueva Escena (Eventos)** para volver a tu Editor de Eventos. - * Haga clic en el botón **Agregar un nuevo evento vacío**. - * Haga clic en **Agregar condición**. - * Haz clic en **Escena > Al comienzo de la escena**. - ----- - -En lugar de adjuntar acciones a esta condición, ahora creará subeventos que suceden al comienzo de la escena. - -Para comenzar, cree una nueva variable de escena llamada Random_layout: - - * Haga clic en un espacio en blanco dentro del evento que acaba de crear y haga clic en el botón **Agregar un subevento al evento seleccionado**.{{:gdevelop5:tutorials:breakout-game:subevent_button.jpg?nolink|}} - * En el nuevo subevento, haga clic en **Agregar acción**. - * Haga clic en **Variables > Valor de una variable de escena**. - * En el campo **Variable**, escriba **Random_layout** para crear una nueva variable de escena. - * En el campo **Signo de modificación**, seleccione **= (fijar a)**. - * En el campo **Valor**, escriba **Random(2)+1**. - * Haga clic en **Aceptar**. - -![](/gdevelop5/tutorials/breakout-game/modify_scene_variable_value.jpg) - -!!! note - - Intente usar el Editor de expresiones para crear sus expresiones. ![](/gdevelop5/tutorials/breakout-game/expression_editor_button.jpg) - - Cuanto más juegues con las expresiones, más entenderás la lógica detrás de ellas. ¡No tengas miedo de experimentar! - ------------------------------------------------------------------------- - -Ahora encadenará su número de variable al nombre del diseño externo Layout. Este nombre determinará qué diseño aparecerá en la pantalla. (¡Es por eso que era importante ser consistente al nombrarlos antes!) - -Para agregar un diseño aleatorio de ladrillos al comienzo de la escena: - -* Agregue otro sub-evento nuevo para el comienzo de la escena, luego haga clic en **Agregar acción**. * Haga clic en **Diseños externos \> Crear objetos a partir de un diseño externo**. * En el campo **Nombre del diseño externo**, escriba **"Layoutv" + ToString(Variable(Random_layout))**. Esto agregará aleatoriamente uno de los diseños externos a la escena. * Haga clic en **Aceptar**. - -![](/gdevelop5/tutorials/breakout-game/random_layout_selection.jpg) - ------------------------------------------------------------------------- - -Puede agregar interés haciendo que el color del ladrillo sea aleatorio al comienzo de cada escena. - -Para elegir un color de ladrillo al azar: - -* Agregue otro sub-evento nuevo para el comienzo de la escena, luego haga clic en **Agregar acción**. * Haga clic en **Variables \> Valor de una variable de escena**. * En el campo **Variable**, escriba **Brick_colour**. * En el campo **Signo de modificación**, seleccione **= (fijar a)**. * En el campo **Valor**, escriba **Random(2)**. * Haga clic en **Aceptar**. - -![](/gdevelop5/tutorials/modify_scene_variable_value2.png) - ------------------------------------------------------------------------- - -- Agregue un último sub-evento nuevo para el comienzo de la escena, luego haga clic en **Agregar acción**. -- Haz clic en **Sprite \> Animaciones e imágenes \> Cambiar la animación**. -- En el campo **Objeto**, seleccione **Ladrillo**. -- En el campo **Signo de modificación**, seleccione **= (fijar a)**. -- En el campo **Valor**, escriba **Variable(Brick_colour)**. -- Haga clic en **Aceptar**. - -![](/gdevelop5/tutorials/breakout-game/brick_colour_change.jpg) - -Guarda y previsualiza tu juego. Un jugador ahora verá un diseño externo seleccionado al azar con ladrillos en un color aleatorio cada vez que se inicie el juego. - ------------------------------------------------------------------------- - -## Mueve la pelota - Parte 2 - -### Rebota la pelota en los ladrillos - -Ahora que tienes ladrillos en la escena, quieres que la pelota rebote lejos de los ladrillos cuando los golpee. Exactamente como hiciste con la pala y la barrera, necesitarás: - - - Crear un nuevo evento. - - Añadir una condición de colisión entre la pelota y el ladrillo. - - Rebota tu pelota lejos de los ladrillos. - -!!! note - - ¡No olvide que puede cortar y pegar condiciones y acciones de eventos existentes! - ------------------------------------------------------------------------- - -## Destruye los ladrillos - -A medida que la pelota rebota en los ladrillos, debería destruirlos. Destruir un objeto en GDevelop es fácil. - - * En el mismo evento de colisión, haga clic en **Agregar acción**. - * Haga clic en **Acciones comunes para todos los objetos > Objetos > Eliminar un objeto**. - * En el campo Objeto, seleccione **Ladrillo**. - * Haga clic en **Aceptar**. - -![](/gdevelop5/tutorials/breakout-game/delete_a_brick.jpg) - -Guarda y previsualiza tu juego. Deberías poder hacer rebotar la pelota en la pala y destruir los ladrillos. Este es un buen momento para volver a comprobar tu velocidad: ¿quieres que la pelota o la pala sean más rápidas o más lentas? Si es así, juega con tus valores de velocidad hasta que estés satisfecho con el juego. - ------------------------------------------------------------------------- - -## Gana o pierde el juego - -Si el jugador elimina todos los ladrillos, el juego debería felicitar al jugador con la opción de volver a jugar. Si el jugador falla la pelota con la pala, debe decirle al jugador que ha perdido con la opción de volver a jugar. - -### Crea un mensaje de felicitación - -Desea que el mensaje de felicitación esté oculto, solo para que aparezca cuando se hayan ido todos los ladrillos. - -Para agregar un objeto de texto a la escena: - - * Haga clic en la pestaña **Nueva escena**. - * En el panel **Objetos**, haga clic en **+** para agregar un nuevo objeto y seleccione **Texto**. - * En el campo **Nombre del objeto**, escriba **Felicitaciones**. - * En el campo **Texto**, escriba un mensaje de felicitación (por ejemplo, ¡Felicitaciones! ¡Ha eliminado todos los bloques!). También incluya una línea que le diga al jugador "Presione Enter para jugar de nuevo". - * Haga clic en **Aplicar**. - -![](/gdevelop5/tutorials/breakout-game/congratulations_message.jpg) - -- Arrastre y suelte su objeto Felicitaciones en el medio de la escena. - ------------------------------------------------------------------------- - -Para ocultar su objeto de texto al comienzo de la escena: - - * Haga clic en **Nueva Escena (Eventos)**. - * Vaya al evento existente que contiene la condición "Al comienzo de la escena" y haga clic en **Agregar acción**. - * Haga clic en **Acciones comunes para todos los objetos > Visibilidad > Ocultar**. - * En el campo **Objeto**, seleccione **Felicitaciones**. - * Haga clic en **Aceptar**. - -![](/gdevelop5/tutorials/breakout-game/hide_congratulations.jpg) - ------------------------------------------------------------------------- - -Para hacer que su objeto de texto aparezca cuando se destruyen todos los ladrillos: - - * Haga clic en el botón **Agregar un nuevo evento vacío**. - * Haga clic en **Agregar condición**. - * Haga clic en **Condiciones comunes para todos los objetos > Objetos > Número instancias de objetos en la escena**. - * En el campo **Objeto**, seleccione **Ladrillo**. - * En el campo **Signo de la prueba**, seleccione **= (igual a)**. - * En el campo **Valor**, escriba **0**. - * Haga clic en **Aceptar**. - ------------------------------------------------------------------------- - -Si hay 0 ladrillos, la bola debe eliminarse y el objeto de felicitación debe hacerse visible. Ambas acciones son acciones comunes para todos los objetos. Agrégalos ahora. - -![](/gdevelop5/tutorials/breakout-game/if_no_bricks.png) - ------------------------------------------------------------------------- - -También quieres darle al jugador la opción de comenzar un nuevo juego: - - * Crea un nuevo sub-evento {{:gdevelop5:tutorials:breakout-game:subevent_button.jpg?nolink|}} para el evento que acabas de crear donde el número de objetos de ladrillo es =0. - * Haga clic en **Agregar condición**. - * Haga clic en **Teclado > Tecla presionada**. - * En el campo **Clave**, escriba **Return**. (Recuerde que el mensaje de felicitación le dice al jugador que presione Enter para comenzar de nuevo). - * Haga clic en **Aceptar**. - ------------------------------------------------------------------------- - -Añade una acción para volver a la primera escena: - - * Haga clic en **Agregar acción**. - * Haz clic en **Escena > Cambiar la escena**. - * En el campo **Nombre de la nueva escena**, escribe **"NuevaEscena"**. ¡No olvides las comillas! - * Haga clic en **Aceptar**. - -Ahora, cuando el jugador elimine todos los ladrillos, ¡recibirá un mensaje de felicitación y la opción de comenzar de nuevo! - -### Crea un mensaje de finalización del juego - -Si el jugador pierde la pelota, se acabó el juego. Al igual que si un jugador gana, esto implicará hacer visible un mensaje en el momento adecuado y darle al jugador la opción de volver a jugar. - -Primero, agregue un objeto de texto a la escena que permanecerá oculto a menos que el jugador pierda la pelota. - -Siga los mismos pasos que hizo para crear el objeto Felicitaciones en la pantalla, pero cambie el mensaje a Game Over. Incluya la línea sobre comenzar de nuevo. Llame a este objeto de texto **GameOver**. - -Arrastra y suelta tu objeto GameOver en el medio de la escena. Está bien si está encima del objeto Felicitaciones. - ------------------------------------------------------------------------- - -A continuación, vaya al Editor de eventos para ocultar su objeto GameOver al comienzo de la escena. - -Siga los mismos pasos para ocultar el objeto GameOver como lo hizo para el objeto Felicitaciones. Agréguelo como una segunda acción al evento. ![](/gdevelop5/tutorials/breakout-game/gameover_hide.png) - ------------------------------------------------------------------------- - -El siguiente paso será hacer que el mensaje vuelva a aparecer si el jugador pierde la pelota. Para hacer esto, necesita una condición que verifique si la posición Y de la pelota está fuera de la ventana del juego. - -Para agregar una condición para comprobar si el jugador ha perdido el balón: - - * Haga clic en el botón **Agregar un nuevo evento vacío**. - * Haga clic en **Agregar condición**. - * Haga clic en **Condiciones comunes para todos los objetos > Posición > Comparar la posición Y de un objeto**. - * En el campo **Objeto**, selecciona **Pelota**. - * En el campo **Signo de la prueba**, seleccione **> (mayor que)**. - * En el campo **Valor**, escriba **600**. (600 es la altura predeterminada de la ventana del juego, lo que significa que la pelota está fuera de la pantalla). - * Haga clic en **Aceptar**. - -Agregue una acción correspondiente para hacer visible el objeto GameOver. También debe agregar un evento secundario que haga que se elimine la pelota y que el juego se reinicie si el jugador presiona Enter. Agrégalos ahora. - -![](/gdevelop5/tutorials/breakout-game/player_misses_ball.png) - -Guarda y previsualiza tu juego. - ------------------------------------------------------------------------- - -#### ¡Eso es todo! Has terminado tu primer juego de breakout básico. - -Ahora que conoce los conceptos básicos, intente cambiar las velocidades, los diseños de ladrillos, etc. para hacerlo más desafiante. Es posible que desee agregar un sistema de puntuación en el que los puntos aumenten con cada ladrillo destruido, o puede hacer que la bola aumente su velocidad con cada escena. Debido a que el comportamiento de rebote rebota según el ángulo y la velocidad de la fuerza aplicada, también puedes divertirte jugando con la forma de la pala, agregando barreras más desafiantes, etc. - -También sería un buen ejercicio agregar instrucciones al comienzo de la escena que desaparecen cuando comienza el juego (vea la primera imagen de este tutorial). - -**Próximamente habrá más tutoriales pero, mientras tanto, ¡experimenta y juega!** diff --git a/docs/es/gdevelop5/tutorials/geometry-monster/1-install-and-setup.md b/docs/es/gdevelop5/tutorials/geometry-monster/1-install-and-setup.md deleted file mode 100644 index e9b338885f0..00000000000 --- a/docs/es/gdevelop5/tutorials/geometry-monster/1-install-and-setup.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: 1-install-and-setup ---- -➡️ **[Parte siguiente: 2. Creando la primera escena](/es/gdevelop5/tutorials/geometry-monster/2-creating-first-scene)** - -# 1. Instalar y configurar - -**GDevelop** es un motor de juego multiplataforma de código abierto y gratuito para todos - no necesitas saber cómo codificar para crear tu primer juego. Se puede usar tanto para proyectos de pasatiempo como para la creación de juegos con fines de lucro.. - -Para obtener su copia de GDevelop puede visitar la [Página de descarga](https://gdevelop.io/download/) en donde están disponibles las distribuciones para Windows, Mac OS, and Linux. - -También puedes probar un [Editor online](https://editor.gdevelop.io/) directamente en tu navegador si no quieres instalar nada. Para este tutorial, aún se recomienda descargar la versión completa. - -![](/gdevelop5/tutorials/geometry-monster/01_5.png) - -Continuemos con la instalación en Windows - clic en el botón de Windows para iniciar la descarga del instalador para este sistema operativo. - -![](/gdevelop5/tutorials/geometry-monster/04.png) - -Clic en "Save" en la ventana emergente que aparecerá después de hacer clic en el botón - Ello iniciará la descarga del archivo exe. Cuando el instalador sea descargado, diríjase a la carpeta en donde fue descargado y haga clic dos veces para iniciar el proceso de instalación. - -![](/gdevelop5/tutorials/geometry-monster/05.png) - -Espere hasta que se complete el proceso, navegue hasta donde están instalados todos sus nuevos programas y haga doble clic en la aplicación GDevelop para iniciar el editor. Serás recibido con la pantalla de bienvenida en la página de inicio. - -![](/gdevelop5/tutorials/geometry-monster/06.png) - -Desde allí, puede abrir un proyecto ya existente o crear uno nuevo - vayamos por la segunda opción. - -![](/gdevelop5/tutorials/geometry-monster/07.png) - -Al hacer clic en eso, se mostrará una ventana emergente en la que puede seleccionar si desea usar un inicio ya existente o comenzar con un juego vacío - nuevamente, iremos a la segunda opción. - -![](/gdevelop5/tutorials/geometry-monster/09.png) - -Además de los iniciadores, también puede consultar los ejemplos y tutoriales en sus respectivas pestañas en la parte superior de la ventana emergente. - -![](/gdevelop5/tutorials/geometry-monster/10.png) - -Después de hacer clic en el botón "Juego vacío", se nos presenta el nuevo proyecto y la ventana "Proyecto" debería aparecer en el panel izquierdo. Desde allí, seleccione "Configuraciones del juego" para ingresar a la configuración básica de nuestro juego. - -![](/gdevelop5/tutorials/geometry-monster/11.png) - -El nombre de nuestro juego es "Monstruo Geométrico", el tamaño de la ventana es de 640 píxeles de ancho y 960 píxeles de alto; esto creará un área de juego que se adapta al modo retrato en un dispositivo móvil que confirmaremos en un segundo. Puedes ingresar tu nombre o apodo en el campo "Autor" abajo. - -![](/gdevelop5/tutorials/geometry-monster/12_5.png) - -Cuando se desplace hacia abajo, habrá una opción para especificar la "Orientación del dispositivo" - el modo "Retrato", es en el cual podremos jugar el juego en nuestros teléfonos sosteniéndolos con una sola mano y tocando la pantalla. - -También cambiaremos la opción "Pantalla completa" a "Sin cambios en el tamaño del juego", ya que esto se manejará más adelante. - -Después de ingresar toda esa información en los campos respectivos, puede hacer clic en "Aplicar" para guardar esa configuración. - -➡️ **[Parte siguiente: 2. Creando la primera escena](/es/gdevelop5/tutorials/geometry-monster/2-creating-first-scene)** diff --git a/docs/es/gdevelop5/tutorials/geometry-monster/2-creating-first-scene.md b/docs/es/gdevelop5/tutorials/geometry-monster/2-creating-first-scene.md deleted file mode 100644 index 8d0109af021..00000000000 --- a/docs/es/gdevelop5/tutorials/geometry-monster/2-creating-first-scene.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: 2-creating-first-scene ---- -⬅️ **[Parte anterior: 1. Instalar y configurar](/es/gdevelop5/tutorials/geometry-monster/1-install-and-setup)** ➡️ **[Parte siguiente: Introducir el personaje principal](/es/gdevelop5/tutorials/geometry-monster/3-introducing-main-character)** - -# 2. Creando la primera escena - -!!! note - - Es *altamente recomendado* leer la guía de [Conceptos Básicos de Creación de Juegos](/gdevelop5/tutorials/basic-game-making-concepts) antes de continuar para comprender algunas de las funciones básicas de cómo funciona GDevelop - -Ahora que tenemos [instalado el editor de GDevelop](/gdevelop5/tutorials/geometry-monster/1-install-and-setup) y la configuración básica está en su lugar, podemos empezar a crear. Para agregar componentes a nuestro juego, debemos comenzar con una escena - funcionará como una canasta con varios elementos y mostrándolos en la pantalla. - -![](/gdevelop5/tutorials/geometry-monster/14.png) - -Para agregar una nueva escena, haga clic en la sección "Escenas" en el panel izquierdo y cuando el contenido se expanda, aparecerá, "Haga clic para agregar una escena", que se explica por sí mismo. - -![](/gdevelop5/tutorials/geometry-monster/15.png) - -Llamemos a nuestra primera escena "Nivel1". - -![](/gdevelop5/tutorials/geometry-monster/16.png) - -Después de crear con éxito una escena, se nos llevará directamente a ella. Observe las pestañas en la parte superior del editor que puede seleccionar: hay "Nivel1" y "Nivel1 (Eventos)" por separado. En el panel izquierdo puedes manipular las propiedades de cualquiera de las instancias seleccionadas, el contenido real de la escena es visible en el medio (con el área de juego ya en modo retrato), y una lista de "Objetos" en el panel derecho. - -⬅️ **[Parte anterior: 1. Instalar y configurar](/es/gdevelop5/tutorials/geometry-monster/1-install-and-setup)** ➡️ **[Parte siguiente: Introducir el personaje principal](/es/gdevelop5/tutorials/geometry-monster/3-introducing-main-character)** diff --git a/docs/es/gdevelop5/tutorials/geometry-monster/index.md b/docs/es/gdevelop5/tutorials/geometry-monster/index.md deleted file mode 100644 index 9bdc010eaff..00000000000 --- a/docs/es/gdevelop5/tutorials/geometry-monster/index.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: Monstruo Geométrico ---- -# Monstruo Geométrico - -Bienvenido a el tutorial del juego **Monstruo Geométrico** . En esta serie de artículos aprenderás como crear un juego hiper-casual apropiado para dispositivos mobiles. - -![](/gdevelop5/tutorials/geometry-monster-banner.png) - -Desde crear el personaje principal y animarlo mediante adición de controles y recoger objetos hasta detección de colisiones, rastrear el puntaje y tener múltiples vidas. También implementaremos múltiples escenas, incluyendo el menú principal y jugabilidad, efectos de sonido y el nivel de dificultad que aumenta con el tiempo.. - -![](/gdevelop5/tutorials/game-preview.png) - -## Tabla De Contenidos - -1. [Instalar y configurar](/gdevelop5/tutorials/geometry-monster/1-install-and-setup) -2. [Crear la primera Escena](/gdevelop5/tutorials/geometry-monster/2-creating-first-scene) -3. [Introducir el personaje principal](/gdevelop5/tutorials/geometry-monster/3-introducing-main-character) -4. [Escritorio y Controles mobiles](/gdevelop5/tutorials/geometry-monster/4-desktop-and-mobile-controls) -5. [Agregando y moviendo figuras](/gdevelop5/tutorials/geometry-monster/5-adding-and-moving-shapes) -6. [Detección de Colisión](/gdevelop5/tutorials/geometry-monster/6-collision-detection) -7. [Suena divertido](/gdevelop5/tutorials/geometry-monster/7-sounds-fun) -8. [Siguiendo el puntaje](/gdevelop5/tutorials/geometry-monster/8-tracking-score) -9. [Añadiendo bombas](/gdevelop5/tutorials/geometry-monster/9-adding-bombs) -10. [Más vidas](/gdevelop5/tutorials/geometry-monster/10-more-lives) -11. [Fin del Juego](/gdevelop5/tutorials/geometry-monster/11-game-over) -12. [Menú principal](/gdevelop5/tutorials/geometry-monster/12-main-menu) -13. [Disfrutalo!](/gdevelop5/tutorials/geometry-monster/13-juice-it) - - -## Obtener las fuentes - -Obtén las [fuentes de el juego del Monstruo Geométrico](/gdevelop5/tutorials/geometry-monster-sources.zip) que contienen todas las imágenes que necesitas para terminar el juego y el archivo final json del proyecto si deseas verificar todo por ti mismo. - -## Jugar el Juego - -También puedes probar el juego y jugarlo en línea ahora mismo si tienes curiosidad por la jugabilidad - puede ser ejecutado visitando [geometry.enclavegames.com](https://geometry.enclavegames.com/). \ No newline at end of file diff --git a/docs/es/gdevelop5/tutorials/how-to-make-behavior.md b/docs/es/gdevelop5/tutorials/how-to-make-behavior.md deleted file mode 100644 index aa31a03ad00..00000000000 --- a/docs/es/gdevelop5/tutorials/how-to-make-behavior.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: how-to-make-behavior ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -# Cómo crear un comportamiento para un objeto Cuando tu juego comienza a crecer, o incluso al principio al comenzar la creación de tu juego, es una buena idea organizar tanto como sea posible la lógica de tu juego en **[comportamientos personalizados](/gdevelop5/behaviors/events-based-behaviors)**. Esto ayuda a reducir el número de eventos en las hojas de eventos de escena y hace que sea más fácil razonar sobre tu juego. - -Hacer comportamientos personalizados para los objetos del juego puede parecer al principio más complicado que hacer eventos directamente en la hoja de eventos. Los comportamientos son más restringidos y necesitan que pienses más cuidadosamente sobre cómo funciona tu objeto y qué acciones/condiciones debe exponer el comportamiento. Pero los comportamientos personalizados también son una herramienta muy poderosa, que te permite *encapsular* tu lógica dentro de tus objetos y mantener la hoja de eventos de tu escena lo más pequeña posible. - -!!! note - - Si eres un desarrollador de juegos experimentado, incluso se recomienda hacer la **mayor cantidad posible de tu juego** usando **comportamientos personalizados**. - -En este artículo, mostramos cómo: - -1\. Crear un comportamiento simple para un objeto 2. Después, cómo interactuar con **otro objeto** 3. Y finalmente cómo interactuar con un comportamiento personalizado de otro objeto - -## 1. Cómo crear eventos "para un objeto" usando un comportamiento: - -Crea una extensión que contenga comportamientos. El nombre depende de ti. Puedes usar extensiones para agrupar comportamientos relacionados con algunos de tus objetos del juego. - -![20200329-161907.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-161907.png) - -Crea un comportamiento en esta extensión. Asígnale un nombre según el objeto o la capacidad que está agregando: ![20200329-162016.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-162016.png) - -!!! note - - Es una buena idea tener un nombre que resuma lo que está haciendo el comportamiento. Puede que no esté claro al principio: siempre puede cambiar el nombre del comportamiento más adelante. - -Haz clic en *Añadir una nueva función*: ![20200329-162050.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-162050.png) - -Añade una función de comportamiento "doStepPreEvents": ![20200329-162119.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-162119.png) - -Esta función de comportamiento (también llamada método de comportamiento) es llamada automáticamente por el motor del juego cada vez que se representa un fotograma en la pantalla. Es un buen lugar donde colocar eventos que están **actualizando tu objeto**. - -La función ahora es visible en la lista de funciones de comportamiento: ![20200329-162151.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-162151.png) - -We can now add events inside. In this example, we're adding two events: - -* one to change the background color of the scene when space is pressed -* one to play a sound when a button is pressed - -![20200329-162214.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-162214.png) - -Of course, changing the background color of the scene is unusual and should probably not be part of your behavior. But it's a simple way to verify that the behavior is working. - -!!! note - - In a work complex "real" behavior, you could use the behavior properties or some variables to update your object. For example, you can make the object move in this "doStepPreEvents" function. - -Finally, we now go back our game scene and add the behavior to an object. First, we find the object to add the behavior to: - -![20200329-162441.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-162441.png) - -Edit the object and in the "Behaviors" tab, choose *Add a Behavior to the Object*: ![20200329-162720.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-162720.png) - -and in the list choose the behavior with the name you've previously entered. You can see that there is no description for the behavior - we could add one by clicking *Edit Behaviors Properties* in the extension editor. It's in fact a good idea to give a good name and description to make clear what your behavior is made for. - -![20200329-163332.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-163332.png) - -You can try to run the game. Verify that the scene background color is changed when you press *Space*, or that the sound is played when you press the *P* key. - -For example, in the platformer starter game, the background color changed to green, after Space was pressed: ![20200329-164012.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-164012.png) - -## 2. How to interact with another object - -Now, we may want to go one step further and create some logic related to one object, like the player, and other objects, like enemies. - -For this, we can't use "doStepPreEvents", as we can't use other objects in it, apart from the object having the behavior. We need to create a **new behavior function**, that will be an *action*. - -Add a new function in the behavior and choose "Custom (action, condition or expression)": - -![20200329-175353.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-175353.png) - -We can see it added in the list of behavior functions: - -![20200329-175548.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-175548.png) - -Let's rename it according to what it will do: - -![20200329-175724.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-175724.png) - -Then in this function, let's add **a parameter**: the objects that are our enemies. For this, we add a new parameter of type "Object". Then, we'll be able to use this object in the events. - -Navigate to the function "Parameters" tab and in the bottom choose "Add a parameter". Then, enter "Enemy" for the parameter name, then "Objects" for the type. You can enter "Enemy" as the label too (this is what will be displayed when you add the action in the scene events sheet). - -![20200329-175942.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-175942.png) - -Once the parameter is set up, we can now use it as an object in the events. As an example, we will make the enemies play a sound when the player is colliding with them. - -![20200329-191811.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-191811.png) - -Let's finish by adding a nice name and sentence in the configuration of this function: ![20200329-180354.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-180354.png) - -Now the last step is to call the function in the scene events sheet. - -!!! note - - You may be disappointed at this point! "I don't want to add an event in the events sheet". For now, you can't pass objects to behaviors - this could be an addition in the future. - -We need to use the action. You'll find it in the scene events sheet, in the Player actions, as we previously added the behavior to the player. - -In the scene, add an action for Player (or the object you added the behavior to). Then choose "Handle enemies", our new action: - -![20200329-182405.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-182405.png) - -Finally, let's configure it with our enemies: - -![20200329-182601.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-182601.png) - -!!! note - - We use a single object, "SlimeWalk", for the enemies in this example, but you could use a **group** of objects. - -Here is the result: - -![20200329-182802.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-182802.png) - -If you run the game, you'll now see that when the player collides with the enemy, a sound is played. - -Not bad for a single event in the scene events sheet! And we could add more objects and make the behavior more complex. Or we can reuse it for another object that should behave the same as player. We can even disable this behavior if we want the player not to play a sound when colliding with enemies. - -It's up to you to decide how "far" you want to push your behavior. - -## 3. Let's interact with other object behaviors - -Let's now say that your game is getting more complex. For example, enemies now have also their own behavior(s). And this behavior has an action to make the enemies blink. We now want the enemies to blink when the player touches them (as they are hit - we could imagine make them lose some health or play an animation, etc...). - -First, the "Blink" behavior already exists. It's available as an extension you can search and install for your project. Let's add it to our enemies. First, we find it: - -![20200329-183653.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-183653.png) - -Then we add it to our enemy: ![20200329-183726.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-183726.png) - -It's added, we can configure it: ![20200329-184106.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-184106.png) - -Now, let's go back to our Player behavior. We go in the *HandleEnemies* function and add a new parameter, which is of type "Behavior", just after the "Enemy" object parameter: ![20200329-184732.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-184732.png) - -!!! note - - Rough edge here: it's not super obvious that you have to select a behavior as a parameter to make it part of the previous object. This will be improved in future versions. - -And now the function knows that the enemies have a behavior called "Blink"! Let's use the action to make them blink: ![20200329-184916.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-184916.png) - -!!! note - - Another rough edge here: as you added a parameter, you now have to go back to the events sheet and **edit the action** to be sure that the behavior is passed as parameter: - -![20200329-185458.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-185458.png) - -(Note the third parameter). Alas if you don't do this, the action will be missing the last parameter and the game won't work. - -Now you should be able to run the game and when the player touches a enemy, this enemy is blinking! - -## Final note - -The behavior we created here is simple, but should give you a sense of the idea of what is possible with custom behaviors. - -It's a good idea to think about your game in terms of objects and behaviors that interact with each other. The scene events sheet is the central place where the flow of the game is going on, using behaviors to make most of the actions happen in the game. diff --git a/docs/es/gdevelop5/tutorials/index.md b/docs/es/gdevelop5/tutorials/index.md deleted file mode 100644 index c881e6ccbd1..00000000000 --- a/docs/es/gdevelop5/tutorials/index.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: GDevelop 5 tutoriales: ---- -# GDevelop 5 tutoriales: - -Estos tutoriales son guías que explican paso por paso cómo crear un juego desde cero: - -!!! tip - - Si está utilizando GDevelop por primera vez, se recomienda comenzar con estos tutoriales - -* **[Conceptos básicos de creación de juegos: lo que necesita saber para comenzar con GDevelop](/gdevelop5/tutorials/basic-game-making-concepts)** -* **[Geometry Monster: un juego móvil completo y sencillo](/gdevelop5/tutorials/geometry-monster)** -* **[Crea un juego de plataformas](/gdevelop5/tutorials/platformer)** -* **[Crea un juego de disparos espaciales](/gdevelop5/tutorials/space-shooter)** - -Tutoriales comunitarios: - -* [Comprender y utilizar la extensión del generador de ruido para la generación procedimental](/gdevelop5/tutorials/procedural-generation) -* [Crea un juego sencillo de Tank Shooter](/gdevelop5/tutorials/tank-shooter) -* [Crea un juego simple de Endless Runner](/gdevelop5/tutorials/endless-runner) -* [Juego de coches sin fin](/gdevelop5/tutorials/roadrider) -* [Crea un juego sencillo de Breakout](/gdevelop5/tutorials/breakout) - -Lecturas recomendadas para ir más lejos: - - * **[Cómo crear un comportamiento para un objeto](/gdevelop5/tutorials/how-to-make-behavior)** ----- - -# Guías breves de GDevelop ("cómo") -Las siguientes guías proporcionan explicaciones para ciertas partes de GDevelop. También te muestran algunas mecánicas avanzadas para diseñar tus juegos: - -* [Cómo crear un comportamiento para un objeto](/gdevelop5/tutorials/how-to-make-behavior) -* [Cómo mover objetos en tu juego (todas las diferentes soluciones)](/gdevelop5/tutorials/how-to-move-objects) -* [Cómo animar el salto y la caída de un personaje en un juego de plataformas](/gdevelop5/tutorials/how-to-animate-jump-fall-platformer) -* [Cómo mostrar un gran fondo en tu juego](/gdevelop5/tutorials/how-to-display-big-background) -* [Cómo depurar el rendimiento deficiente del juego](/gdevelop5/tutorials/how-to-debug-poor-performance) -* [Explicación de la acción de almacenamiento](/gdevelop5/tutorials/storage-action-explained) -* [Cómo reducir el tamaño de tu juego](/gdevelop5/tutorials/reduce-size-game) -* [Cómo manejar la lógica compleja: la máquina de estados finitos (FSM)](/gdevelop5/tutorials/finite_state_machine) -* [Cómo hacer estados alternables](/gdevelop5/tutorials/how-to-make-togglable-states-with-variables) -* [Cómo utilizar GDevelop en equipo (varios desarrolladores y compañeros de equipo)](/gdevelop5/tutorials/how-to-use-GDevelop-as-a-team) -* [Cómo usar Piskel para importar una imagen de hoja de sprites](/gdevelop5/tutorials/piskel-sprite-sheets) -* [Cómo hacer una copia de seguridad y mantener su proyecto usando GitHub y GitHub Desktop](/gdevelop5/tutorials/using-github-desktop) -[Cómo cambiar el modo Editor de condiciones y acciones de la Hoja de eventos](/gdevelop5/tutorials/change-event-editor-mode) -* [Cómo agregar tablas de clasificación en tiempo real a tu juego](/gdevelop5/tutorials/leaderboards) ----- -# Otras guías - -Las siguientes guías proporcionan explicaciones relacionadas con el desarrollo de juegos. No son específicos de GDevelop. - -* [Construye .apk de tus juegos con cordova](http://wiki.compilgames.net/doku.php/gdevelop5/publishing/android_and_ios_with_cordova) -* [Publica tu juego en itch.io](/gdevelop5/publishing/publishing-to-itch-io) -* [Publica tu juego en la tienda de aplicaciones de Amazon](/gdevelop5/publishing/Publica tu juego en la tienda de aplicaciones de Amazon) -* [Publicar tu juego en Game Jolt](/gdevelop5/publishing/Publicar tu juego en Game Jolt) -* [Publicar tu juego en Kongregate](/gdevelop5/publishing/Publicar tu juego en Kongregate) -* [Antes de publicar tu juego](http://wiki.compilgames.net/doku.php/gdevelop5/tutorials/before-publishing-your-game) - ----- - -# Recursos - -Enlaces a sitios web de terceros donde puedes encontrar sprites, música y efectos de sonido para tus juegos y ejemplos de juegos, plantillas y software para ayudarte con el desarrollo del juego. - - * [Lista de recursos](http://wiki.compilgames.net/doku.php/es/gdevelop5/tutorials/resources) - ----- - -La wiki puede ser mejorada por cualquier persona: no dudes en crear una cuenta y contribuir mejorando un artículo, corrigiendo errores o escribiendo nuevos tutoriales. \ No newline at end of file diff --git a/docs/es/gdevelop5/tutorials/platform-game/2-player-animations.md b/docs/es/gdevelop5/tutorials/platform-game/2-player-animations.md deleted file mode 100644 index a97ea7edd8d..00000000000 --- a/docs/es/gdevelop5/tutorials/platform-game/2-player-animations.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: Cómo hacer un juego de plataformas - animación de los jugadores. ---- -# Cómo hacer un juego de plataformas: animación de los jugadores. - -Este tutorial te explicará cómo agregar diferentes animaciones y cómo usar eventos para cambiar las animaciones cuando el estado del jugador está cambiando. - -[Click aquí para leer el tutorial anterior](/gdevelop5/tutorials/platform-game/start) en caso de que no lo hayas hecho. - -## Agregar Animaciones (Add animations) - -En este momento, el jugador siempre muestra la misma animación de pie, pero vamos a cambiar eso usando eventos. - -Pero primero, necesitamos agregar las animaciones apropiadas al objeto Player. - -### Animación de Salto (Jumping animation) - -Abra el editor del objeto Player y asegúrese de estar en la pestaña `Propiedades`. Luego haga clic en el botón + en la parte inferior de la ventana para agregar una animación. Finalmente, haga clic en la miniatura con el signo `+` de la nueva animación y elija `p1_jump` como la imagen a agregar: ![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_00.56.03.png) - -A las animaciones se le pueden dar nombres. Es una manera fácil de diferenciarlos y usarlos en los eventos. Es tan simple como hacer clic en "Nombre de animación opcional" y escribir el nombre que desee. - -Introduzca "Inactivo" y "Salto" como nombres para nuestras dos animaciones: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_00.56.53.png) - -### Animación Corriendo (Running animation) - -También necesitamos agregar la animación de caminar para mostrar cuando el personaje está caminando en una plataforma. Agregue otra animación como hicimos antes y, al agregar imágenes, seleccione las 5 imágenes `p1walk03.png`,` p1walk04.png`,… y `p1_walk07.png`. Puede seleccionar todas las imágenes a la vez o una por una como prefiera. Finalmente establezca el nombre de la animación a `Corriendo`: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_00.59.15.png) - -Estas imágenes se mostrarán para crear la animación. Necesitamos ajustar un poco algunas opciones. Primero, haga clic en `No hacer bucle` para cambiar esta opción a `Bucle`. Esto hará que la animación se reinicie cuando se llegue al final. El temporizador muestra el tiempo en segundos entre cada imagen: esta es la velocidad de la animación. Ingrese 0.05 en lugar de 1 para que la animación se reproduzca más rápido: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_01.02.03.png) - -Nuestro objeto ya está listo, haga clic en "Aplicar" en la esquina inferior derecha. - -## Usa eventos para cambiar animaciones. - -### El primer evento: animar al saltar. - -Ahora, necesitamos cambiar la animación que muestra el objeto de acuerdo con lo que está haciendo el jugador. Vamos a usar los eventos, que se usan para describir las reglas del juego y cómo los objetos se animan, se mueven y responden a las entradas del jugador. Es un tipo de programación visual que puede aprenderse muy rápidamente y es accesible para todos. - -Abra el editor de eventos de la escena haciendo clic en la pestaña llamada `Nueva escena (eventos)`. - -Por ahora, el editor de eventos está vacío: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_01.05.29.png) - -Agregue el primer evento haciendo clic en el botón Agregar evento en la barra de herramientas superior. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.40.43.png) - -Un evento se compone de una lista de condiciones (por ejemplo, para verificar si se está produciendo una colisión, si se presiona una tecla, si la vida del jugador es baja, etc.) y una lista de acciones que suceden cuando se cumplen las condiciones. - -Por ahora el evento está vacío: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.41.32.png) - -En este primer evento, comprobaremos si el jugador está saltando y cambiaremos su animación en consecuencia. Primero haga clic en `Agregar condición`. - -En la nueva ventana, puedes ver todas las condiciones disponibles para hacer tu juego. Queremos comprobar si el objeto Player, que tiene el comportamiento del personaje de Platformer, está saltando. Abra la categoría llamada `Comportamiento de la plataforma`y luego elija` Está saltando`. - -La parte derecha de la ventana muestra los parámetros necesarios para configurar la condición. Aquí, queremos comprobar si el objeto "Jugador" está saltando, así que elija Jugador para el primer parámetro (el segundo se llena automáticamente): - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.45.29.png) - -¡La condición está lista! Haga clic en Aceptar en la esquina inferior derecha para cerrar la ventana y ver la condición agregada en el evento: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.47.17.png) - -Ahora agreguemos la acción para cambiar la animación del Jugador cuando el personaje está saltando. Haga clic en `Agregar acción`. - -La ventana abierta es similar, pero ahora muestra todas las acciones disponibles: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.51.10.png) - -Vamos a cambiar la animación del jugador, que es un objeto Sprite. Abra la categoría `Sprite`, luego` Animaciones` y finalmente elija `Cambiar la animación (por nombre)`. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.52.28.png) - -Seleccione el objeto `Player` para el primer parámetro y escriba` "Saltando" `en el segundo campo. **Cuidado**, tiene que escribir las comillas dobles, ya que cualquier texto en las acciones o condiciones de GDevelop también se puede generar mediante una fórmula, por lo que es necesario usar comillas dobles para decirle a GDevelop que este es un texto: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.54.51.png) - -Cuando haya terminado, haga clic en Aceptar en la esquina inferior derecha. ¡El primer evento está listo! - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.56.10.png) - -### Echemos un vistazo al resultado. - -Haga clic en el botón Reproducir en la barra de herramientas para iniciar una vista previa. Cuando saltas, verás los cambios de animación del jugador! - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.58.31.png) - -Pero cuando el Reproductor está de vuelta en el piso, puede ver que la animación no está configurada de nuevo en la animación Inactiva. ¡Esto es simplemente porque nunca le dijimos a GDevelop que lo hiciera! Agreguemos otro evento para arreglar esto. - -## Animación Idle y correr (Idle and running animation) - -Vamos a agregar un nuevo evento en blanco. Haga clic en 'Agregar condición' y esta vez seleccione la condición 'Está en el piso' dentro de la categoría de comportamiento de Platformer. Tenga en cuenta que puede usar el cuadro de búsqueda en la parte superior para encontrar rápidamente una condición cuando sepa su nombre. - -Rellene el primer parámetro eligiendo el objeto Jugador: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_21.52.02.png) - -Haga clic en Ok para validar la condición: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_21.54.47.png) - -De hecho, es una buena oportunidad para hacer que nuestro personaje muestre no solo el ralentí y el salto, sino también la animación en ejecución: - -Podríamos agregar dos eventos, con dos condiciones y una acción en cada evento: - - * Cuando el jugador está en el suelo * y * no se está ejecutando, se debe mostrar la animación de inactividad. - * Cuando el jugador está en el suelo * y * en ejecución, se debe mostrar la animación en ejecución. - -En su lugar, podemos usar * subeventos *, para que la condición solo compruebe si el jugador está en el suelo una vez. - -Seleccione el evento que creamos haciendo clic en un área vacía cerca de `Agregar condición` o` Agregar acción`: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_21.59.36.png) - -Luego, haga doble clic en el botón para agregar un sub-evento: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.05.49.png) - -Se agregan dos eventos "secundarios" debajo del evento que se considera el evento principal ahora. Hay un margen agregado a la izquierda de los eventos y una línea entre ellos para confirmar visualmente que están conectados: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.07.02.png) - -¡Ahora puedes agregar condiciones dentro de estos eventos! Para el primero, agregue una condición para verificar si el reproductor se está ejecutando: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.08.06.png) - -Para la segunda, agregue la misma condición, pero marque la opción 'Invertir condición'. De esta manera, las acciones del evento se iniciarán cuando el objeto del Jugador **NO **se esté moviendo: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.09.30.png) - -Aquí están nuestros eventos hasta ahora: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.10.03.png) - -Ya casi hemos terminado, terminemos agregando las acciones necesarias a cada evento. Use el primer evento para configurar la animación del personaje en `" Running "y el segundo evento para configurar la animación del carácter` en "Inactivo" `. - -Puedes agregar estas acciones de la misma manera que hicimos antes para la animación de salto. No olvide las comillas (`" "`) cuando ingrese los nombres de animación. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.15.20.png) - -## Tiempo para previsualizar (y guardar) (Time to preview (and save)) - -Puedes iniciar una vista previa de tu juego y ver que la animación del jugador está cambiando mientras corres y saltas. - -Una pequeña mejora que podemos hacer es configurar la animación en Salto cuando el jugador también se está cayendo (de lo contrario, la animación en ejecución seguirá reproduciéndose cuando el jugador llegue al final de la plataforma). - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.23.10.png) - -## Siguiente paso: haz que la cámara siga al jugador - -Por ahora, es difícil construir un gran nivel para explorar porque el jugador puede caminar rápidamente fuera de la pantalla. La siguiente parte del tutorial mostrará cómo hacer que la cámara siga al jugador. Es realmente simple, un solo evento será suficiente! - -Read️ Read **[la próxima parte del tutorial aquí](/es/gdevelop5/tutorials/platform-game/3-have-camera-follow-player)**! diff --git a/docs/es/gdevelop5/tutorials/platform-game/3-have-camera-follow-player.md b/docs/es/gdevelop5/tutorials/platform-game/3-have-camera-follow-player.md deleted file mode 100644 index b73466e0c0f..00000000000 --- a/docs/es/gdevelop5/tutorials/platform-game/3-have-camera-follow-player.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Sigue al jugador con la cámara (Follow the player with the camera) ---- -# Sigue al jugador con la cámara (Follow the player with the camera) - -!!! note - - Este tutorial es parte del tutorial [tutorial de plataformas](/gdevelop5/tutorials/platform-game/start), ¡pero también puedes reutilizarlo para cualquier otro juego! - -Por ahora, es difícil construir un gran nivel para explorar porque el jugador puede salir rápidamente de la pantalla. - -Agreguemos otro evento para que la cámara siga al jugador. Hay múltiples maneras de lograr esto. Lo más simple es agregar un evento sin condiciones y la acción llamada `Centrar la cámara en un objeto`: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.25.53.png) - -El nuevo evento se ve así: ![](/ gdevelop5/ tutoriales/ platform-game/ screen_shot_2017-09-26_at_22.26.20.png) - -Puede iniciar una vista previa para ver que la cámara ahora está centrada en el reproductor: ![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.27.31.png) - -## Eso es todo - -Eso fue fácil ¿verdad? Hay otras acciones que pueden ser útiles. Por ejemplo, las acciones se pueden usar para cambiar las coordenadas de la cámara solo en el eje X o Y. Puede ser útil para los juegos de plataforma en los que no puedes subir / bajar, solo pasar por el nivel con un desplazamiento lateral. - -## Siguiente paso: agregar una plataforma 'Saltar a través' - -Es un poco aburrido tener un solo tipo de plataforma. ¡Agreguemos otra con una imagen diferente y eso no es sólido, así que puedes saltar sobre ella desde abajo! - -Lee **[la siguiente parte del tutorial](/es/gdevelop5/tutorials/platform-game/4-add-jump-thru-platforms)**! diff --git a/docs/es/gdevelop5/tutorials/platform-game/4-add-backgrounds-objects.md b/docs/es/gdevelop5/tutorials/platform-game/4-add-backgrounds-objects.md deleted file mode 100644 index f789848838e..00000000000 --- a/docs/es/gdevelop5/tutorials/platform-game/4-add-backgrounds-objects.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Añadir un objeto de fondo (Add a background objects) ---- -# Añadir un objeto de fondo (Add a background objects) - -!!! note - - Este tutorial es parte del [tutorial de plataformas](/gdevelop5/tutorials/platform-game/start), ¡pero también puedes usarlo para cualquier otro juego! - -En este momento el nivel es bastante simple sin las cosas elegantes. Vamos a añadir algunos objetos estáticos en el fondo. - -## Crear objetos - -Agregar objetos en el fondo es realmente fácil: solo agrega algunos sprites con las imágenes que deseas y colócalos en la escena. - -Por ejemplo, cree un objeto `Sprite`, agregue una animación y agregue la imagen` bush`: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-27_at_22.45.14.png) - -Puede nombrar a este objeto `Bush`, y también agregar otro objeto con la imagen` cloud`: - -![](/ gdevelop5/ tutoriales/ platform-game/ screen_shot_2017-09-27_at_22.46.01.png) - -## Poner objetos en la escena y cambiar el orden z - -Si agrega objetos a la escena, puede ver que el reproductor se muestra detrás de ellos: - -![](/ gdevelop5/ tutoriales/ platform-game/ screen_shot_2017-09-27_at_22.52.10.png) - -Cada instancia en la escena tiene una propiedad que se llama **orden z**. Es un número y los objetos con un orden Z superior se mostrarán frente a los objetos con un orden Z inferior. El orden Z puede ser cualquier número y también puede ser negativo. - -Aquí, puede cambiar el orden Z de los arbustos y las nubes para establecerlos como negativos, de modo que el carácter del jugador (con un orden Z que debería ser 1) se muestre delante de ellos. Para ello, selecciona las instancias en la escena. Puede seguir presionando MAYÚS en su teclado para seleccionar más de un objeto: - -![](/ gdevelop5/ tutoriales/ platform-game/ screen_shot_2017-09-27_at_22.59.47.png) - -Luego, cambie el valor del campo "Orden Z" en el * Panel de propiedades * a la izquierda. Por ejemplo, -2 (o cualquier número negativo) se asegurará de que estos objetos estén detrás del jugador: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-27_at_23.00.40.png) - -Ahora tenemos el resultado visual que queríamos: - -![](/ gdevelop5/ tutoriales/ platform-game/ screen_shot_2017-09-27_at_23.01.44.png) - -¡Lanza una vista previa para comprobar que todo funciona bien! - -## Siguiente paso: agregue monedas y muestre cuántas se han recolectado - -Agreguemos un objetivo para el jugador: ¡recoger tantas monedas como sea posible! Para hacer esto, usaremos eventos para recordar la puntuación del jugador, reproducir sonidos y eliminar las monedas recolectadas. - -Lea **[la siguiente parte del tutorial aquí](/es/gdevelop5/tutorials/platform-game/5-add-coins-and-number-of-collected-coins)**! diff --git a/docs/es/gdevelop5/tutorials/platform-game/4-add-jump-thru-platforms.md b/docs/es/gdevelop5/tutorials/platform-game/4-add-jump-thru-platforms.md deleted file mode 100644 index 6935b19138b..00000000000 --- a/docs/es/gdevelop5/tutorials/platform-game/4-add-jump-thru-platforms.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Añadir una plataforma de salto 'a través' ---- -# Añadir una plataforma de salto 'a través' - -!!! note - - Esta página es parte del [tutorial de plataformas](/gdevelop5/tutorials/platform-game) , pero lo aprendido puede ser aplicado a cualquier otro juego de plataformas! - -Hasta ahora, todas las plataformas son solidas, no puedes saltar sobre ella si estas debajo de la misma. Creemos una plataforma que permita este comportamiento. - -## Crear el objeto nuevo - -Crea el nuevo objeto`Sprite` , añade la animación y elige la imgen denominada`bridgeLogs`: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.40.34.png) - -Renombra el objeto a `SmallBridge`: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.42.01.png) - -## Hacer que la plataforma sea 'salta-a-traves'. - -Hasta ahora, el objeto no es considerado una plataforma. Edita el objeto y cambia a la pestaña `Comportamientos`. Añade el comportamiento denominado Plataform y finalmente elige "Jumpthru platform" en la lista cuando hagas click en el campo "Type": - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.44.30.png) - -## Previsualiza! - -Previsualiza el resultado y observa como puedes saltar sobre el puente! - -![](/gdevelop5/tutorials/platform-game/jumpthru.gif) - -No olvides guardar los cambios!! - -## Next step: add backgrounds objects - -The level is still quite empty. Let's add some background objects to make it more pretty. -We'll then add coins to collect and enemies! - -➡️ Lee **[Añadir objetos de fondo](/gdevelop5/tutorials/platform-game/4-add-backgrounds-objects)**! \ No newline at end of file diff --git a/docs/es/gdevelop5/tutorials/platform-game/5-add-coins-and-number-of-collected-coins.md b/docs/es/gdevelop5/tutorials/platform-game/5-add-coins-and-number-of-collected-coins.md deleted file mode 100644 index 822caaf50e9..00000000000 --- a/docs/es/gdevelop5/tutorials/platform-game/5-add-coins-and-number-of-collected-coins.md +++ /dev/null @@ -1,196 +0,0 @@ ---- -title: Crea monedas y muestra la cantidad de monedas recolectadas. ---- -# Crea monedas y muestra la cantidad de monedas recolectadas. - -!!! note - - Esta página es parte del [tutorial de plataformas](/gdevelop5/tutorials/platform-game/start), pero también se puede reutilizar para cualquier otro juego, solo reproduce los elementos. - -En el juego de plataformas que hemos creado hasta ahora, el jugador tiene mucho que hacer: vamos a poner monedas para que el jugador las recoja. - -## Añadir monedas - -Comienza creando un nuevo objeto "Sprite" con una animación con la imagen "coinGold": - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-28_at_23.29.30.png) - -Puedes llamar a este objeto "Moneda". - -A continuación, puede poner varias monedas en el nivel. Como necesitarás varias monedas, es una buena idea usar la función "arrastrar y clonar" del editor de escenas: selecciona una moneda, sigue presionando Ctrl (o Cmd en macOS) y arrastra la moneda. Esto lo duplicará. - -Si mantiene presionada la tecla Mayús mientras se mueve, también podrá mover la moneda creada en el mismo eje que la original. - -![](/gdevelop5/tutorials/platform-game/clone.gif) - -## Eliminar monedas cuando se recogen - -Ahora, destruyamos el objeto de la moneda cuando el jugador los toca. Agrega un nuevo evento y agrega una condición. Elija la condición para probar una colisión entre dos objetos. El primer objeto debe ser "Jugador" y el segundo objeto debe ser "Moneda": - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-28_at_23.36.12.png) - -A continuación, puede agregar una acción que eliminará la moneda. La acción solo utilizará los objetos de Monedas que se hayan recogido en la primera condición, por lo que solo se eliminará la moneda que chocó con el jugador. - -Agregue la acción "Eliminar un objeto" (de la categoría "Acciones comunes para todos los objetos\> Objetos") e ingrese Moneda como el objeto a eliminar: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-28_at_23.41.46.png) - -El evento debería verse así: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-28_at_23.42.34.png) - -Ahora puede iniciar una vista previa y ver que la moneda se elimina cuando el jugador corre sobre ellos. - -## Reproducir un sonido al recoger una moneda - -Para hacer que el juego se sienta más dinámico y gratificante, vamos a reproducir un sonido cuando se recoge una moneda. - -Es fácil: ya tenemos un archivo de sonido llamado `coin.wav` en nuestra carpeta del juego (si ese no es el caso, puedes [descargar los recursos aquí](http://www.compilgames.net/dl/PlatformerTutorialResources.zip) y extraerlos en la carpeta del juego). - -Es algo que no hemos hecho antes: podemos agregar varias acciones para ejecutar en un solo evento. Para reproducir un sonido, agreguemos otra acción al evento que usamos para eliminar las monedas. Haga clic en 'agregar una acción' justo debajo de la acción "Eliminar objeto Moneda" y agregue la acción llamada 'Reproducir un sonido', desde la categoría 'Audio'. De esta manera, no solo eliminaremos la moneda sino que también estaremos reproduciendo el sonido. - -Hay un montón de parámetros disponibles para reproducir un sonido. El primero y más importante es el archivo de sonido a reproducir. Haga clic en el campo y luego en "Elegir un nuevo archivo de audio". - -![](/gdevelop5/tutorials/platform-game/choose-new-audio-file_2x.png) - -Elija el archivo `coin.wav` que descargó con el resto de los recursos y que puso en la carpeta del juego: - -![](/gdevelop5/tutorials/platform-game/choose-coin-wav_2x.png) - -Deje los otros parámetros como están (es decir, no repita el sonido, el volumen a `100` y la velocidad predeterminada para el sonido). - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.50.22.png) - -¡Eso es todo! Simplemente inicia la vista previa y el sonido se reproducirá cada vez que recojas una moneda - -## Incrementa un puntaje usando variables - -Vamos a utilizar una variable para actualizar y recordar la puntuación del jugador. - -Las variables son contenedores que podemos usar para almacenar y recordar cierta información, como números y cadenas (texto). En GDevelop hay diferentes tipos de variables: - -- __ **Las variables de objeto **__ son variables privadas, específicas de cada instancia de un objeto. Esto significa que cada instancia puede almacenar sus propios valores, sin que se compartan con las otras instancias. Puede, por ejemplo, ser útil si queremos cambiar la vida de cada enemigo. -- __ **Las variables de escena **__ (las más utilizadas) son variables asociadas a una escena. Esto significa que sus valores no se comparten con otras escenas en nuestro juego. Es útil almacenar información relevante solo para la escena reproducida actualmente. Por ejemplo, la vida del jugador o una puntuación. -- __ **Las variables globales **__, como sugiere su nombre, son globales en todo el juego. Los valores se comparten con todas las escenas en todo el juego. Es útil si nos gustaría almacenar información que deseamos compartir entre todas las escenas, como la cantidad de bala o la cantidad de dinero que tiene el jugador. - -La variable que vamos a usar es una variable de escena y se llamará "Score". - -Añadamos una acción en el último evento que hemos realizado. Elija la acción `Variables\> Valor de una variable`. Esta acción se utilizará para agregar 100 a la variable Score, así que complete el parámetro como se muestra aquí: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.52.43.png) - -En GDevelop no necesitamos declarar variables antes de usarlas, podemos usar cualquier variable sin declararla simplemente nombrándola en una acción o condición. En caso de que estemos usando una acción en una variable que no está declarada, GDevelop la creará automáticamente para nosotros, con el valor predeterminado de '0' (o un texto vacío) después de ejecutar la acción en la variable para evitar cualquier problema. . - -Pero, para tener una mejor organización de su juego, es una buena práctica declarar variables antes de usarlas. De esta manera, es más fácil encontrar qué variables estás usando en tu juego. También puede cambiar su valor predeterminado si desea que sea diferente a 0. Para declarar una variable, haga clic en el botón "..." a la derecha del nombre de la variable. Esto muestra la lista de variables: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.54.46.png) - -La lista se muestra y está vacía, ya que no se declaró ninguna variable todavía: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.55.27.png) - -Puede hacer clic en el botón "+" para agregar una variable e ingresar "Puntuación" como su nombre: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.56.23.png) - -Recuerda que esto es totalmente opcional, solo una buena práctica. - -## Mostrar una puntuación usando un objeto de texto - -### Añadir objeto de texto - -Por ahora, la puntuación de la variable no se puede ver, por lo que no podemos verificar que la puntuación haya aumentado (podríamos, utilizando el [Debugger](/gdevelop5/ interface/ debugger), pero el jugador no puede verla). - -Necesitamos usar un objeto de Texto para mostrar el valor de la variable Puntuación. Añadamos un nuevo objeto. Esta vez, elija `Texto` cuando se le pregunte qué tipo de objeto crear: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.58.27.png) - -Cambie entonces las propiedades del objeto para que el texto sea negro y más grande que el tamaño predeterminado: ![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.09.28.png) - -A continuación, puede colocar el objeto en la escena: ![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.20.23.png) - -### Cambiando la capa de texto - -Si inicia el juego, puede ver que el texto de Puntuación se muestra con el resto de los objetos y su posición no está fija en la pantalla. Podemos resolver este problema fácilmente usando una capa encima de la capa base. Abre el editor de capas usando este botón: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.34.33.png) - -Se muestra la lista de capas, con solo la capa base por ahora: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.35.00.png) - -Haga clic en el botón `+` para agregar una capa. Introduzca "UI" para su nombre (UI significa interfaz de usuario). - -Finalmente, mueva el objeto de texto a esta nueva capa seleccionando la instancia de texto en la escena y en las propiedades de la izquierda, seleccione la capa de interfaz de usuario: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.40.44.png) - -Asegúrese de que el objeto se muestra en algún lugar visible en la pantalla, por ejemplo, colóquelo en la parte superior izquierda. El rectángulo negro en el editor de escenas representa el tamaño de la ventana: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.42.46.png) - -### Mostrar el valor de puntuación - -Ahora que tenemos un texto en nuestra pantalla, es hora de que muestre el valor de la variable Score. Añadir un nuevo evento. Este evento no tendrá ninguna condición, lo que significa que la acción se ejecutará cada vez que se presente un cuadro del juego en la pantalla (aproximadamente 60 veces por segundo). - -Agregue una acción y elija la que se encuentra en la categoría "Objeto de texto" "Modificar el texto". - -Para el primer parámetro, elija el objeto "Score", ya que es este objeto el que queremos actualizar. Para el segundo parámetro, elija el operador "= (establecido en)" (queremos configurar el texto en un nuevo valor). Finalmente, el último parámetro representa el nuevo contenido del texto. Es una expresión de cadena que GDevelop evaluará durante el juego cuando se ejecute la acción. - -Podemos especificar un texto escribiéndolo entre comillas (como esto: "Hello World"). Pero también podemos usar algo llamado expresiones. Una expresión es una función que está devolviendo un cierto valor. En este caso, necesitamos el valor de la variable Puntuación y queremos usar ese valor para actualizar el contenido del objeto Texto. Las expresiones son un tema más avanzado, por lo que no lo profundizaremos por ahora. - -Lo que necesita saber por ahora es que para obtener el valor de una variable de escena, necesitamos usar la expresión "Variable (variableName)". Y como es una variable numérica pero necesitamos el valor como texto, necesitamos convertir el valor devuelto de esta expresión en una cadena. Podemos hacerlo usando otra expresión llamada "ToString (valueToConvert)". Por lo tanto, la expresión real debe verse como esta "ToString (Variable (Score))". - -Finalmente, podemos agregar esta expresión después de un texto estático usando el operador "+":" Score: "+ ToString (Variable (Score))" (note las comillas dobles que rodean el texto). - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.58.12.png) - -Muchas otras funciones y expresiones están disponibles en GDevelop. Cuando se combinan, se crean acciones poderosas que hacen un trabajo avanzado. Puede encontrar más expresiones en el editor de expresiones haciendo clic en el icono azul al lado de los campos de valor: - -![](/gdevelop5/tutorials/platform-game/expression-icon.png) - -Aquí está el evento final: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.59.31.png) - -Puedes previsualizar el juego, ver que la puntuación se muestra y se actualiza cuando recojas una moneda. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_19.00.24.png) - -## Bonus: asegurarse de que recoger dos monedas al mismo tiempo funcione - -Es posible que haya notado que si recolecta dos monedas al mismo tiempo (por ejemplo, si dos monedas se superponen), el puntaje solo aumenta una vez. Por ejemplo, si cada moneda vale 100 puntos y acumulas 2 monedas, la puntuación solo aumentará a 100 en lugar de 200. La solución para esto es fácil y es algo que aún no hemos visto: vamos a utilizar un evento llamado para cada objeto. Lo que haremos es decirle al motor que por cada moneda que se recolectó, agregue 100 a la puntuación. - -Para comenzar, haga clic en el botón + en la barra de herramientas del Editor de eventos: - -![](/gdevelop5/tutorials/platform-game/gdevelop_5_2018-05-30_11-30-39.png) - -Seleccione "para cada objeto": - -![](/gdevelop5/tutorials/platform-game/2018-05-30_11-33-09.png) - -Esto agregará un evento en la parte inferior de la página del evento. Arrástrelo hacia arriba y conviértalo en un sub-evento de la colisión del jugador con la moneda: - -![](/gdevelop5/tutorials/platform-game/click-to-choose-4.png) - -Haga clic para elegir un objeto y elija el objeto Coin. - -![](/gdevelop5/tutorials/platform-game/click-to-choose2.png) - -Ahora que ha agregado el objeto al subevento, movamos las acciones hacia abajo al subevento (para que las acciones se repitan para cada moneda elegida por condiciones). - -Desplácese sobre la primera acción, haga clic con el botón derecho y córtela, luego desplace el cursor sobre la acción en el subevento, haga clic con el botón derecho y pegue. Haz esto por las otras dos acciones. También puede arrastrar y soltar acciones, que es más rápido que cortarlas y pegarlas. - -![](/gdevelop5/tutorials/platform-game/move-to-sub1.png) - -Así es como debería verse el evento final: - -![](/gdevelop5/tutorials/platform-game/move-to-sub2.png) - -Ahora ejecute el juego y verá que si reúne dos monedas al mismo tiempo, la puntuación se actualizará correctamente si ejecuta dos monedas al mismo tiempo. - -## Siguiente paso: agregar enemigos - -Todos los juegos de plataformas vienen con enemigos que debes evitar o matar al saltar sobre ellos. Agreguemos algunos y veamos cómo podemos hacer que se muevan. - -Leer **[Agregar enemigos](/es/gdevelop5/tutorials/platform-game/6-add-enemies)**! diff --git a/docs/es/gdevelop5/tutorials/platform-game/6-add-enemies.md b/docs/es/gdevelop5/tutorials/platform-game/6-add-enemies.md deleted file mode 100644 index c5a50e1e34f..00000000000 --- a/docs/es/gdevelop5/tutorials/platform-game/6-add-enemies.md +++ /dev/null @@ -1,150 +0,0 @@ ---- -title: Agrega enemigos a tu juego de plataformas ---- -# Agrega enemigos a tu juego de plataformas - -!!! note - - Este tutorial es parte del [tutorial de plataformas](/gdevelop5/tutorials/platform-game/start), ¡pero también puedes reutilizarlo para cualquier otro juego donde tengas enemigos! - -Añadamos un enemigo que se moverá hacia la izquierda y hacia la derecha en las plataformas. El jugador puede destruirlo saltando sobre él. - -## Crea y agrega el objeto enemigo a tu escena - -Crea un nuevo objeto "Sprite". Agrega las imágenes "slimeWalk1.png" y "slimeWalk2.png" a la primera animación y llama a esta animación "Caminar". - -Dado que nuestro enemigo se moverá constantemente, no necesitamos una animación inactiva ni ninguna otra animación. - -Establezca la animación en bucle haciendo clic en el botón "No hacer bucle", para voltearlo a "Bucle" y configure su velocidad de animación en "0.5" con el ícono del reloj. - -La ventana debería verse así: ![](/gdevelop5/tutorials/platform-game/gd5_platormertut_slimeeditor.png) - -Confirme los cambios haciendo clic en el botón "Aplicar". - -A continuación, cambie el nombre del objeto a `Slime`. Agrega un objeto de limo a la escena, asegurándote de que quede justo en la parte superior de una plataforma. - -Si ejecutamos la vista previa ahora, no hace mucho. Simplemente se sienta en silencio en la parte superior de la plataforma y reproduce la animación de caminar. Vamos a hacer que se mueva. - -## Mueve al enemigo a izquierda y derecha - -En este tutorial, nuestro limo se moverá hacia la izquierda y hacia la derecha. Vamos a hacer esto usando objetos invisibles: cuando el El limo tocará uno de los objetos, invertirá su dirección. - -Añadamos dos objetos que actuarán como delimitadores. Crea un nuevo objeto sprite y agrega la imagen "Left.png". Nombra este objeto `left`. Luego, crea un objeto más y agrega la imagen "Right.png". Nombre este objeto "correcto". - -Finalmente, coloque el objeto llamado "izquierdo" en el lado derecho de la plataforma y el objeto llamado "derecho" en el lado izquierdo de la plataforma. - -Debe tener un aspecto como este: ![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_slimedirection.png) - -La idea es que si el limo choca con el objeto llamado "izquierda", establecemos su dirección para moverse hacia la izquierda. Y si está chocando con el objeto llamado derecha, establecemos su dirección para que se mueva hacia la derecha. - -Primero, vamos a crear una variable de objeto llamada "dirección" con el valor predeterminado "izquierda". Vamos a utilizar esta variable para cambiar la dirección. - -Para agregar una variable de objeto a nuestro limo, haga clic derecho en el objeto de limo en la lista de objetos y elija "Editar variables de objeto". - -Se muestra una ventana vacía. Contiene la lista de variables de objeto que hemos declarado para nuestro objeto de limo. Está vacío ahora como hemos declarado ninguno. Para agregar una variable de objeto, haga clic en el signo más en la esquina inferior derecha. - -Esto agrega una variable llamada "Variable" en la ventana. Haga clic en el nombre y cámbielo a "dirección". Haga clic en el campo de valor y escriba "izquierda". La ventana debería verse así: - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_objectvariable2.png) - -Confirme los cambios haciendo clic en el botón Aplicar. - -Ahora tenemos una variable de objeto llamada "dirección" con el valor predeterminado "izquierda". - -Vamos a usar esta variable para hacer que nuestro limo se mueva. - -En el editor de eventos, agregue un evento en blanco y agregue una condición para verificar el "Texto de la variable de un objeto". Puede encontrarlo en "Condiciones comunes para todos los objetos\> Variables\> Texto de la variable de un objeto". - -En los parámetros, para el campo objeto seleccione "Slime". Para el campo Variable, seleccione "dirección" (o escriba "dirección" con el teclado). Para Signo de la prueba, seleccione "igual a" y finalmente, para el valor, ingrese "izquierda". **No te olvides de poner el valor entre comillas**. - -La ventana debería verse así: ![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_objectvariable3.png) - -Presione OK para confirmar y agregar la condición al evento. - -Ahora vamos a agregar la acción para mover el limo a la izquierda. - -Haga clic en "Agregar acción" y seleccione "Agregar una fuerza (ángulo)" en "Condiciones comunes para todos los objetos -\> Movimiento -\> Agregar una fuerza (ángulo)". Recuerde, siempre puede usar el cuadro de búsqueda para encontrar lo que está buscando. - -En los parámetros, para el campo de objeto, seleccione "Limo" de nuevo. Para el ángulo, ingrese "180" grados (que es el lado izquierdo en el sistema de coordenadas GDevelop) y para velocidad ingrese 100. - -La ventana debería verse así: ![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_moveslimeleft.png) - -Presione OK para agregar la condición al evento. - -Si ejecutamos la vista previa ahora, nuestro limo debería comenzar a moverse hacia la izquierda, pero es probable que note que sigue moviéndose y nunca cambie de dirección. - -Esta vez vamos a comprobar la colisión entre el objeto Slime y el objeto llamado "derecho" y vamos a cambiar el valor de la variable de dirección a "derecho". - -Agregue un evento en blanco y agregue una condición para verificar la colisión entre el Limo y el objeto llamado "derecho". Ya deberías saber cómo hacer esto. A continuación, agregue una acción para "Modificar el texto de una variable de un objeto". - -En los parámetros, para el objeto seleccione Limo, para la variable seleccione "dirección", para el operador, elija "= (establecer en)". Finalmente, para valor ingrese "derecha". No olvides las comillas dobles. - -La ventana debería verse así: ![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_checkobjectvariable.png) - -Si ejecutamos la vista previa ahora, puede observar que no ocurre nada porque no le dijimos a GDevelop qué hacer si la dirección es "correcta". - -Terminemos agregando los mismos dos eventos similares, pero invirtiendo "izquierda" por "derecha" y cambiando la dirección. Cuando haya terminado, los eventos deberían tener este aspecto (menos las acciones para voltear el sprite que agregaremos después): - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_moveslimeevent1.png) - -Ahora, si inicias una vista previa del juego, el limo debería moverse hacia la izquierda y hacia la derecha, pero se mantendrá orientado hacia la izquierda cuando te muevas. Vamos a voltear su orientación. - -En la lista de acciones en el evento donde hacemos que el limo se mueva hacia la izquierda, agregue una acción para voltear el sprite horizontalmente. Para el objeto, seleccione "Limo" y para el valor, seleccione "No" (ya que no queremos que el objeto se invierta al moverse a la izquierda). - -Repita lo mismo, pero esta vez para el evento utilizado para mover el limo a la derecha. Seleccione "Sí" esta vez porque queremos voltear el objeto cuando se está moviendo hacia la derecha. - -El evento debería verse así: - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_moveslimeevent2.png) - -Ahora el limo se mueve hacia la izquierda y hacia la derecha y también tiene la orientación correcta cuando se mueve. - -## Haz que el jugador mate al enemigo - -Hagamos que el jugador destruya el limo cuando salta sobre él. - -Agregue un evento en blanco con una condición para verificar si hay una colisión entre el jugador y el limo. Agrega una acción para eliminar el limo. Esto es como lo que [hicimos con las monedas](/gdevelop5/ tutoriales/ plataforma-juego/ 5-agregar-monedas-y-número-de-monedas-recolectadas) antes, pero esta vez con el Limo. - -Si ejecutamos esto ahora, el limo debe eliminarse tan pronto como chocemos con él, pero esto no es lo que queremos. Queremos eliminarlo solo si el jugador salta encima de él. - -Para hacer eso, agregue una condición más a nuestro evento: esta vez verifique si el jugador se está cayendo. - -Ahora, si ejecutamos una vista previa, nuestro limo debe eliminarse cuando el jugador salta sobre el limo. - -Todavía no es perfecto, ya que el jugador cae sobre el limo y el limo desaparece sin que el jugador salte. - -Para hacer eso, agrega una acción más al evento. Elija esta vez la acción llamada "Permitir saltar de nuevo" (para el objeto "Jugador"). Luego, agregue otra acción llamada "Simular la acción de presionar la tecla de salto" para que salte (esto parecerá que el jugador está rebotando). Puede encontrar ambas acciones en la categoría "Comportamiento de Platformer". - -En este punto el evento debería verse así: - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutoriual_killtheslime.png) - -Ahora, si ejecuta la vista previa y salta en la parte superior del limo, el jugador debe rebotar suavemente en él y el limo desaparecerá. - -## Haz que el enemigo mate al jugador - -Ahora hagamos la lógica inversa: mata al jugador si el enemigo lo toca. - -Agregue un evento en blanco y agregue la condición para verificar la colisión entre el jugador y el limo. Luego agrega una acción para eliminar el jugador. - -Esto no va a funcionar, ya que podríamos eliminar el reproductor antes de que podamos eliminar el limo, o podríamos eliminarlo antes de que podamos eliminar el jugador. - -Para evitar esto, agregue una condición más a nuestro evento, verificando si el jugador está en el piso. - -Ahora, si ejecutamos la vista previa, deberíamos poder matar el limo saltando sobre él y el limo debería poder matar al jugador si el jugador está en el suelo en el momento de la colisión. - -## Ocultando los delimitadores de la plataforma. - -Lo último que debemos hacer ahora es ocultar los objetos de flecha "izquierda" y "derecha". Para hacerlo, agregue un evento con la condición 'Al principio de la escena' (que se activará solo una vez cuando comience la escena) y la acción para "ocultar el objeto a la izquierda" y "ocultar el objeto a la derecha" . - -Los eventos de este tutorial hasta ahora deberían verse así: - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_enemycompletevent.png) - -Ahora, si ejecuta una vista previa, el objeto izquierdo y derecho con la flecha debe estar oculto, el limo debe moverse hacia la izquierda y la derecha constantemente. Podemos matar el cieno saltando sobre él y el limo debería poder matar al jugador cuando colisiona con él mientras está en el suelo. - -## Siguiente paso: agregar puntos de control - -Por ahora, la "muerte" del jugador es un poco brutal: simplemente la eliminamos. Hagamos que vuelva a aparecer en el último punto de control que cruzó. Los puntos de control son esenciales en un juego de plataformas si no quieres forzar a tu jugador a comenzar de nuevo desde el principio cuando muera (lo que puede ser interesante, ¡pero también frustrante!). - -Lee el siguiente tutorial **[Puntos de control](/es/gdevelop5/tutorials/platform-game/7-checkpoints)**! diff --git a/docs/es/gdevelop5/tutorials/platform-game/7-checkpoints.md b/docs/es/gdevelop5/tutorials/platform-game/7-checkpoints.md deleted file mode 100644 index fa04f6af150..00000000000 --- a/docs/es/gdevelop5/tutorials/platform-game/7-checkpoints.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -title: Agregar puntos de control a tu juego ---- -# Agregar puntos de control a tu juego - -Terminamos el tutorial anterior eliminando el jugador cuando choca con el enemigo. Esta no es la forma en que funciona en la mayoría de los juegos. Generalmente, en lugar de eliminar al jugador, un juego tendrá un "punto de control". El "punto de control" guarda el estado del juego y el estado del jugador en variables. Luego, si el jugador muere, el juego y / o el jugador se reinician desde el "punto de control". - -Para este tutorial, guardar el estado de todo el juego y el estado del jugador puede ser un poco demasiado avanzado. En cambio, cuando un jugador colisiona con un objeto de "punto de control", vamos a almacenar la posición del objeto de "punto de control" dentro de las variables. Además, en lugar de eliminar al jugador, vamos a restablecer su posición a lo que esté almacenado dentro de las variables. - -### Crear un objeto de punto de control - -Empecemos creando un nuevo objeto sprite en nuestro juego. Llámalo "punto de control". Puede ser cualquier imagen de sprite .jpg o .png que tengas. Voy a usar un sprite de cactus. - -![](/gdevelop5/tutorials/platform-game/checkpoint-object.png) - -A continuación, agregue el objeto sprite a la escena. Su imagen de sprite puede ser demasiado grande o demasiado pequeña. Utilice los manillares en el sprite para cambiar el tamaño de la imagen. En mi caso, será el objeto sprite de cactus como se muestra arriba. Colóquelo en la escena donde desee tener un "punto de control". Puedes agregar tu objeto sprite a múltiples lugares en tu escena. De esa manera, puede establecer múltiples "puntos de control". - -### Añadir eventos - -Ahora que tenemos los objetos de "punto de control" en nuestra escena, agreguemos los eventos. Comenzamos con una condición para verificar si hay una colisión entre el "jugador" y el "punto de control". Si ocurre la colisión, almacenamos las posiciones X e Y del objeto sprite "checkpoint" en una variable de escena llamada checkpointX y checkpointY. - -![](/gdevelop5/tutorials/platform-game/checkpoint_Var.png) - -![](/gdevelop5/tutorials/platform-game/checkpoint_event.png) - -Arriba, estamos utilizando _expresiones_ para obtener las posiciones X e Y del objeto de "punto de control". Esto se hace de manera similar a la forma en que actualizamos el texto de puntuación. Puede encontrar más _expresiones_ en el _editor de expresiones_ haciendo clic en el icono azul al lado de los campos de valor: - -![](/gdevelop5/tutorials/platform-game/expression-icon.png) - -Cuando hace clic en el icono azul, puede buscar todas las expresiones disponibles ordenadas en categorías. - -![](/gdevelop5/tutorials/platform-game/expression-editor.png) - -La condición ahora almacena la posición X e Y del objeto "punto de control" con el que nuestro objeto "Jugador" ha colisionado. Entonces, en lugar de eliminar el objeto sprite "Player", establecemos sus posiciones X e Y usando las variables. - -![](/gdevelop5/tutorials/platform-game/expression_playerPosition.png) - -![](/gdevelop5/tutorials/platform-game/checkpoint-event2.png) - -En el ejemplo anterior, estamos usando otro conjunto de expresiones para obtener el valor de las variables almacenadas y pasarlas a la posición "Jugador". - -### Resolviendo errores - -En caso de que sigas el ejemplo y también hayas seleccionado el cactus para el "punto de control", ¡también puedes notar que acabamos de crear un error! Nuestro personaje jugador es más alto que el cactus. Cuando establecemos la posición Y del jugador, en realidad establecemos la posición demasiado baja y nuestro jugador se queda atascado en el suelo. 8-o - -![](/gdevelop5/tutorials/platform-game/checkpoint_bug.png) - -En este caso particular, podemos resolver fácilmente el problema escalando el sprite de cactus en el eje Y para que sea tan alto o incluso más alto que el jugador. Ya que, a estas alturas, ya sabe cómo escalar / cambiar el tamaño de un sprite, veamos cómo hacerlo utilizando un enfoque un poco más desafiante, pero también más preciso. Usemos las matemáticas para solucionar el problema. - -![](/gdevelop5/tutorials/platform-game/checkpoint-bug-fix.png) - -Estoy usando una solución más compleja para mostrarle lo poderosas que pueden ser las expresiones. Mi solución es establecer la posición Y del jugador usando una variable. Yo, entonces, resto la altura del "punto de control" de la altura del "jugador". De esta manera, obtengo la diferencia en altura de jugador y "punto de control". Puedo terminar la solución restando esa diferencia de lo que sea que devuelva la variable. - -Una solución menos difícil, pero una que todavía use matemáticas, sería restar, digamos, 30, del valor de la variable. - -![](/gdevelop5/tutorials/platform-game/checkpoint-bug-fix-simple.png) - -Al utilizar la solución más fácil junto con la prueba y el error, puede encontrar el número que funcione mejor. Sin embargo, para obtener un valor exacto, te he dado un ejemplo más complicado de qué usar. - -También podría preguntarse por qué estoy restando de la Y en lugar de agregar el valor a la Y. El problema es que la altura del "punto de control" es más baja que la del "Jugador". Eso significa que necesito poner el jugador más alto. Observe que los valores en el eje Y aumentan de arriba a abajo. El eje Y comienza en 0 en la parte superior. Aumenta a medida que se mueve hacia abajo. Técnicamente, necesito un valor más bajo para mover algo más alto. :-) - -![](/gdevelop5/tutorials/platform-game/2d-coordinates.png) - -La mayoría de los motores 2D funcionan de esta manera. Comenzamos en la esquina superior izquierda que es la coordenada 0,0. Aumentamos el primer número de coordenadas que va a la derecha a medida que seguimos en el eje X. y aumentamos el segundo número de coordenadas que va hacia abajo en el eje Y. Puedes ver cómo se aplica esto en la imagen de arriba. - -Ahora, si ejecutamos una vista previa y nuestro jugador muere, su posición se establecerá en los últimos valores guardados del "punto de control". ¡Pero hay un error más! Si nuestro jugador muere antes de chocar con cualquier "punto de control", las variables devolverán un valor de 0, por lo que nuestro jugador reaparecerá / reaparecerá en la posición 0,0, que es la esquina superior izquierda, como se indica en la gráfica de arriba. . - -Podemos solucionar fácilmente este problema configurando los valores predeterminados para que los valores del punto de control sean la posición inicial del jugador al comienzo de la escena. - -![](/gdevelop5/tutorials/platform-game/checkpoint-bug2-fix.png) - -Entonces, cuando nuestra escena comienza, es de esperar que ya tengamos a nuestro jugador en la posición y simplemente obtengamos la posición del jugador y almacenemos la posición del jugador como la posición de "punto de control". En caso de que el jugador muera antes de colisionar con cualquiera de los puntos de control, usamos las variables de posición originales del jugador para establecer su posición al comienzo de la escena. - -### Mejorar el sistema - -Usando lo que ha aprendido hasta ahora, puede intentar agregar texto para mostrar un mensaje si llegamos a un punto de control. Entonces quizás, reproduzca una animación para hacer que el cactus salte o algo más para que sea más interesante. diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_224946.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_224946.png deleted file mode 100644 index a91e7077658..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_224946.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_230624.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_230624.png deleted file mode 100644 index 44fe784b771..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_230624.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_231357.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_231357.png deleted file mode 100644 index 54d5bc47e26..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_231357.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_232300.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_232300.png deleted file mode 100644 index 665e03d58fe..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_232300.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_232301.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_232301.png deleted file mode 100644 index c12966ccf23..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_232301.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_233506.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_233506.png deleted file mode 100644 index ea9bf714e41..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_233506.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_234534.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_234534.png deleted file mode 100644 index 9fbd4eb8b2b..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_234534.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_234828.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_234828.png deleted file mode 100644 index 2d097dbde3e..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_234828.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_235052.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_235052.png deleted file mode 100644 index 539be5828c7..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_235052.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_235711.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_235711.png deleted file mode 100644 index 7f2828ebf38..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_235711.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_000121.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_000121.png deleted file mode 100644 index 9fabc4f6da2..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_000121.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_000719.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_000719.png deleted file mode 100644 index 7490dccc92d..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_000719.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_001413.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_001413.png deleted file mode 100644 index 58d0c5abe3e..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_001413.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_001719.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_001719.png deleted file mode 100644 index 5f0a24f8f0d..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_001719.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_002009.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_002009.png deleted file mode 100644 index ab1a29ba9b3..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_002009.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_002355.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_002355.png deleted file mode 100644 index 21a572d4b5d..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_002355.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_002709.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_002709.png deleted file mode 100644 index 07c75917217..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_002709.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_003239.png b/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_003239.png deleted file mode 100644 index 1e8b7b1dca6..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_003239.png and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platform-game/index.md b/docs/es/gdevelop5/tutorials/platform-game/index.md deleted file mode 100644 index e2856993449..00000000000 --- a/docs/es/gdevelop5/tutorials/platform-game/index.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -title: Cómo hacer un juego de plataformas ---- -# Cómo hacer un juego de plataformas - -Este tutorial te ayudará a comenzar a utilizar **GDevelop**: Crearás un juego de plataformas muy simple donde el jugador puede saltar sobre plataformas y recolectar monedas. - -Tenga en cuenta que puede leer la página [Empezando](/es/gdevelop5/ getting_started) para obtener una descripción general del software: explica los conceptos principales y describe la interfaz de GDevelop. - -## Descargar GDevelop - -Si no tiene **GDevelop 5**, descárguelo del \[sitio web oficial\](). Está disponible para Windows, macOS y Linux. - -Siempre descargue GDevelop desde esta página para asegurarse de tener la última versión. Instalar (o extraer) GDevelop y lanzarlo. - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_224946.png) - -## Crear un nuevo juego - -Haga clic en `Crear un nuevo proyecto` en la página de inicio. En la ventana, elija una carpeta para su proyecto y seleccione `Proyecto Vacio o Empty Game ` para comenzar un juego nuevo desde cero. - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_230624.png) - -Para hacer nuestro juego, necesitaremos activos que podamos usar (el personaje del jugador, algunas plataformas, elementos para recopilar ...). Puede descargar recursos aquí: . - -Una vez que haya descargado este archivo, extraiga su contenido en la carpeta donde creó el proyecto. - -## Añadir una escena - -Las escenas son parte de tu juego. Normalmente, cada pantalla diferente de tu juego es una escena: el menú principal, el menú de pausa y los niveles son escenas. - -Las escenas contienen objetos, que se muestran en la pantalla. Estos objetos se pueden poner en escena para crear los niveles (estos objetos se llaman "instancias"). Las escenas también contienen los eventos que se ejecutan para animar la escena. - -En el administrador del proyecto que se abre a la izquierda, haga clic en el botón `+` debajo de "Escenas": - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_231357.png) - -Una nueva escena, llamada "Nueva escena", se agrega a la lista. Haga clic en él para abrirlo. - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_232300.png) \## Crear el objeto jugador - -El jugador controlará un personaje que puede saltar y moverse en plataformas. Vamos a crear este objeto. - -A la derecha, puedes ver un panel llamado "Objetos". Haga clic en el botón `+` para agregar un objeto. - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_232301.png) - -Aparecerá una ventana que muestra diferentes tipos de objetos entre los que puede elegir. - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_233506.png) - -Diferentes tipos de objetos proporcionan características específicas. Para la mayoría de nuestros objetos, utilizaremos los objetos Sprite, que son objetos animados que se pueden usar para muchos elementos (jugador, plataformas, enemigos, elementos ...). - -Haga clic en `Sprite` en la lista. El nuevo objeto se agrega a la escena y el editor de objetos se abre: - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_234534.png) - -El objeto está vacío por ahora. Los objetos Sprite están compuestos de animaciones, y cada animación puede contener una o más imágenes. ¡Vamos a añadir una animación! Haga clic en el botón `+`. - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_234828.png) - -La animación se agrega pero sigue vacía sin imágenes. Para agregar una imagen, haga clic en `+` en la miniatura en blanco. - -Elija la imagen llamada `p1_stand` en la carpeta del proyecto. La imagen se agrega al objeto: - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_235052.png) - -Ahora puede cerrar el editor haciendo clic en el botón "Aplicar" en la esquina inferior derecha. - -## Poner el objeto en escena. - -Para mostrar el jugador en nuestro nivel, lo colocamos en la escena. Cada objeto que agregamos a la escena se llama una "instancia" del objeto. - -Nuestra instancia de jugador será única ya que solo tendremos uno en nuestro nivel, pero otros objetos (como plataformas, monedas, enemigos ...) pueden tener múltiples instancias viviendo en la escena. - -Para agregar el objeto, simplemente haga clic en él en la lista. Luego se selecciona y se muestra sobre un fondo azul: - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-18_235711.png) - -Luego puede arrastrar el objeto a cualquier lugar de la escena para agregar la instancia de este objeto: - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_000121.png) - -## Dale al objeto un nombre propio - -Para que sea más fácil referirse a nuestro objeto, asígnele un nombre en lugar de usar el nombre predeterminado. Haga clic derecho en él (o haga clic en el ícono `⋯`) y elija renombrar. Luego puede escribir "Jugador" y hacer clic en cualquier lugar de la pantalla o presionar la tecla Intro para cambiar el nombre del objeto. - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_000719.png) - -## Añadir plataformas - -El nivel todavía está vacío por ahora sin ninguna plataforma. Vamos a añadir algunos. - -Cree un nuevo objeto haciendo clic en el botón `+` en la lista de Objetos. En esta ocasión, elija `Tiled Sprite` cuando se le pregunte por el tipo de objeto: - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_001413.png) - -Se abre el editor de objetos. Es un poco diferente en comparación con el editor del objeto Sprite, ya que los objetos Tiled Sprite no están animados. Haga clic en `Seleccionar una imagen` y luego en` Elegir una nueva imagen`. Esta vez, elige la imagen llamada `grassHalfMid`. - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_001719.png) - -Cierre el editor haciendo clic en el botón "Aplicar" en la esquina inferior derecha. Haga clic en el objeto en la lista para seleccionarlo, y haga clic en la escena para colocarlo en el nivel: - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_002009.png) - -El objeto se agrega a nuestra escena pero es muy pequeño. Haga clic en él y use los controladores para cambiar el tamaño para que se vea como una plataforma: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.00.01.png) - -Además, no olvide cambiar el nombre del objeto para que se llame "GrassPlatform" en lugar del nombre predeterminado. - -### Tiempo para guardar! - -No perdamos lo que hemos hecho hasta ahora: en el menú "Archivo" de la aplicación, haga clic en "Guardar" (o presione Ctrl + S / Cmd + S) para guardar los cambios. - -## Añadir comportamientos a objetos - -### El jugador - -El movimiento del jugador podría crearse usando los eventos de GDevelop, pero sería una tarea bastante larga y difícil recrear un buen motor de plataformas. Afortunadamente, GDevelop ya viene con un motor de plataformas completo incorporado que podemos usar. Para esto, necesitamos usar los "comportamientos de las plataformas", que nos permiten acceder y utilizar el motor de plataformas integrado. - -Abra el editor de objetos "Jugador": - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_002355.png) - -Cambie a la pestaña `Comportamientos` y haga clic en el botón` + `para agregar un comportamiento al objeto. Elija `Objeto que se desplaza sobre plataformas` en la lista de comportamientos disponibles. Luego puede ver el comportamiento en el editor, con una gran cantidad de parámetros que puede modificar: - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_002709.png) - -Puedes cambiar algunas propiedades como la velocidad de salto. Ajústelo, por ejemplo, a 800 para que el salto sea más potente. - -### Plataformas - -También necesitamos configurar los objetos para que sean plataformas. Para que el jugador pueda caminar y saltar sobre ellos. De lo contrario, el jugador caerá a través del objeto ya que no le dijimos a nuestro personaje qué hacer cuando aterriza en él. Al configurar un objeto para que sea una plataforma, el personaje del juego de plataformas chocará con él y podrá caminar sobre él. - -Para configurar el objeto GrassPlatform para que sea una plataforma, abra el editor de objetos GrassPlatform. Cambie a la pestaña Comportamientos, luego agregue un comportamiento: esta vez, elija el comportamiento `Plataforma`. - -![](/es/gdevelop5/tutorials/platform-game/anotacion_2020-06-19_003239.png) - -También hay algunas opciones que puedes cambiar. Por ejemplo, la opción "Puede agarrar las plataformas de la plataforma" está ahí para permitir que el personaje del juego de plataformas tome el borde de la plataforma. Si habilitamos esta opción en este momento, el resultado se verá extraño, ya que no tenemos una animación que se muestre cuando el personaje se acerque. Vamos a mantener esto sin marcar. - -## Iniciar una vista previa - -En este punto, deberías poder probar tu juego presionando el botón "Vista previa" en la parte superior de la pantalla en la barra de herramientas. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.13.25.png) - -Cuando presiona el botón, se genera una vista previa y, justo después, se abre una nueva ventana. - -Debes poder caminar y saltar usando las teclas predeterminadas: mueve el personaje con las flechas y presiona `Shift` o` Space` para saltar. Siéntase libre de agregar algunas otras plataformas a la escena como lo hicimos antes. Asegúrate de agregar los comportamientos a las plataformas para evitar que el personaje se caiga. - -Por ahora, el objeto no tiene animaciones, las añadiremos más tarde. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.14.18.png) - -Si el objeto no se está moviendo, asegúrese de haber agregado los comportamientos adecuados. - -## Cambiar el color de fondo - -El fondo gris es un poco aburrido. Más tarde podemos agregar una imagen, pero por ahora, seamos sencillos. En el editor, haga clic derecho en el fondo gris y elija "Propiedades de escena": - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.16.03.png) - -En la nueva ventana que se abrió, haga clic en `Color de fondo de la escena` y seleccione un buen color para el fondo: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.18.08.png) - -## Siguiente paso: animar el jugador - -Nuestro juego es muy básico por ahora: el jugador no está animado cuando salta o corre. La siguiente parte del tutorial mostrará cómo agregar diferentes animaciones y cómo usar eventos para cambiar las animaciones cuando el estado del jugador cambia. - -Lea **[la siguiente parte del tutorial aquí](/es/gdevelop5/tutorials/platform-game/2-player-animations)**! diff --git a/docs/es/gdevelop5/tutorials/platformer/crear-proyecto.gif b/docs/es/gdevelop5/tutorials/platformer/crear-proyecto.gif deleted file mode 100644 index f31845ba07f..00000000000 Binary files a/docs/es/gdevelop5/tutorials/platformer/crear-proyecto.gif and /dev/null differ diff --git a/docs/es/gdevelop5/tutorials/platformer/index.md b/docs/es/gdevelop5/tutorials/platformer/index.md deleted file mode 100644 index fc28a8c5109..00000000000 --- a/docs/es/gdevelop5/tutorials/platformer/index.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: Tutorial de Plataformas, Parte 1 - Primeros pasos ---- -# Tutorial de Plataformas, Parte 1: Primeros pasos - -Este tutorial explica cómo crear un juego de plataformas con GDevelop. Si nunca antes ha creado un juego con GDevelop, este es un excelente lugar para comenzar. - -Aprenderá a: - -- Diseña un nivel con plataformas, enemigos y monedas coleccionables. -- Crea un personaje jugable que pueda moverse, saltar y matar enemigos. -- Devuelve el jugable a los puntos de control cuando mueren. - -## Series - -Estás leyendo **la Parte 1** del [Tutorial de Plataformas](/es/gdevelop5/tutorials/platformer/start). - -1\. Tutorial de Plataformas, Parte 1 2. [Tutorial de Plataformas, Parte 2](/es/gdevelop5/tutorials/platformer/part-2) 3. [Tutorial de Plataformas, Parte 3](/gdevelop5/tutorials/platformer/part-3) 4. [Tutorial de Plataformas, Parte 4](/gdevelop5/tutorials/platformer/part-4) 5. [Tutorial de Plataformas, Parte 5](/gdevelop5/tutorials/platformer/part-5) 6. [Tutorial de Plataformas, Parte 6](/gdevelop5/tutorials/platformer/part-6) 7. [Tutorial de Plataformas, Parte 7](/gdevelop5/tutorials/platformer/part-7) 8. [Tutorial de Plataformas, Parte 8](/gdevelop5/tutorials/platformer/part-8) - -## Paso 1: Instalar GDevelop - -Si aún no lo ha hecho, descargue e instale GDevelop. Puede encontrar las instrucciones completas sobre cómo configurar el software a través de la página [Primeros pasos.](/gdevelop5/getting_started) - -## Paso 2: Descargar los recursos del juego - -El término *recursos* se refiere a los medios visuales y de audio de un juego, como los efectos de sonido y los sprites. Cada juego necesita recursos y, para facilitarle un poco la vida, este tutorial proporciona los recursos que necesita para crear el juego. - -Puede descargar los recursos a través de la siguiente URL: - - - -!!! note - - También eres más que bienvenido a usar diferentes recursos. Sin embargo, naturalmente, el juego que vea en las capturas de pantalla se verá diferente del juego que termines creando. - -## Paso 3: Crear un nuevo proyecto - -En GDevelop, un _proyecto_ es un contenedor para los activos y la lógica del juego. En este tutorial, los términos "proyecto" y "juego" se utilizan como sinónimos. - -Para crear un proyecto: - -1\. Inicie GDevelop. 2. Seleccione **Crear un proyecto en blanco**. 3. Elija una carpeta para el proyecto. 4. Seleccione **Crear proyecto**. - -![](/es/gdevelop5/tutorials/platformer/crear-proyecto.gif) - -## Paso 4: Agregar una escena al juego - -Un juego se compone de _escenas_. Por lo general, cada escena es una pantalla diferente en el juego. Por ejemplo, el menú principal, el menú de pausa y cada nivel de un juego serían escenas diferentes. - -Para agregar una escena al juego: - -1\. Expanda el panel **Escenas** (si aún no está expandido). 2. Seleccione **Clic para agregar una escena**. - -Luego seleccione la escena para abrirla. - -![](/gdevelop5/tutorials/platformer/add-scene.gif) - -!!! note - - Si agrega varias escenas a un proyecto, la primera escena de la lista es la escena que carga GDevelop cuando se inicia el juego. - -## Paso 5: Agrega objetos a la escena - -Una escena se compone de [objetos](/gdevelop5/objects). Todo lo que el usuario ve o con lo que interactúa es un objeto, incluido el personaje jugable, los enemigos y partes del entorno. - -GDevelop proporciona diferentes tipos de objetos que puede agregar a un juego. Cada tipo de objeto tiene características y casos de uso únicos. El tipo de objeto más común es el objeto Sprite, que le permite crear un gráfico que puede elegir animar (opcionalmente). - -Para crear un objeto: - -1\. En el panel **Objetos**, haga clic en **Agregar un nuevo objeto**. 2. Seleccione **Sprite**. 3. En el campo **Nombre del objeto**, escriba "Nube". 4. Al abrirse el editor de objetos, haga click en **Añadir una animación**. Aunque el rótulo dice **Añadir una _animación_**, los objetos Sprite no tienen por qué estar animados. 5. Haga click en **Añadir**. 6. Selecccione el recurso "cloud2.png". 7. Seleccione **Aplicar**. - -Después arrastre una o más copias del objeto "Cloud" a la escena. - -![](/gdevelop5/tutorials/platformer/add-object-instance.gif) - -!!! note - - Cada copia del objeto que aparece en una escena se refiere a una _instancia_ de dicho objeto. - -## Paso 6: Cambia el color de fondo - -Las nubes blancas no se ven muy bien en el fondo gris. - -Para cambiar el color de fondo de la escena: - -1\. Haz clic derecho en el fondo de la escena. 2. Seleccione **Propiedades de la escena**. 3. Haz clic en **Color de fondo de la escena**. 4. Elige un bonito tono de azul. - -!!! note - - Puede ingresar un hexadecimal (Ej: \#00000) o un nombre del color (Ej: Negro) - -![](/gdevelop5/tutorials/platformer/set-scene-background-color.jpg) - -## Paso 7: Previsualizar el juego - -Es bueno adquirir la costumbre de previsualizar con frecuencia sus juegos. Así, cuando algo deje de funcionar, es más fácil averiguar el problema. - -Para mostrar la previsualización del juego, haga click en el botón **Vista previa** de la barra de herramientas. - -![](/gdevelop5/tutorials/platformer/preview-button.jpg) - -Para detener la vista previa, cierre la ventana de vista previa. - -## Paso 8: Guarda el juego - -También es bueno adquirir el hábito de guardar regularmente tus juegos. Puedes guardar el juego a través del menú Archivo o usando un atajo de teclado: - -- `CTRL` + `S` en Windows - `CMD` + `S` en macOS - -## Próximo paso - -Lea el [Tutorial de Plataformas, Parte 2](/es/gdevelop5/tutorials/platformer/part-2) y aprende a crear un personaje jugable. diff --git a/docs/es/gdevelop5/tutorials/platformer/part-2.md b/docs/es/gdevelop5/tutorials/platformer/part-2.md deleted file mode 100644 index 296fd38bde8..00000000000 --- a/docs/es/gdevelop5/tutorials/platformer/part-2.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: part-2 ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -# Tutorial de Plataformas, Parte 2: Crea un Personaje Jugable - -Esta parte del tutorial explica cómo agregar un personaje jugable al juego. - -Aprenderás cómo: - -- Crear un objeto que represente al personaje jugable. -- Deje que el jugador controle el objeto usando las teclas de flecha. -- Sigue al personaje jugable con la cámara. - -## Series - -Estás leyendo la **Parte 2** del [Tutorial de Plataformas](/es/gdevelop5/tutorials/platformer/start). - -1\. [Tutorial de Plataformas, Parte 1](/es/gdevelop5/tutorials/platformer/start) 2. Tutorial de Plataformas, Parte 2 3. [Tutorial de Plataformas, Parte 3](/gdevelop5/tutorials/platformer/part-3) 4. [Tutorial de Plataformas, Parte 4](/gdevelop5/tutorials/platformer/part-4) 5. [Tutorial de Plataformas, Parte 5](/gdevelop5/tutorials/platformer/part-5) 6. [Tutorial de Plataformas, Parte 6](/gdevelop5/tutorials/platformer/part-6) 7. [Tutorial de Plataformas, Parte 7](/gdevelop5/tutorials/platformer/part-7) 8. [Tutorial de Plataformas, Parte 8](/gdevelop5/tutorials/platformer/part-8) - -## Paso 1: Crear un objeto - -El primer paso es crear un objeto que represente al personaje jugable. Si siguió la primera parte de este tutorial, este debería ser un proceso familiar. - -To create an object for the playable character: - -1\. Create a **Sprite** object named "Player". 2. Use the "p1_stand.png" asset as the animation's only frame. 3. Assign a name of "Idle" to the animation. 4. Drag an instance of the object into the scene. - -![](/gdevelop5/tutorials/platformer/player-object.jpg) - -!!! note - - [Platformer Tutorial, Part 4](/gdevelop5/tutorials/platformer/part-4) explains how to animate the character. - -## Step 2: Add a behavior to the object - -If you preview the game, you can't control the "Player" object. This is because, by default, objects don't do anything. To make objects do something, you need to assign one or more [behaviors](/gdevelop5/behaviors) to them. - -GDevelop comes with a large library of behaviors that you can add to objects in a matter of clicks. One of these behaviors is the **Platformer character** behavior, which lets you control an object as a playable character. - -To add the **Platformer character** behavior to the object: - -1\. Right click the **Player** object. 2. Select **Edit object**. 3. Switch to the **Behaviors** tab. 4. Click **Add a behavior to the object**. 5. Select **Platformer character**. 6. Click **Apply**. - -If you preview the game, you can control the player with the arrow keys. There's a side-effect though: an object with the **Platformer character** behavior is affected by gravity, so in this case, the playable character quickly fall out of the frame. - -![](/gdevelop5/tutorials/platformer/platformer-character-behavior-preview.gif) - -## Step 3: Follow an object with the camera - -To prevent the character from falling out of frame, the game needs platforms and a camera that follows the player. The [next part of the tutorial](/gdevelop5/tutorials/platformer/part-3) is about platforms, so this section is about the camera. - -To make the camera follow the player, you need to create an [event](/gdevelop5/events). In GDevelop, events let you define cause and effect, so when something happens (cause) you can trigger something else to happen (effect). - -Events are made up of two parts: conditions and actions. The condition is what determines when the event happens and the action is what happens when the event occurs. - -GDevelop has a large library of conditions and actions that add all sorts of features to a game. A big part of learning GDevelop is discovering the available options. In this case, the game needs the **Center the camera on an object** action. - -To add the **Center the camera on an object** action: - -1\. Opens the Events editor. 2. Click **Add a new event**. 3. Without specifying a condition, click **Add action**. By not specifying a condition, the action runs in every frame. Therefore, if the game runs at 60 frames per second, the action runs 60 times per second. 4. Click **Other actions**. 5. Expand **Layers and cameras**. 6. Select **Center the camera on an object**. 7. Select the "Player" object. 8. Click **OK**. - -![](/gdevelop5/tutorials/platformer/center-camera-event.jpg) - -If you preview the game, the player still falls -- there's still no platforms, after all -- but the camera also follows the player. As a result, the player remains within the frame. - -![](/gdevelop5/tutorials/platformer/center-camera-on-object-preview.gif) - -## Next steps - -Read [Platformer Tutorial, Part 3](/gdevelop5/tutorials/platformer/part-3) diff --git a/docs/es/gdevelop5/tutorials/primeros_pasos.md b/docs/es/gdevelop5/tutorials/primeros_pasos.md deleted file mode 100644 index 5364481c5a3..00000000000 --- a/docs/es/gdevelop5/tutorials/primeros_pasos.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Primeros pasos con Gdevelop ---- -# Primeros pasos con Gdevelop -En éste vídeo aprenderás algunas cosas de Gdevelop si es que lo tocas por primera vez. -ojalá te sea de ayuda¡¡¡ - -
- -
\ No newline at end of file diff --git a/docs/es/gdevelop5/tutorials/reduce-size-game.md b/docs/es/gdevelop5/tutorials/reduce-size-game.md deleted file mode 100644 index 02e73d34512..00000000000 --- a/docs/es/gdevelop5/tutorials/reduce-size-game.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Cómo reducir el tamaño de tu juego ---- -# Cómo reducir el tamaño de tu juego - -Es importante mantener el peso lo más ligero posible, especialmente en teléfonos móviles: - -* Un juego más pequeño será más rápido de descargar -* El almacenamiento necesario para tu juego será menos importante, por lo que el jugador tendrá menos incentivos para eliminarlo. -* El juego se ejecutará más rápido si las imágenes y texturas no son demasiado grandes. - -El primer y más importante factor que contribuye al tamaño de tu juego es el tamaño de tus archivos de recursos: sonidos, música e imágenes: - -* Para las imágenes, asegúrate de utilizar una resolución (ancho y alto en píxeles) que no sea mayor de lo necesario. Evita todo lo que supere los 2048x2048 píxeles. En general, hay que mantenerse por debajo de 512 x 512 y la mayoría de los elementos pueden tener entre 10 y 200 píxeles. - -* Para reducir el uso de disco de imágenes, utiliza un **programa de compresión** o un sitio web como [tinypng.com](https://tinypng.com/) o [compresspng.com](https: //compresspng.com/) - -* Para las música y los sonidos, asegúrate de utilizar un formato comprimido como mp3 en lugar de wav para las música. Comprime tu música reduciendo la tasa de bits si es necesario. Considera tener los archivos de música alrededor de 1 MB. \ No newline at end of file diff --git a/docs/es/gdevelop5/tutorials/resources.md b/docs/es/gdevelop5/tutorials/resources.md deleted file mode 100644 index bd153c93f09..00000000000 --- a/docs/es/gdevelop5/tutorials/resources.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: resources ---- -FIXME **Esta página no está completamente traducida, todavía. Por favor ayuda a completar la traducción.** - -*(Eliminar este párrafo una vez finalizada la traducción.)* - -# Recursos Lista de sitios web donde puede encontrar sprites, música, efectos de sonido para sus juegos y ejemplos de juegos, plantillas, bibliotecas de terceros y herramientas para ayudarle con el desarrollo del juego. - -##Ejemplos de juego y plantillas - -- [gametemplates.itch.io](https://gametemplates.itch.io/) - -##Sprites - -- [Kenney.nl](http://kenney.nl/) -- [gameart2d.com](https://www.gameart2d.com) -- [spriters-resource.com](https://www.spriters-resource.com/) - -##Imágenes y Fotos - -- [Unsplash.com](https://unsplash.com/) (Imágenes y fotos gratuitas para uso comercial.) - -##Sonido y musica - -- [soundimage.org](http://soundimage.org/) -- [sounds-resource.com](https://www.sounds-resource.com/) - -##Contenido mixto de Sprite, Música y Sonido. - -- [opengameart.com](https://opengameart.org/) -- [vg-resource.com](https://www.vg-resource.com/) -- [gamedevmarket.net](https://www.gamedevmarket.net/) -- [deviant art](https://www.deviantart.com/) - -##Software de animacion - -- [Spriter](https://brashmonkey.com/) -- [Pencil2D](https://www.pencil2d.org/) -- [DragonBones](https://dragonbones.github.io/en/index.html) -- [Synfig](https://www.synfig.org) -- [Blender](https://www.blender.org/) - -##Edición de imagen y dibujo. - -- [Gimp](https://www.gimp.org/) -- [Paint.NET](https://www.getpaint.net/index.html) -- [Krita](https://krita.org/en/) - -##Edición de gráficos vectoriales - -- [Inkscape](https://inkscape.org/en/) - -##Creación de Pixel art - -- [PikoPixel](http://twilightedge.com/mac/pikopixel/index.html) -- [Piskel](https://www.piskelapp.com/) -- [Pixelaria](https://sourceforge.net/projects/pixelaria/) -- [GraphicsGale](https://graphicsgale.com/us/) -- [Grafx2](https://code.google.com/archive/p/grafx2/wikis/Downloads.wiki) -- [Aseprite](https://www.aseprite.org/) - -##Otros gráficos y herramientas de animación. - -- [SpriteCutter](http://spritecutter.sourceforge.net/) (Spritesheet cutter) -- [TexturePacker](https://www.codeandweb.com/texturepacker) (Paquete de imágenes individuales en spritesheet) -- [Spriteilluminator](https://www.codeandweb.com/spriteilluminator) (Ilumina los sprites con luces dinámicas.) -- [Assetforge](https://assetforge.io/) (Crea sprites personalizados a partir de objetos 3D.) -- [3D2Sprite](http://3d2sprite.blogspot.com/p/home.html) (Crea sprites a partir de modelos 3D.) -- [Blender](https://www.blender.org/) (Blender es el paquete de creación 3D de código abierto y gratuito. Crea sprites y animaciones personalizadas con modelado 3D.) -- [Anim8or](http://www.anim8or.com/) (Crea sprites animados a partir de modelos animados en 3D.) - -##Edición y creación de audio. - -- [Audacity](https://www.audacityteam.org/) (Audio editing and converting) -- [LMMS](https://lmms.io/) ( Creación melodías, sonidos e y musica) -- [Bfxr](https://www.bfxr.net/) (Procedural Efectos de sonido) -- [Acapela Box](https://acapela-box.com) (Conversor de texto a voz) -- [Balabolka](http://www.cross-plus-a.com/balabolka.htm) (Conversor de texto a voz) -- [Vocaloid](https://www.vocaloid.com/en/) (Conversor de texto a voz, Virtual singer) - -##Otras herramientas utiles - -- [XnConvert](https://www.xnview.com/en/xnconvert/) (convertidor de imagen por lotes) - -##JavaScript librerías - -- [ResponsiveVoice](https://responsivevoice.org/) (Sintetizador de texto a voz) -- [PlayerIO](https://playerio.com/) (Online Multiplayer Service) diff --git a/docs/es/gdevelop5/tutorials/tank-shooter.md b/docs/es/gdevelop5/tutorials/tank-shooter.md deleted file mode 100644 index 94599198382..00000000000 --- a/docs/es/gdevelop5/tutorials/tank-shooter.md +++ /dev/null @@ -1,322 +0,0 @@ ---- -title: Tank shooter - Tutorial para principiantes ---- -# Tank shooter - Tutorial para principiantes - -Este tutorial lo ayudará a familiarizarse con la forma en que funciona GDevelop. Va a crear un juego muy simple. En este juego, los enemigos se moverán hacia el jugador. El jugador podrá disparar a los enemigos. Los enemigos explotarán cuando sean golpeados con las balas del jugador. ![](/gdevelop5/tutorials/beginner-tutorial-screenshot.png) - -Para obtener una descripción general del software, le recomiendo que lea primero la página [](/gdevelop5/ getting_started). - -### Descargar GDevelop - -Si no tiene GDevelop, descárguelo del sitio web [oficial](https://gdevelop.io) - -Siempre descargue GD desde esta página para asegurarse de que tiene la última versión. Una vez que haya instalado GDevelop, ejecútelo. Se mostrará la página "Inicio" de la interfaz: ![](/gdevelop5/start_page.png) - -### Descargar la fuente - -Puede descargar el proyecto terminado desde aquí ![](/gdevelop5/tutorials/beginner-tutorial.zip). Descargar el proyecto terminado te ayuda a ver cómo se ha creado el juego. Tenerlo como ejemplo en caso de que te quedes atascado o no entiendas algo, es una buena manera de verificar tu progreso. - -### Crear un nuevo proyecto - -Haga clic en "Crear nuevo proyecto" en la página "Inicio". - -A continuación, tiene la opción de crear un nuevo proyecto utilizando una plantilla o crear un proyecto "Juego vacío". ![](/gdevelop5/create-new-project-window.png) - -Para este tutorial, necesita un proyecto de juego vacío, pero antes de seleccionar esta opción, debe elegir una carpeta donde se guardará su juego. En la parte inferior de la página "Crear un juego nuevo" encontrará el área "Seleccionar carpeta". Es posible que deba desplazarse hacia abajo para ver esta opción. Mantenga la ubicación predeterminada o seleccione la ubicación donde desea guardar su juego. - -![](/gdevelop5/tutorials/select-project-folder.png) - -Para seleccionar una ubicación personalizada, seleccione / haga clic en el botón "Seleccionar carpeta". Examine el sistema de archivos en su computadora. Localiza la carpeta que quieres usar. - -![](/gdevelop5/choose-folder-button.png) - -Una vez que haya seleccionado una carpeta, seleccione / haga clic en la opción de proyecto en blanco "Juego vacío" en la lista. - -![](/gdevelop5/empty-game-button.png) - -### Crear una nueva escena - -Crear una nueva escena es lo primero en tu lista de cosas que hacer. Haga clic / seleccione el botón "Haga clic para agregar una escena" en el Administrador de proyectos: - -![](/gdevelop5/tutorials/add-scene-button.png) - -A continuación, haga clic en el NewScene que acaba de crear. Se abrirá el editor de "Escena". - -### Obtenga las imágenes y recursos - -Antes de seguir adelante, necesitarás algunas imágenes para el juego. Puede descargarlos aquí: [Descargar imágenes](http://www.compilgames.net/dl/BeginnerTutorial2Images.zip) - -Una vez que haya descargado este archivo, extraiga su contenido en la carpeta donde creó el proyecto. - -### Crear la torreta del jugador - -El jugador controlará una torreta para disparar a los enemigos. En el editor de "Objetos" de Scene, elija "Agregar un nuevo objeto". - -![](/gdevelop5/tutorials/add_new_object.png) - -Aparecerá una nueva lista de opciones de ventana. Elija el tipo de objeto que se creará. ![](/gdevelop5/objects/object-types.png) - -Primero, crea un objeto sprite. Seleccione "Sprite" de la lista emergente. A continuación, se mostrará el panel de propiedades del objeto. Si no ve el panel de propiedades, haga clic con el botón derecho en NewObject en el editor de objetos y seleccione "Editar objeto" en la lista emergente. - -Finalmente, queremos añadir una animación al objeto. Haga clic / seleccione el botón "agregar animación" en la ventana de propiedades. ![](/gdevelop5/tutorials/add-animation.png) - -Ahora verá las propiedades de animación del objeto. ![](/gdevelop5/objects/animation-properties.png) - -Es necesario agregar la imagen de la torreta como una animación. Haga clic en el símbolo más grande ![](/gdevelop5/tutorials/plusaddobject.png). Busque la carpeta del proyecto. Encuentra la imagen aaguntopdown.png. La imagen se mostrará en la ventana. - -![](/gdevelop5/tutorials/turret-animation-window.png) - -Por último, haga clic en "Aplicar" para guardar los cambios. - -Renombra el objeto. Haga clic derecho en el objeto de torreta en el editor de "Objeto" de Escena. Seleccione "Cambiar nombre" en la lista emergente que se muestra. Escriba el nombre "torreta" para el nuevo nombre. Esto nos permite referirnos más adelante a este objeto usando el nombre "torreta". ![](/gdevelop5/tutorials/rename-turret.png) - -### Añadir torreta a la escena - -Para agregar la "torreta" a la escena, seleccione / haga clic en la torreta en el editor de "Objetos" de la escena y luego haga clic en el editor de "Escenas". Esta acción creará una "torreta" en la escena. La "torreta" se puede seleccionar, mover y girar. ![](/gdevelop5/tutorials/turret-selected-inscene.png) - -### Primeros eventos - -Ahora vamos a crear los "Eventos" utilizados para animar todo el juego. En el primer evento, la "torreta" debe girarse hacia el mouse del jugador. - -Seleccione el editor de "Eventos" haciendo clic en la pestaña "NEWSCENE (EVENTOS)": ![](/gdevelop5/tutorials/scene-events-tab.png) - -Verá una barra de herramientas en la parte superior de la pantalla del editor de "Eventos". Seleccione / haga clic en el botón "Agregar evento" en la barra de herramientas para crear un nuevo evento. Si olvida cómo se usa cada herramienta en la barra de herramientas, pase el mouse sobre la imagen de la herramienta para ver una descripción de ayuda emergente para la herramienta. ![](/gdevelop5/add-event-button.png) - -Se crea el nuevo "Evento", con una condición vacía y una acción vacía. La "condición" se encuentra en el lado izquierdo de la pantalla. La "acción" se encuentra en el lado derecho de la pantalla. Coloque el cursor sobre la "acción" a la derecha. Seleccione / haga clic en "agregar acción": ![](/gdevelop5/tutorials/add-action.png) - -Ahora, vas a escribir tu primera acción. Esta acción girará la "torreta" hacia el ratón. Después de hacer clic / seleccionar "Agregar acción", aparecerá un nuevo panel de lista. Elija la acción "Acción común para todos los objetos". Aparecerá una lista desplegable de más opciones. Seleccione / haga clic en "Ángulo". Se mostrará otra lista desplegable. Seleccione / haga clic en "Girar hacia la posición". ![](/gdevelop5/tutorials/rotate-toward-position-action.png) - -Cuando se selecciona "Girar hacia la posición", se abrirá otra lista de opciones en el lado derecho del panel de selección. Muestra el nombre de la acción, así como los parámetros para la acción. Rellene el primer parámetro seleccionando / haciendo clic en "Objeto". "torreta" se abrirá de una lista de los objetos disponibles. Seleccione "torreta" de la lista. ![](/gdevelop5/tutorials/select-turret-object-parameter.png) - -Para los siguientes parámetros, ingrese MouseX () y MouseY () para que el objeto gire hacia la posición del mouse. Cuando se inicie el juego, estas dos expresiones obtendrán la posición actual de X e Y del mouse. Para la "velocidad angular", ingrese 0. "Velocidad angular 0" significa que ocurrirá una rotación inmediata de su objeto. Eso es lo que necesitamos para rotar la "torreta". Para controlar la velocidad de rotación de un objeto, ingrese un valor más pequeño para "velocidad angular". Por ejemplo, para reducir la velocidad de su objeto "torreta", ingrese algo como un valor de 100. - -En este punto, los parámetros de este evento se verán así: ![](/gdevelop5/tutorials/rotate-toward-pos-event-parameters.png) - -Hemos estado usando expresiones para obtener las posiciones X e Y del mouse. Puede encontrar más expresiones en el editor de "expresiones" haciendo clic en el icono azul junto a los campos de valor: ![](/gdevelop5/tutorials/platform-game/expression-icon.png) - -Cuando haces clic en el ícono del editor de "expresiones", puedes buscar todas las expresiones disponibles. Las expresiones están ordenadas en categorías. ![](/gdevelop5/tutorials/platform-game/expression-editor.png) - -Para guardar los cambios realizados en el editor de "expresiones", seleccione / haga clic en el botón "Aceptar" que se encuentra en la esquina inferior derecha del panel. - -Ahora puede ejecutar una vista previa presionando el botón "vista previa" en la barra de herramientas ubicada arriba de la escena. ![](/gdevelop5/preview-button.png) - -La "torreta" ahora girará hacia la posición del ratón. Si la rotación no funciona, observe detenidamente los pasos anteriores o consulte el tutorial finalizado. ![](/gdevelop5/tutorials/turret-rotate-toward-mouse.png) - -### Dispara balas con la torreta - -El jugador deberá poder disparar balas a los enemigos. Para configurar esto, Necesitará un nuevo objeto "bala". En la lista de "Objetos" de la escena ubicada en el lado derecho de la interfaz GD, haga clic con el ratón en el objeto "torreta". Elija "agregar un nuevo objeto" o, alternativamente, haga clic en el botón "agregar nuevo objeto". ![](/gdevelop5/tutorials/turret-add-new-object.png) - -Elija "Sprite" en el panel de la lista emergente. Ahora, agregue una animación seleccionando el botón agregar. Elige la imagen "Bullet.png". Renombra el nuevo objeto "bala". Si necesita ayuda adicional para agregar un nuevo objeto, consulte la explicación del objeto "torreta" más arriba. - -El próximo evento necesario comprobará si se hace clic o se presiona el botón izquierdo del mouse. Si se presiona / hace clic, la acción creará las viñetas que se dispararán. Para crear las viñetas, vaya a la pestaña "NEWSCENE (EVENTOS)". Añadir un nuevo evento. Nuevamente, si necesita ayuda adicional, consulte el evento "torreta" anterior. "Crear un nuevo objeto" será la primera acción en el evento. Esta acción está disponible en El panel "Acciones comunes para todos los objetos" "Objetos". ![](/gdevelop5/tutorials/create-object-action.png) - -Cuando se selecciona "Crear un nuevo objeto", se abrirá otra lista de opciones en el lado derecho del panel de selección. Muestra el nombre de la acción, así como los parámetros para la acción. Complete el primer parámetro seleccionando / haciendo clic en "Objeto". Aparecerá "viñeta" de una lista de los objetos disponibles. Seleccione "viñeta" de la lista. ![](/gdevelop5/tutorials/create-object-action-parameters.png) - -Dado que solo hay una capa en el juego, el parámetro de capa no es obligatorio. Haga clic en Ok para finalizar la acción. - -Luego agrega otra acción después de esta primera acción. No _crea_ otro evento. Haga clic en "Agregar acción" debajo de la primera acción! ![](/gdevelop5/tutorials/add-second-action.png) - -Esta vez, elija la acción llamada "Acción común para todos los objetos" "Movimiento" "Agregar una fuerza (Ángulo)". ![](/gdevelop5/tutorials/add-force-angle-action.png) - -GDevelop proporciona un sistema de fuerzas incorporado. Este sistema te permite mover fácilmente los objetos del juego. En nuestro caso, cuando se dispara la bala, la acción se utilizará para mover la bala hacia el mouse. Como primer parámetro (Objeto), ingrese "viñeta" para que GDevelop mueva la viñeta que se acaba de crear en la acción anterior. - -Para "ángulo de movimiento", use la dirección de la torreta. Ingrese "turret.Direction ()" en el segundo parámetro. Para el tercer parámetro, ingrese "400". La bala se moverá con una velocidad de 400 píxeles por segundo. Finalmente, ingrese "1" en el último parámetro. Este último parámetro establece una fuerza que se aplica constantemente a la bala. Una vez que se inicia el movimiento, este parámetro mantiene la bala en movimiento. ![](/gdevelop5/tutorials/add-force-angle-parameters.png) - -Nuestras dos acciones se inician cuando el jugador está disparando. es decir: presionando el botón izquierdo del ratón. Para crear este evento en el editor de "Eventos", necesitamos agregar una condición al evento, hacer clic / seleccionar "Agregar condición". ![](/gdevelop5/tutorials/add-condition.png) - -Elija la condición "Ratón y toque" "Botón del ratón pulsado o pulsado". ![](/gdevelop5/tutorials/mouse-button-pressed-condition.png) - -En la ventana emergente del panel lateral derecho, haga clic en el botón para probar el parámetro. Seleccione "Izquierda" de la lista. ![](/gdevelop5/tutorials/mouse-button-pressed-parameter.png) - -Finalmente, cierre la ventana haciendo clic en el botón "Aceptar". La condición ahora se agrega al evento. - -Si obtienes una vista previa del juego ahora, verás que tenemos dos problemas: - -- Las balas se disparan demasiado rápido. -- Las balas aparecen en el origen del objeto. Esto hace que las balas parezcan poco realistas. - -Para abordar el primer problema de los disparos de balas demasiado rápido, vamos a utilizar un temporizador. Agregue una segunda condición al último evento que hemos creado. Elija la condición "Condiciones comunes para todos los objetos" "Temporizadores" "Valor de un temporizador". ![](/gdevelop5/tutorials/timer-value-condition.png) - -El panel aparece a la derecha. El primer parámetro, "Objeto", indica el nombre del objeto. Dejalo en blanco. El segundo parámetro, "Nombre del temporizador", es el nombre del temporizador. Introduzca "firerate". // ¡No olvide las comillas alrededor del nombre del temporizador! // Ingrese 0.25 en el tercer parámetro, "Tiempo en segundos". ![](/gdevelop5/tutorials/timer-value-condition-parameters.png) - -¡No hemos terminado todavía! Queremos disparar balas cada 0.25 segundos. Para hacer eso, necesitamos reiniciar el temporizador para que comience desde 0 después de 0.25 segundos. Así que vamos a agregar una acción: "Temporizadores y tiempo" "Restablecer un temporizador". Esta acción se colocará justo debajo de nuestra acción de "movimiento" en el mismo evento. ![](/gdevelop5/tutorials/reset-timer-action.png) - -Ingrese "firerate" como el parámetro que es el nombre de nuestro temporizador (nuevamente, ¡tenga en cuenta las comillas!). ![](/gdevelop5/tutorials/reset-timer-action-parameter.png) - -Este par de condiciones y acciones asegurarán que las acciones utilizadas para disparar la bala se repitan cuando hayan transcurrido al menos 0.25 segundos desde que se creó la última bala. ![](/gdevelop5/tutorials/shoot-bullet-event1.png) - -Ahora debemos configurar la forma en que se disparan las balas desde el cañón de la torreta. - -Para hacer eso, vamos a agregar un punto personalizado a nuestro objeto "torreta". Luego creamos las balas en la posición de ese punto. Abramos las propiedades del objeto haciendo clic derecho en el objeto "torreta" en el lado derecho de la pantalla de la interfaz de escena. Seleccione Editar objeto de la lista emergente. Esta selección abre la ventana donde agregamos animaciones a nuestros objetos. Veremos un botón llamado "EDITAR PUNTOS". ![](/gdevelop5/tutorials/edit-point-button.png) - -Después de hacer clic en el botón, podemos ver que nuestro objeto tiene actualmente 2 puntos por defecto, el punto "Origen" y el punto "Centro". ![](/ gdevelop5/ tutoriales/ default-points.png) - -No podemos cambiar el nombre de estos puntos, pero podemos cambiar su posición predeterminada. En este caso, agregaremos un punto más al objeto. - -Vamos a hacer clic en el botón "agregar" (más el símbolo) para agregar un punto personalizado a nuestro objeto "torreta". Inmediatamente vemos el nuevo punto agregado a la lista. Puede ser identificado por el nombre "Punto" y la posición 0,0. - -Cambiemos el nombre de este punto a "Canon" y establezcamos la posición X en 110 y la posición Y en 35. ![](/gdevelop5/tutorials/custom-point-name-position.png) - -Ahora, cuando realicemos una vista previa del juego, veremos nuestro punto personalizado ubicado al final de nuestro canon. ![](/gdevelop5/tutorials/custom-point-preview.png) - -Cierra la ventana y aplica los cambios. - -Lo único que queda por hacer es decirle a GDevelop que dispare las balas desde el punto "Canon" del objeto "torreta". Así que en nuestra acción "crear viñeta", necesitamos cambiar las expresiones turret.X () y turret.Y (), a turret.PointX (Canon) y turret.PointY (Canon). Podemos cambiarlos haciendo clic en las expresiones dentro del editor. ![](/gdevelop5/tutorials/replace-expression-in-editor.png) - -// No olvide la C mayúscula en Canon, ya que el nombre de los puntos distingue mayúsculas y minúsculas.// - -Si ejecutamos la vista previa ahora, nuestras balas deben dispararse desde el "Canon" de la " torreta ", pero puede notar que, a veces, la bala está un poco desplazada. Esto sucede porque el punto de origen de la bala está en la parte superior esquina izquierda. De la misma manera que hicimos con el punto Canon para la torreta, cambie la posición del punto de origen de la bala para que esté en el centro. ![](/gdevelop5/tutorials/bullet_origin_point.png) - -### Creando enemigos atacando la torreta - -Primero, debemos crear los objetos utilizados para los enemigos: agregar un objeto a la lista de objetos (haga clic con el botón derecho en un objeto existente\> agregar un objeto. Elija un objeto Sprite como antes). Denomínalo "enemigo". - -Edite el objeto (haga clic con el botón derecho en la lista y seleccione Editar objeto de la lista) a continuación, agregue una animación al objeto y dos imágenes: tank2fr1.png y tank2fr2.png. ![](/gdevelop5/tutorials/enemy-animation.png) - -Luego, cambie el tiempo entre las imágenes a 0.05 y cambie la animación a Bucle para hacer que la animación se repita. ![](/gdevelop5/tutorials/enemy-animation-speed.png) - -Haga clic en "Aplicar" cuando haya terminado. - -### ¡Detente! ¡Ahorrar tiempo! - -Antes de continuar, recuerde guardar con frecuencia: haga clic en Archivo y luego en Guardar para guardar su proyecto. ![](/gdevelop5/tutorials/save-project.png) - -### AI enemigo - -Volvamos al juego. Queremos que los enemigos se muevan hacia la torreta. Ir al editor de "Evento". Añadir un nuevo evento. Ahora, queremos crear un enemigo cada segundo. Añadir una condición "Temporizadores y tiempo"; "Valor de un temporizador de escena". Introduzca 1 en el "Tiempo en segundos" y "Creación de enemigos" para el "Nombre del temporizador". _No olvide las comillas cuando ingrese el nombre del temporizador._ - -El siguiente paso es agregar una acción para crear un objeto enemigo. Esto se hace usando "Agregar una acción", "Acción común para todos los objetos", "Objetos". "Crear un objeto". Seleccione "enemigo" en el primer parámetro "Objeto para crear". Para el segundo parámetro de "posición X", ingrese la expresión Aleatorio (800). Esta entrada devolverá un número aleatorio entre 0 y 800. Cuando se crea cada enemigo, tendrá una posición de pantalla diferente. Para la posición Y, ingrese -50. Este valor creará los enemigos fuera del área de la pantalla. Crear a los enemigos fuera de la pantalla evita que el jugador del juego sienta que un tanque enemigo apareció de la nada. - -Finalmente, agreguemos una acción para restablecer el temporizador ("Temporizadores y tiempo", Restablecer un temporizador ".)" EnemyCreation "debe ingresarse en el parámetro. Nuevamente, no olvide las comillas cuando ingrese el nombre del temporizador. En este punto, nuestro evento se verá así: ![](/gdevelop5/tutorials/create-enemy-event.png) - -Si ejecutamos una vista previa ahora, no notaremos nada. Dado que los enemigos se crean fuera de la pantalla, no se pueden ver. Para ver al enemigo, necesitamos mover a los enemigos hacia el jugador. Para crear esta acción, agrega otro evento. Este evento no tiene condición. Elija "Agregar acción". Luego, desde el panel emergente, seleccione "Acción común para todos los objetos", "Movimiento", "Agregar una fuerza para moverse hacia un objeto". ![](/gdevelop5/tutorials/move-object-toward-other-event.png) - -En el panel lateral derecho de "Agregar una fuerza para moverse hacia un objeto", selecciona "enemigo" para el primer parámetro. Seleccione "torreta" para el segundo parámetro. Introduzca 150 píxeles por segundo para la velocidad. Dado que la fuerza será continua, la amortiguación es 0. ![](/gdevelop5/tutorials/move-object-toward-another-parameters.png) - -Ahora, si ejecutamos una vista previa, veremos que nuestros enemigos se mueven hacia la torreta. Sin embargo, puedes notar que los enemigos en realidad no giran hacia la torreta. Vamos a hacer algo al respecto. Agreguemos una segunda acción después del movimiento: "Acción común para todos los objetos", "Ángulo", "Girar hacia la posición". Para el primer parámetro a la derecha del panel, selecciona "enemigo". Queremos rotar al enemigo. Para la posición X e Y, vamos a usar una expresión para obtener el punto central de la torreta y hacer que los enemigos giren hacia ese punto con una velocidad angular de 0. Una velocidad angular de 0 causa la rotación inmediata del objeto. ![](/gdevelop5/tutorials/rotate-object-toward-position.png) - -En este punto, nuestro evento enemigo se verá así: ![](/gdevelop5/tutorials/create-rotate-move-enemies-event.png) - -Si ejecutamos la vista previa ahora, nuestros enemigos se moverán y girarán hacia la torreta. ![](/gdevelop5/tutorials/turret-screenshot-enemies-moving.png) - -### Añadiendo explosiones - -¡Es hora de destruir los tanques! Primero, cuando una bala choca con un tanque, necesitamos una explosión en la posición del tanque. Agrega un nuevo objeto sprite, llámalo "explosión" y agrega todas las imágenes a la animación que comienza con Explosion_ ![](/gdevelop5/tutorials/select-all-explosion-images.png) - -Después de agregar todas las imágenes a la animación, establezca el tiempo entre las imágenes a 0.01 segundos. ![](/gdevelop5/tutorials/explosion-animation-speed.png) - -Guarde la animación haciendo clic / seleccionando "Aplicar". - -A continuación, queremos crear la explosión cuando la bala está en una colisión con el enemigo. Agregue una nueva condición en blanco: "Condiciones comunes para todos los objetos", "Colisión", Colisión ![](/gdevelop5/tutorials/collision-check-event.png) - -En el panel del lado derecho, seleccione "viñeta" para el primer parámetro. Para el segundo parámetro, seleccione "enemigo". ![](/gdevelop5/tutorials/collision-between-object-condition-parameters.png) - -Agrega una acción para crear el objeto de explosión de la misma manera que creamos las balas y los enemigos. Para la posición X e Y, usa la expresión enemy.X () y enemy.Y (). Esta expresión obtendrá la posición X e Y del objeto enemigo que está en colisión con la bala. ![](/gdevelop5/tutorials/create-explosion-event-parameters.png) - -Finalmente, agregue la acción después de crear la explosión. Acciones comunes para todos los objetos\> Objeto\> Eliminar un objeto y en el lado derecho para el parámetro seleccionar el objeto enemigo, ya que queremos eliminar al enemigo. Agrega la misma acción de nuevo, para eliminar también la bala justo después de que se elimine el enemigo. En este punto, nuestro evento debería verse así. ![](/gdevelop5/tutorials/enemy-moving-rotating-exploding.png) - -Si ejecuta una vista previa ahora, notará un par de problemas: - -- Primero, los objetos de explosión no se crean exactamente en la posición del enemigo. -- Segundo, el objeto de explosión creado permanece en la escena. - -Para resolver el primer problema de los objetos de "explosión" que quedan en la escena, debemos eliminar el objeto de explosión una vez que las animaciones hayan finalizado. Agregue un nuevo evento vacío y la condición "Sprite", "Animaciones e imágenes", "Animación terminada". ![](/gdevelop5/tutorials/animation-finished-event.png) - -Para el parámetro en el panel emergente derecho, seleccione el objeto "explosión". Cuando el objeto "explosión" haya finalizado, queremos eliminar la animación de la explosión. ![](/gdevelop5/tutorials/check-animation-finished-event-parameter.png) - -Para eliminar el objeto de "explosión" de la animación, agregue la acción, "elimine el objeto de explosión". - -Para resolver el segundo problema, primero debemos entender su causa. Cuando creamos el objeto de explosión, usamos las expresiones "enemy.X ()" y "enemy.Y ()". Creamos los objetos de "explosión" en el punto "Origen" del objeto "enemigo". El punto "Origen" está, por defecto, ubicado en la esquina superior izquierda del "enemigo" (0). También estamos creando las explosiones desde su punto "Origen", que es la esquina superior izquierda del objeto "explosión" (0). - -Para resolver este problema, necesitamos cambiar la posición del punto "Origen" de la explosión. El punto "Origen" debe colocarse en el centro del objeto. Debe editar el objeto "explosión" haciendo clic con el botón derecho en el objeto y seleccionando "Editar objeto" de la lista. En la siguiente ventana, seleccione "Editar Puntos". - -Ahora, cambie la posición X e Y del punto "Origen" a 120. Esto establece el punto en el centro de la imagen de "explosión". ![](/gdevelop5/tutorials/change-origin-point-position.png) - -Finalmente, en lugar de crear el objeto "explosión" en el punto "Origen" del "enemigo", es necesario crear el objeto en el Punto Centro. Cambia la expresión en la acción de crear explosión de enemy.X () a enemy.PointX (Center) y forma enemy.Y () a enemy.PointY (Center) ![](/gdevelop5/tutorials/create-explosion-new-expression.png) - -Si ejecutamos una vista previa ahora, nuestros enemigos explotarán de manera realista desde el centro del objeto. ![](/gdevelop5/tutorials/turret-screenshot-enemies-are-exploding.png) - -### Añadiendo más explosiones y un juego terminado - -Hasta ahora, el jugador no podía morir. Cuando un tanque enemigo golpea la torreta del jugador, queremos que la torreta sea destruida. Añadir un nuevo evento. Sigue el mismo procedimiento que seguiste para crear un evento para destruir a los enemigos. - -- Agregue una condición para probar una colisión entre un tanque y la torreta. -- Crear una explosión en la posición de la torreta. -- Agrega una acción para destruir la torreta. - -![](/gdevelop5/tutorials/delete-turret-on-collision-event.png) - -Además, sería interesante mostrar un texto de "Juego terminado" cuando se destruye la torreta: Agrega un nuevo objeto usando la lista de objetos de escena. Esta vez, elige un objeto "Texto". Nómbrelo "GameOver". ![](/gdevelop5/tutorials/select-text-object-from-list.png) - -Edite el objeto "GameOver" haciendo clic derecho en el objeto. Seleccione "Editar objeto" de la lista emergente. Ahora, cambie el texto a "Game Over", el color del texto a rojo y el tamaño del texto a 40. ![](/gdevelop5/tutorials/edit-text-object.png) - -También podemos establecer una fuente personalizada simplemente ingresando la ruta de la fuente. En este caso nuestra fuente se encuentra en la carpeta del proyecto. Solo necesitamos ingresar el nombre del archivo de fuente: ![](/gdevelop5/tutorials/custom-text-font.png) - -Finalmente, agregue el objeto de texto "Game Over" a la escena. - -El siguiente paso es ocultar el objeto de texto. Luego, si no hay una torreta en la escena, (lo que significa que la torreta está destruida) la mostraremos. Agregue un nuevo evento en blanco y agregue la condición "Escena", "Al principio de la escena". ![](/gdevelop5/tutorials/at-the-beginning-of-the-scene-condition.png) - -Esta condición no tiene parámetros. Lo único que hace es ejecutar la acción una vez al principio de la escena. A continuación, agregue la acción al evento "Al comienzo de la escena". Uso: "Acciones comunes para todos los objetos", "Visibilidad", "Ocultar". ![](/gdevelop5/tutorials/hide-object-event.png) - -Para el parámetro, seleccione el objeto GameOver ya que queremos ocultar este objeto ![](/gdevelop5/tutorials/hide-object-event-parameter.png) - -Si no hay una torreta en la escena, queremos mostrar el Objeto de texto "GameOver". Añadir un nuevo evento vacío. Agregue la condición "Condiciones comunes para todos los objetos", "Objetos", "Recuento de objetos". ![](/gdevelop5/tutorials/objects-count-condition.png) - -Para el primer parámetro en el lado derecho, seleccione el objeto de la torreta, para el signo de prueba seleccione el signo igual y para el valor de la prueba ingrese 0, como queremos comprobar si el número de la torreta en la escena es 0. ![](/gdevelop5/tutorials/object-count-condition-parameters.png) - -Y lo que queremos hacer es mostrar el texto GameOver si no hay una torreta en la escena, así que agregue la acción Acción común para todos los objetos\> Visibilidad\> Mostrar y para el parámetro que queremos seleccionar el objeto GameOver. ![](/gdevelop5/tutorials/destroy-turret-event.png) - -Finalmente, un efecto interesante es detener el juego y mostrar Game Over con un poco de retraso. Agregue una segunda condición "Temporizadores y tiempo", Valor de un temporizador de escena ". Para el parámetro de tiempo ingrese 0.1 y para el parámetro de nombre ingrese" GameOver ". Agregue una segunda acción: "Temporizadores y tiempo", "Cambiar escala de tiempo". Ingrese 0 como parámetro para detener el juego y mostrar el texto de Game Over después de 0.1 segundos. - -Esto es lo que deberían ver todos los eventos en este punto. ![](/gdevelop5/tutorials/all-events.png) - -Puede previsualizar el juego y debería ver que una vez que se destruye la torreta, con un poco de retraso se muestra el texto Game Over y el juego se detiene. ![](/gdevelop5/tutorials/gameover-screenshot.png) - -### Optimizando el juego - -Cuando una bala está fuera del área de la pantalla, ya no necesitamos la bala. Incluso fuera de pantalla, las balas todavía tienen movimiento. También se están comprobando las colisiones entre la bala y el tanque. Cada dispositivo tiene recursos limitados en memoria y capacidad de procesamiento. Estamos desperdiciando recursos valiosos al continuar verificando las condiciones y acciones de los objetos cuando están fuera de la pantalla. Nuestro juego podría ralentizarse, bloquearse y / o volverse inejecutable cuando alcance el límite de la memoria del dispositivo en el que estamos jugando. Desea que su juego se pueda jugar en tantos dispositivos como sea posible, por lo que siempre necesita optimizar su juego. Una forma de hacerlo es eliminar objetos que ya no son necesarios en el juego. De esta manera, limitas la cantidad de memoria y potencia de procesamiento que usa el juego. - -Podríamos agregar un evento para destruir las balas cuando están demasiado lejos de la torreta, eso es fácil, pero también podemos usar un objeto "Comportamiento". Un comportamiento en GDevelop agrega una característica determinada a un objeto. En este caso, vamos a agregar el comportamiento "Destruir fuera de la pantalla" a las viñetas. Luego serán destruidos cuando estén fuera de la pantalla del juego. - -En la lista "Objetos" de la escena, haga clic derecho en el objeto "viñeta". Desde el selector emergente, seleccione "Editar objeto". Se abrirá el "Panel de propiedades". Seleccione / haga clic en la pestaña "Comportamientos". La pestaña "Comportamientos" muestra todos los comportamientos que hemos agregado a nuestro objeto. Está vacío ahora. ![](/gdevelop5/behaviors-tab.png) - -Haga clic en el botón "Haga clic para agregar un comportamiento al objeto" ![](/ gdevelop5/ objects/ add-symbol.png) ![](/gdevelop5/add-behavior-button.png) - -A continuación, seleccione de la lista el comportamiento de la pantalla Destruir fuera. ![](/gdevelop5/behaviors/destroy-outside-screen-behavior-inlist.png) - -A continuación, usted verá que el comportamiento se agrega a la lista. Normalmente, si el comportamiento tiene algún parámetro, también se muestra aquí para que pueda cambiarlo. Pero este comportamiento no tiene parámetros, ya que lo único que hace es destruir el objeto cuando está fuera de la pantalla. Haga clic en Aplicar y hemos terminado. - -Si ejecuta la vista previa ahora, probablemente no notará ninguna diferencia, ya que el juego es muy simple y es muy probable que use un dispositivo con al menos 2 GB de RAM y una CPU de doble núcleo. Por lo tanto, hay un montón de recursos para nuestro juego simple, pero en caso de que creamos cientos y miles de balas que puedes probar, puedes notar un poco de lentitud después de un tiempo sin destruirlas. - -### Añadir un fondo - -Una última cosa es agregar un fondo. Esto le dará al juego un aspecto más completo. - -Añadir un nuevo objeto Sprite. Nómbrelo como fondo. Agregue la imagen "background.jpg" al objeto. A continuación, puede agregar el objeto a la escena como de costumbre. Asegúrate de que llena toda la escena. Para hacerlo más fácil, puede habilitar la cuadrícula con el botón en la parte superior y debería ayudar a posicionar el objeto. ![](/gdevelop5/toggle-grid-button.png) - -Observe que el objeto de fondo cubre todos los demás objetos. Para resolver este problema, necesitamos cambiar el orden Z del objeto. Mientras se selecciona el objeto de fondo, a la izquierda de la pantalla del editor de escenas, verá una lista de "Propiedades". Si no ve la lista de "Propiedades", puede abrirla usando el botón "Propiedades" en la barra de herramientas que se encuentra en la parte superior de la interfaz de GD. ![](/gdevelop5/object-properties-button.png) - -Podemos cambiar todo tipo de propiedades utilizando el Editor de propiedades. La posición, el ángulo y el tamaño del objeto se pueden cambiar. En este caso, queremos cambiar el orden Z. ![](/gdevelop5/objects/object-zorder-properties.png) - -Cambie el valor del orden Z a un número bajo. Para el fondo usaremos un número negativo - 1. La razón del valor negativo es que cuando estamos creando las balas, los enemigos y las explosiones, los estamos creando en orden Z de forma predeterminada. Necesitamos colocar el fondo debajo de 0, de lo contrario no veremos nada más que la torreta en nuestro juego. Otra forma de solucionarlo es decirle a GDevelop que coloque los tanques y las explosiones y balas en una orden Z más alta. Podemos posicionar el fondo en 0, pero es algo que usted, el desarrollador, debe decidir por sí mismo. Cada problema puede tener una serie de soluciones diferentes. - -¡Estás listo! El juego está completo y listo para ser compartido. - -### Añadir comentarios - -Así, nuestro juego está hecho. Es jugable. ¿Qué pasa si quieres compartir la fuente con alguien más? Digamos que estás trabajando en equipo. Alguien en el equipo quisiera hacer modificaciones al juego. ¿Cómo sabe esa persona dónde buscar los eventos de los enemigos, las balas o la torreta? Puede sonar tonto para ti. La mayoría de los eventos en GDevelop se explican por sí mismos. Nuestro juego es lo suficientemente simple como para ver lo que está sucediendo. Sin embargo, imagine una situación en la que tenga un juego hecho de cientos o miles de eventos. Aquí es donde los comentarios son útiles. Podemos dejar recordatorios en el juego para otros y también para nosotros mismos. Confía en mí, aunque tú eres el que creó el juego, en un gran juego complejo, incluso no recordarás dónde encontrar cosas diferentes. Esto es especialmente cierto meses después. _Siempre use comentarios independientemente del tamaño del proyecto._ Es solo una buena práctica de programación. - -Para agregar comentarios a su juego, simplemente haga clic en el botón "agregar comentario" en la barra de herramientas que se encuentra en la parte superior de la pantalla "Eventos". ![](/gdevelop5/add-comment-button.png) - -Verá un cuadro amarillo en el editor de "Eventos". Cuando haces clic / seleccionas la casilla, puedes comenzar a escribir un comentario. ![](/gdevelop5/tutorials/comment.png) - -Puede cambiar la posición de cada evento y hacer comentarios moviendo el mouse sobre el borde azul de la izquierda y arrastrándolo hacia arriba y hacia abajo. Tus primeros comentarios se verán así: ![](/gdevelop5/tutorials/all-events-with-comments.png) - -### Vamos, a descubrir GDevelop por ti mismo - -Puede navegar por los otros [tutoriales](http://wiki.compilgames.net/doku.php/es/gdevelop5/tutorials) y leer la página [Guia de Inicio](http://wiki.compilgames.net/doku.php/es/gdevelop5/getting_started). - -¡También hay muchos ejemplos y plantillas incluidas con GDevelop! Puede encontrar más visitando: [gametemplates.itch.io](https://gametemplates.itch.io/gdevelop-examples) - -También puede hacer preguntas en el [official forum](http://forum.compilgames.net/) diff --git a/docs/es/index.md b/docs/es/index.md deleted file mode 100644 index 135ed082398..00000000000 --- a/docs/es/index.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: start ---- - -![](/logocompleteeffecttranparent400x100.png) - -# Wiki GDevelop - -GDevelop es un creador de juegos de código abierto, multiplataforma, diseñado para ser usado por todos - no se requieren conocimientos de programación. Si aún no tienes GDevelop, ¡[puedes descargarlo ahora](https://gdevelop.io/download)! - -La wiki está aquí para buscar ayuda sobre el software y tutoriales de cómo usarlo: ¡tus aportes son bienvenidos! - -## Documentación completa - -Lee la **[documentación de GDevelop](/es/gdevelop/documentation)** para tener una referencia completa. - -## Tutoriales y videos - -Aprende a usar GDevelop con los **[tutoriales](/es/gdevelop/tutorials)**. diff --git a/docs/fr.png b/docs/fr.png deleted file mode 100644 index 8332c4ec23c..00000000000 Binary files a/docs/fr.png and /dev/null differ diff --git a/docs/fr/gdevelop5/all-features/expressions.md b/docs/fr/gdevelop5/all-features/expressions.md deleted file mode 100644 index eef44c6caa0..00000000000 --- a/docs/fr/gdevelop5/all-features/expressions.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: expressions ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -# Écriture des expressions CDevelop prend en charge les expressions ! Les expressions sont des valeurs dynamiques qui peuvent être utilisées dans les paramètres d'événement. Par exemple, pour définir la position d'un objet, vous pouvez utiliser un nombre fixe comme ``75`` ou vous pouvez utiliser une expression telle que ``AnotherObject.X() - Variable(position_offset)``. - -Il existe deux types d'expressions : - -1. ***Les expressions numériques*** - -![](/gdevelop5/all-features/number_expression.png) - -Les expressions numériques peuvent être utilisées dans les paramètres d'événement. Ils reçoivent une valeur numérique telle que la position de l'objet, la cote z, le nombre de variables, etc. - -1. ***Les chaînes de caractères*** - -![](/gdevelop5/all-features/text_expression.png) - -Les chaînes de caractères peuvent être utilisées dans les paramètres qui reçoivent une valeur de texte / chaîne. Vous pouvez utiliser cette expression pour lire le contenu d'une chaîne d'objet texte, sa couleur, le texte d'une autre variable, etc. - -## Les expressions numériques Comme indiqué ci-dessus, les expressions numériques peuvent être utilisées dans les paramètres numériques. - -### Valeurs aléatoires - -``Random(max)`` - Renvoie un entier entre `0` et la valeur maximale `max` définie. La plage est \[0, max\]. - -*Exemples utilisant l'expression de génération aléatoire : Random()* - -``` Javascript -Random(3) // Les quatre valeurs entières possibles sont : 0, 1, 2 et 3 -``` - -``RandomInRange(min, max)`` - Renvoie un entier compris entre le minimum `min` et le maximum `max`. La plage est \[min, max\]. - -*Exemples utilisant l'expression de génération aléatoire : RandomInRange()* - -``` Javascript -RandomInRange(-1, 2) // Les quatre valeurs possibles sont : -1, 0, 1 et 2 - - -// A noter que "RandomInRange(min, max)" est équivalent à "min + Random(max - min)" : - --1 + Random(2 - -1) // Cela donne les mêmes résultats que ci-dessus. -``` - -``RandomFloat(max)`` - Renvoie un nombre à virgule compris entre `0` et `max`. La plage est ``\[0, max)``. A noter que ``max`` n'est pas inclus dans la plage. Il est important de noter aussi que les résultats possibles sont infinis. En effet, il existe une infinité de nombres réels entre deux valeurs différentes. - -*Exemples utilisant l'expression de génération aléatoire : RandomFloat(max)* - - RandomFloat(2.5) //CERTAINES des nombreuses valeurs possibles sont 0, 1.467798, 2.000587 et 2.499999 - -``RandomFloatInRange(min, max)`` - Renvoie un nombre à virgule compris entre `min` et `max`. La plage est ``\[min, max\]``. A noter que ``max`` n'est pas inclus dans la plage. Il est important de noter aussi que les résultats possibles sont infinis. En effet, il existe une infinité de nombres réels entre deux valeurs différentes. - -*Exemples utilisant l'expression de génération aléatoire : RandomFloatInRange()* - - RandomFloatInRange(-1.5, 2) //CERTAINES des nombreuses valeurs possibles sont -1.5, -0.598156, 1.000874 et 1.99999 - -``RandomWithStep(min, max, step)`` - Renvoie un nombre compris entre `min` and `max` avec un pas égal à `step`. La plage est ``\[min, min + N*step\]`` avec ``min + N*step ≤ max \< min + (N+1)*step``. Cela signifie que l'expression peut renvoyer toutes les valeurs échelonnées inférieures ou égales à ``max``. - -*Exemples utilisant l'expression de génération aléatoire : RandomWithStep(min, max, step)* - - RandomWithStep(1, 3, 0.6) // Les nombres générés sont : ``1``, ``1.6``, ``2.2`` et ``2.8`` diff --git a/docs/fr/gdevelop5/all-features/filesystem.md b/docs/fr/gdevelop5/all-features/filesystem.md deleted file mode 100644 index f5e1fc4f928..00000000000 --- a/docs/fr/gdevelop5/all-features/filesystem.md +++ /dev/null @@ -1,246 +0,0 @@ ---- -title: filesystem ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - - \# Système de fichier Cette extension vous donne accès au système de fichier de l'ordinateur sur lequel votre jeu est en train de tourner. \Cette extension ne fonctionne que sur Linux, MacOS et Windows pour l'instant. les jeux mobiles et Web ne sont pas supportés par l'extension pour l'instant \## Système de fichiers ou système de stockage ? Gdevelop vous permet de stocker des données permanentes de deux manières différentes. L'extension de stockage et l'extension de système de fichiers. Parce que GDevelop est basé sur des technologies web, créer un jeu avec GDevelop est comme créer un site web qui peut être vu dans un navigateur (export web) ou dans un navigateur limité nommé "Electron" pour Windows, MacOS et Linux ou Apache Cordova pour Android et iOS Toutes ces platformes permettent d'utiliser l'extension de stockage car c'est un composant inclus dans les navigateurs. Les données peuvent être sauvegardées dans une sorte de dictionnaire intégré à ce navigateur. - -Pour des raisons de sécurité, les navigateurs web ne laissent pas les sites web écrire/supprimer des données dans le système de fichier de l'ordinateur (google.com ne peux pas créer de fichiers sur votre disque dur). Seul les jeux exportés pour Windows, Mac ou Linux peuvent utiliser l'extension du système de fichiers. - -### Stockage - -- Utilisable dans tous les types d'export (Web, mobile, PC...) - -- Ne peut contenir que des des nombres ou du texte (pas de photos, de fichiers etc...) - -- Une capacité de stockage limitée ce comptant en Mega octet et limité encore plus par le système sur lequel votre jeu est joué - -- Le joueur n'a pas d'accès direct à ce stockage - -### Système de fichiers - -- Utilisable que sur Windows, Linux et MacOS - -- Peut sauvegarder à peu près tout :-D - -- Vous pouvez choisir où sont stockées les données. - -- La seule limite de taille est celle du système (disque dur ou clé USB par exemple) - -- Le joueur peut modifier les fichiers (exemple : modifier manuellement une mauvaise résolution d'écran ou une configuration avec un éditeur de texte) - -## Asynchronous execution By default, actions get executed synchronously in GDevelop. This means that the game loop waits for each action to finish its execution before it runs the following event. Actions that take longer than a few milliseconds to execute will freeze the whole execution of the game until they finish. - -To avoid these freezes, GDevelop supports asynchronous execution of specific actions. If you choose the "async" version of the action, the operation will be delegated to a background task that runs in parallel to the game loop. After executing an asynchronous action, GDevelop will immediately execute the next event in the event sheet without waiting for the action to finish. - -To get notified about the status of the background task, the asynchronous actions have an optional result variable. This variable will be updated with the result of the operation, at the moment the background task has finished. - -By checking its value, you get to know when precisely the operation has finished and with which result: - -- **"ok"**: The operation was performed without errors. - -- **"error"**: Something went wrong while trying to perform the action. - -Saving the name of the next level after completing the previous one in a linear puzzle game, need not be done asynchronously. - -On the other hand, when trying to add an autosave function to an open-world game with procedurally generated unlimited terrain, the game developer will probably not get around saving the game asynchronously due to the heap of data to be written into the file. - -It is up to the game developer to decide which variant of the action is suitable for the individual situation. - ---- - -## Conditions - -#### File or directory exists - -This condition checks if the given file or directory exists on the file system. - -##### Parameters - -**Path to file or directory: **The absolute path to the file or directory which shall be checked. - -## Actions - -#### Create a directory - -This action creates a new folder at the given file path. - -##### Parameters - -**Directory: **The absolute file path to the directory which should be created. It is advised to use the expressions for special folders (see below), to keep you game platform independent. - -**(Optional) Result variable: **Variable to store the result. It can either hold the value 'ok': the task was successful or 'error': an error occurred. - ---- - -#### Save a text into a file - -This action saves the given text (string) into a file on the file system *synchronously*. - -##### Parameters - -**String (text): **The text that will be saved to the file. - -**Save path: **The path on the file system where the file should be saved. It is advised to use the expressions for special folders (see below) to keep your game platform independent. - -**(Optional) Result variable: **Variable to store the result. It can either hold the value 'ok': the task was successful or 'error': an error occurred. - ---- - -#### Save a text into a file (async) - -This action saves the given text (string) into a file on the file system *asynchronously*. - -##### Parameters - -**String (text): **The text that will be saved to the file. - -**Save path: **The path on the file system where the file should be saved. It is advised to use the expressions for special folders (see below) to keep your game platform independent. - -**(Optional) Result variable: **Variable to store the result. It can either hold the value 'ok': the task was successful or 'error': an error occurred. The variable will be updated, at the moment the file operation has finished. - ---- - -#### Save a scene variable into a JSON file - -This action saves the given scene variable into a file on the file system in JSON format *synchronously*. - -##### Parameters - -**Scene variable: **The scene variable to save into the file. This can be a number-, text variable or a structure with children. - -**Save path: **The path on the file system where the file should be saved. It is advised to use the expressions for special folders (see below) to keep your game platform independent. - -**(Optional) Result variable: **Variable to store the result. It can either hold the value 'ok': the task was successful or 'error': an error occurred. - ---- - -#### Save a scene variable into a JSON file (async) - -This action saves the given scene variable into a file on the file system in JSON format *asynchronously*. - -##### Parameters - -**Scene variable: **The scene variable to save into the file. This can be a number-, text variable or a structure with children. - -**Save path: **The path on the file system where the file should be saved. It is advised to use the expressions for special folders (see below) to keep your game platform independent. - -**(Optional) Result variable: **Variable to store the result. It can either hold the value 'ok': the task was successful or 'error': an error occurred. The variable will be updated, at the moment the file operation has finished. - ---- - -#### Load a text from a JSON file - -This action loads the JSON formatted text from a file and converts it into a scene variable structure. *synchronously*. - -##### Parameters - -**Scene variable: **The name of the scene variable to which the loaded structure will be added. - -**Load path: **The path on the file system where the file should be saved. It is advised to use the expressions for special folders (see below) to keep your game platform independent. - -**(Optional) Result variable: **Variable to store the result. It can either hold the value 'ok': the task was successful or 'error': an error occurred. - ---- - -#### Load a text from a JSON file (async) - -This action loads the JSON formatted text from a file and converts it into a scene variable structure. *asynchronously*. - -##### Parameters - -**Scene variable: **The name of the scene variable to which the loaded structure will be added. - -**Load path: **The path on the file system where the file should be saved. It is advised to use the expressions for special folders (see below) to keep your game platform independent. - -**(Optional) Result variable: **Variable to store the result. It can either hold the value 'ok': the task was successful or 'error': an error occurred. The variable will be updated, at the moment the file operation has finished. - ---- - -#### Load a text from a file - -This action loads the text from a file into the given scene variable. *synchronously*. - -##### Parameters - -**Scene variable: **The scene variable to store the text. - -**Load path: **The path on the file system where the file is located. It is advised to use the expressions for special folders (see below) to keep your game platform independent. - -**(Optional) Result variable: **Variable to store the result. It can either hold the value 'ok': the task was successful or 'error': an error occurred. - ---- - -#### Load a text from a file (async) - -This action loads the text from a file into the given scene variable. *asynchronously*. - -##### Parameters - -**Scene variable: **The scene variable to store the text. - -**Load path: **The path on the file system where the file is located. It is advised to use the expressions for special folders (see below) to keep your game platform independent. - -**(Optional) Result variable: **Variable to store the result. It can either hold the value 'ok': the task was successful or 'error': an error occurred. The variable will be updated, at the moment the file operation has finished. - ---- - -#### Delete a file - -This action deletes the file at the given file path *synchronously*. - -##### Parameters - -**File path: **The path on the file system where the file is located. It is advised to use the expressions for special folders (see below) to keep your game platform independent. - -**(Optional) Result variable: **Variable to store the result. It can either hold the value 'ok': the task was successful or 'error': an error occurred. - ---- - -#### Delete a file - -This action deletes the file at the given file path *asynchronously*. - -##### Parameters - -**File path: **The path on the file system where the file is located. It is advised to use the expressions for special folders (see below) to keep your game platform independent. - -**(Optional) Result variable: **Variable to store the result. It can either hold the value 'ok': the task was successful or 'error': an error occurred. The variable will be updated, at the moment the file operation has finished. - - \## Expressions These expressions return the path to special folders on the users' operating system. If you use these expressions for loading and saving files it will be guaranteed to work on all supported operating systems. (Currently Windows, Linux, and macOS) \The following gives detailed descriptions of what each of the Filesystem expressions are for. To see the syntax of the expressions refer to the filesystem section of [this article](/gdevelop5/all-features/expressions-reference). It is *strongly recommended* that you do not manually type any expressions, and instead use the expression builder as [mentioned here](/gdevelop5/all-features/expressions). - -#### Desktop folder - -This expression returns the operating system independent path to the *Desktop* folder of the user that runs your game. - -#### Documents folder - -This expression returns the operating system independent path to the *Documents* folder of the user that runs your game. This is the standard folder for storing documents. - -#### This games executable folder - -This expression returns the operating system independent path to the folder where your game is being executed from. - -#### Pictures folder - -This expression returns the operating system independent path to the *Pictures* folder of the user that runs your game. This is the standard folder for storing images. - -#### Temp folder - -This expression returns the operating system independent path to the *Temp* folder of the user that runs your game. This folder is used for temporary files that your operating system can delete at any time. - -#### Userdata folder - -This expression returns the operating system independent path to the *UserData* folder of the user that runs your game. This folder is used for storing application settings. - -#### Path delimiter - -This expression returns the operating system independent path delimiter character. ("\\" on Windows and "/" on Linux and macOS). Use this expression to build cross-platform file paths that can be accessed on all supported operating systems. - -## Example In order to save a screenshot to the *Pictures* directory you could write: - -``` () + () + "my_screenshot.png" ``` - -This will work on Windows, Linux, and macOS. diff --git a/docs/fr/gdevelop5/all-features/firebase/analytics.md b/docs/fr/gdevelop5/all-features/firebase/analytics.md deleted file mode 100644 index cff627e7a0c..00000000000 --- a/docs/fr/gdevelop5/all-features/firebase/analytics.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Analytics ---- -# Analytics - -Les Analytics sont simples a utiliser dans GDevelop. Il suffit d'utiliser l'action "Activer Firebase", Firebase va ensuite automatiquement collecter et traiter les données. Les Analytics du jour mettent environ 24h a s'afficher sur le tableau de bord Firebase. - -### Enregistrer des événements customisés - -Tu veux enregistrer des données spécifiques a ton jeu? Disons que tu veux voir la proportion de joueurs qui finissent le premier niveau. Il suffit de log a la fin du niveau: Quand le niveau se termine, avant de changer de scène uttilise l'action pour log un évènement comme "niveau1_fini". Grâce a ça, tu peux voir qui/quels types de /combien de gens réussissent le premier niveau, et si personne ne le réussit tu peux le voir et adapter la difficulté! Tu peux aussi envoyer des données additionnelles comme un score ou le temps pris a finir le niveau. - -### Utiliser des propriétés utilisateur - -Les propriétés servent a grouper les joueurs. Par exemple, tu peux demander le groupe d'âges d'une personne (0-20, 20-40, 40-60, 60+) au début de jeu, l'enregistrer comme propriété utilisateur, avant de log le score. Tu pourrais en suite trier les scores et voire leur moyenne en fonction de la plage d'âge. Cela peut être utile pour par exemple changer la difficulté du jeu (via la [](/fr/gdevelop5/all-features/firebase/rc)) selon le groupe de la personne pour donner une expérience de jeu personnalisée. - -### Déboguer/Tester les événements customisés et les propriétés - -Vu que les données n'apparaissent pas très rapidement, comment être sûr que les données sont bien envoyées? D'abord, télécharge [l'extension de débogage d'analytics Google](https://chrome.google.com/webstore/detail/google-analytics-debugger/jnkmfdileelhofjcijamephohjechhna). Ensuite, exporte ton jeu vers HTML5. Mets en suite le jeu sur un serveur web (par example Apache, ou si tu as python `python -m http.server`, etc). En suite va sur le tableau de bord Firebase et sélectionne DebugView: ![](/gdevelop5/all-features/firebase/analytics1.png) Enfin, navigue ver ton serveur web et active l'extension de débogage an cliquant sur son icône. Ça devrait recharger le jeu, et maintenant il devrait apparaître dans DebugView, et tout les événements et changements de propriétés utilisateur devrait y apparaître avec un délai d'environ 20 secondes maximum. diff --git a/docs/fr/gdevelop5/all-features/firebase/functions.md b/docs/fr/gdevelop5/all-features/firebase/functions.md deleted file mode 100644 index b5f7c584c83..00000000000 --- a/docs/fr/gdevelop5/all-features/firebase/functions.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Les Fonctions Firebase ---- -# Les Fonctions Firebase - -!!! danger - - Ceci est une fonctionnalité pensée pour les développeurs JavaScript expérimentés. - -Firebase est fait pour remplacer complètement un serveur de backend. Malheureusement certaines fonctionnalités ne peuvent pas être précisés et nécessitent l'écriture d'une logique côte serveur. C'est pour ça que Firebase a les fonctions Firebase. - -Firebase laisse ces utilisateurs écrire une logique à faire tourner quand des évènements se produisent. La documentation complète est disponible ici: https://firebase.google.com/docs/functions/callable. - -In de ces évènements est un appel https. Il est possible d'appeler ces fonctions via une action depuis GDevelop! Il suffit d'utiliser l'action "Appeler la fonction Firebase" avec le nom de la fonction appelable https. Il est aussi possible de passer un objet JavaScript et de retourner à GDevelop un objet (qui sera converti en structure automatiquement). \ No newline at end of file diff --git a/docs/fr/gdevelop5/all-features/firebase/index.md b/docs/fr/gdevelop5/all-features/firebase/index.md deleted file mode 100644 index beb4567aec7..00000000000 --- a/docs/fr/gdevelop5/all-features/firebase/index.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Firebase ---- -# Firebase - -> Pour installer firebase dans un projet, vois [](/fr/gdevelop5/all-features/firebase/quickstart). - - L'extension Firebase permet d'intégrer Firebase, une suite d'outils gratuits pour développeurs par Google, dans un jeu GDevelop. \Meme si la plupart des services sont entièrement gratuits, certains peuvent nécessiter de payer si ils sont trop utilisés. - -Cette suite d'outils comprend: - -- [Des Analytics](/fr/gdevelop5/all-features/firebase/analytics) -- [De la configuration a distance](/fr/gdevelop5/all-features/firebase/rc) -- De l'Authentification -- Un système de fichier en ligne (Storage) -- Une base de données structurée (Firestore) -- Une base de données en temps réel (Realtime Database) -- [Les Fonctions Firebase](/fr/gdevelop5/all-features/firebase/functions) (/!\\ Cette fonction requiert de savoir coder en Javascript!) -- De la messagerie -- Un mesureur de performance a distance diff --git a/docs/fr/gdevelop5/all-features/firebase/quickstart.md b/docs/fr/gdevelop5/all-features/firebase/quickstart.md deleted file mode 100644 index 2ad40ac06ef..00000000000 --- a/docs/fr/gdevelop5/all-features/firebase/quickstart.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Démarrer avec Firebase ---- -## Démarrer avec Firebase - -Firebase n'est pas une fonctionnalité a proprement parler mais une *intégration*. Cela veut dire qu'il faut *connecter* une application Firebase a GDevelop pour utiliser des fonctionnalités de Firebase. - -### Step 1: Créer un projet Firebase - -D’abord, va sur . Il devrait y avoir ta liste de projets, créés en un nouveau: ![](/gdevelop5/all-features/firebase/quickstart1.png) Nomme ton projet comme tu veux. Dans le cadre de cet article, je vais nommer mon projet Tutorial-GDevelop. ![](/gdevelop5/all-features/firebase/quickstart2.png) \ Tu peux activer les Analytics si tu veux, mais cela n'est pas nécessaire pour utiliser les autres services. Tu peux toujours les activer plus tard plus tard. {.is-info} - -Tu devrais voir le tableau de bord Firebase de ton projet. - -### Step 2: Connecter le jeu au projet Firebase - - Les jeux GDevelop fonctionnent comme une *application web*, créés en donc une depuis Firebase ![](/gdevelop5/all-features/firebase/quickstart3.png) Mets un nom de ton choix et tu peux décocher la case "Firebase hosting". \ A l'heure ou cet article est écrit il n'y a pas de possibilité d'utilisation de firebase hosting mais c'est possible que cela change Firebase devrait te montrer du code ressemblant celui-ci à present: ![](/gdevelop5/all-features/firebase/quickstart4.png) La seule partie nécessaire est *la configuration*, la partie entre les {}. Copie donc le contenu entre les {} **y compris les {}**. Chez moi ça serait: ``` - - { - apiKey: "AIzaSyCbFhG_bCyAvnxlmVSgIgn7Em0XOYE9YXA", - authDomain: "tutorial-gdevelop.firebaseapp.com", - databaseURL: "https://tutorial-gdevelop.firebaseio.com", - projectId: "tutorial-gdevelop", - storageBucket: "tutorial-gdevelop.appspot.com", - messagingSenderId: "386980638073", - appId: "1:386980638073:web:b00afc0ecb3ed7ca4f53a8", - measurementId: "G-R0KBN0HPQ8" - } - -``` - -Maintenant colle le dans la case "Configuration Firebase" des propriétés du projet. Tu remarqueras sans doute le *message d'erreur*: ![](/gdevelop5/all-features/firebase/quickstart5.png) Cette erreur est normale et due au fait que GDevelop utilisé un *format* légèrement different, où les *clés* sont entourés par des " ". Dans mon cas ils faudrait transformer ma configuration en: ``` - - { - "apiKey": "AIzaSyCbFhG_bCyAvnxlmVSgIgn7Em0XOYE9YXA", - "authDomain": "tutorial-gdevelop.firebaseapp.com", - "databaseURL": "https://tutorial-gdevelop.firebaseio.com", - "projectId": "tutorial-gdevelop", - "storageBucket": "tutorial-gdevelop.appspot.com", - "messagingSenderId": "386980638073", - "appId": "1:386980638073:web:b00afc0ecb3ed7ca4f53a8", - "measurementId": "G-R0KBN0HPQ8" - } - -``` L'erreur devrait avoir disparu: ![](/gdevelop5/all-features/firebase/quickstart6.png) Et voilà, bravo! Tu est fin prêt a utiliser Firebase dans GDevelop! diff --git a/docs/fr/gdevelop5/all-features/firebase/rc.md b/docs/fr/gdevelop5/all-features/firebase/rc.md deleted file mode 100644 index cffa4cbb0c6..00000000000 --- a/docs/fr/gdevelop5/all-features/firebase/rc.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Configuration a distance Firebase ---- -# Configuration a distance Firebase - -!!! note - - N'oublie pas [d'installer Firebase](/gdevelop5/all-features/firebase/quickstart)! - - La configuration distante Firebase te permet de *changer des paramètres* de jeu pour tout tes utilisateurs ou une partie d'entre eux **depuis le net**. Par example: tu peux augmenter la difficulté du jeu a distance uniquement pour les joueurs expérimentés qui se plaignent de la facilité du jeu sans avoir à déployer un patch. \Pour pouvoir sélectionner des groupes de joueurs efficacement ça aide d'activer les Analytics et l'Authentification - -### A propos de cet article - -Cet article va prendre un jeu très simple et y rajouter de la configuration distante pour expliquer son fonctionnement et intégration dans un jeu. Voici le jeu de base: ![](/gdevelop5/all-features/firebase/rc1.png) ![](/gdevelop5/all-features/firebase/rc2.png) - -Comme tu peux le voir, il s'agit d'un simple clicker où on peut gagner et perdre de l'argent. - -### Préparer la configuration distante - -La configuration distante requiert une action pour fonctionner. Elle permet de passer une structure comme **défaut**. Ce défaut est important car c'est la valeur qui va être utilisée avant la première connexion avec le serveur ou si le jeu est n'est pas connecté au réseau pour télécharger la configuration. Voici la structure que je vais utiliser comme défaut (seul le contenu de la structure est importante, pas son nom) ![](/gdevelop5/all-features/firebase/rc3.png) Puis il suffit de passer cette structure a l'action: ![](/gdevelop5/all-features/firebase/rc4.png) Les deux variables que je vais utiliser sont pour décider la valeur retirée et/ou ajoutée quand on clique sur un des boutons. - -### Préparer Firebase - - Maintenant ajoutons une valeur a ces variables sur Firebase. Pour ce faire cliques sur "Configuration Distante" depuis le tableau de bord Firebase: ![](/gdevelop5/all-features/firebase/rc5.png) Maintenant il suffit de mettre les mêmes variables et valeurs: ![](/gdevelop5/all-features/firebase/rc6.png) \ N'oublie pas d'enregistrer les modifications ! ![](/gdevelop5/all-features/firebase/rc7.png) - -### Ajouter un mécanisme de synchronisation - -Cette extension te laisse choisir quand synchroniser la configuration avec le serveur. Le moyen conseillé et d'utiliser l'action pour synchroniser la configuration **au démarrage du jeu et dans un événement périodique**. C'est a dire dans un événement qui arrive souvent mais pas trop dans le jeu \ Il est aussi possible d'utiliser l'action "Mettre l'auto synchronisation" mais elle n'est pas très fiable. {.is-info} Comme évènement périodique je pourrais utiliser un [Timer](/gdevelop5/all-features/timers), mais je veux garder le code simple et utilise donc un événement périodique existant; l'appui de bouton: ![](/gdevelop5/all-features/firebase/rc8.png) - -### Remplacer des valeurs par la configuration - -Maintenant, il suffit de remplacer les valeurs a rendre modulable par l'expression pour obtenir les valeurs du serveur: ![](/gdevelop5/all-features/firebase/rc9.png) - -#### Adapter le jeu a la modularité - -Il est important de faire attention en remplaçant des valeurs fixes par des valeurs modulables. Il faut par example mettre a jour dynamiquement des valeurs qui étaient fixes. Dans mon cas, il faut que je rajoute une action pour mettre a jour mon texte précédemment statique en cas de changement de la valeur: ![](/gdevelop5/all-features/firebase/rc10.png) - -### Utilise le tableau de bord Firebase pour changer les variables - -Et c'est bon! Tu as terminé et peux distribuer ton jeu. Si tu dois modifier une des variables, il te suffit de le faire depuis le tableau de bord Firebase. diff --git a/docs/fr/gdevelop5/behaviors/destroyoutside.md b/docs/fr/gdevelop5/behaviors/destroyoutside.md deleted file mode 100644 index 812270cc628..00000000000 --- a/docs/fr/gdevelop5/behaviors/destroyoutside.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Comportement de destruction en dehors de l'écran ---- -# Comportement de destruction en dehors de l'écran - - -C'est l'un des comportements les plus simples, il suffit de l'ajouter à un objet et ensuite, chaque fois qu'une instance de cet objet sort des limites de l'écran, cette instance sera détruite. - -C'est une façon simple de vous assurer que votre jeu n'est pas rempli d'objets inutile qui pourraient le ralentir. - -#### Ajouter un comportement à l'objet - -Pour ajouter un comportement à un objet, ouvrez d'abord les propriétés de l'objet en cliquant avec le bouton droit de la souris sur l'objet et sélectionnez Edit object dans la liste. Sélectionnez ensuite les comportements et cliquez sur le bouton Add a behavior to the object . - -#### Détruire lorsque hors de l'écran -![](/gdevelop5/behaviors/destroy-outside-screen-behavior-inlist.png) - -Une fois que vous avez sélectionné le comportement dans la liste, il va détruire l'objet lorsqu'il se trouve en dehors de l'écran. Ce comportement n' a aucune option à modifier et s'applique automatiquement à l'objet. \ No newline at end of file diff --git a/docs/fr/gdevelop5/behaviors/draggable.md b/docs/fr/gdevelop5/behaviors/draggable.md deleted file mode 100644 index dc137603bab..00000000000 --- a/docs/fr/gdevelop5/behaviors/draggable.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Comportement des objets déplaçables ---- -## Comportement des objets déplaçables - -Ce comportement rendra l'objet déplaçable avec la souris ou en utilisant l'écran tactile de l'appareil. - -#### Ajouter un comportement à l'objet -Pour ajouter un comportement à un objet, ouvrez d'abord les propriétés de l'objet en cliquant avec le bouton droit de la souris sur l'objet et sélectionnez "Edit object" dans la liste. Sélectionnez ensuite les comportements et cliquez sur le bouton "Ajouter un comportement". - -#### Objet déplaçable -![](/gdevelop5/behaviors/draggable-object-behavior-inlist.png) -En sélectionnant le comportement déplaçable de l'objet dans la liste, nous pouvons ajouter la fonctionnalité à l'objet. -Ce comportement n' a aucune option à modifier et s'applique automatiquement à l'objet. - -En utilisant des événements, nous pouvons vérifier si un objet est en train d'être déplacé - -#### Exemples - -Liste d'exemples: - - * objet déplacable: [Link](https://gametemplates.itch.io/template-manipulate-text-object) \ No newline at end of file diff --git a/docs/fr/gdevelop5/behaviors/index.md b/docs/fr/gdevelop5/behaviors/index.md deleted file mode 100644 index 33274eca8bd..00000000000 --- a/docs/fr/gdevelop5/behaviors/index.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Comportements ---- -# Comportements - -Les comportements ajoutent des capacités supplémentaires aux objets. Tous les objets peuvent avoir un ou plusieurs comportements. - -#### Ajouter un comportement à un objet. - -Pour ajouter un comportement à un objet, vous devez ouvrir les propriétés de l'objet en cliquant avec le bouton droit de la souris sur l'objet et sélectionner Edit object dans la liste. -Ensuite, vous devriez voir les propriétés de l'objet sélectionné que vous devez ignorer pour le moment et sélectionner l'options Behaviors en haut de la fenêtre. -![](/gdevelop5/behaviors-tab.png) - -Ici vous verrez une liste de comportements ajoutés à l'objet mais, il est probablement vide pour le moment. Pour ajouter un comportement à l'objet, cliquez sur le bouton Add a behavior to the object. -![](/gdevelop5/add-behavior-button.png) - -Ensuite vous devriez voir une liste des comportements disponibles -![](/gdevelop5/add-behavior-list.png) - -Il se peut que vous deviez faire défiler vers le bas pour les voir tous. -Enfin, il suffit de cliquer sur un comportement pour ajouter le comportement à l'objet. - -#### En savoir plus - -Vous pouvez en apprendre plus sur chaque comportement en cliquant sur les liens suivants: - - * [Comportement Physique](/fr/gdevelop5/behaviors/physics2) - * [Pathfinding](/gdevelop5/behaviors/pathfinding) - * [Destroy outside screen](/gdevelop5/behaviors/destroyoutside) - * [Platformer objects and platforms](/gdevelop5/behaviors/platformer) - * [Draggable object](/gdevelop5/behaviors/draggable) - * [Top-down movement](/gdevelop5/behaviors/topdown) \ No newline at end of file diff --git a/docs/fr/gdevelop5/behaviors/physics2.md b/docs/fr/gdevelop5/behaviors/physics2.md deleted file mode 100644 index 775e3495d6a..00000000000 --- a/docs/fr/gdevelop5/behaviors/physics2.md +++ /dev/null @@ -1,455 +0,0 @@ ---- -title: Comportement Physique ---- -# Comportement Physique - -Le moteur (comportement) physique peut être ajouté aux objets pour les faire bouger de manière réaliste, en suivant les lois de la physique. En arrière-plan, l'extension utilise Box2D, une bibliothèque de simulation physique des corps rigides rapide et très complète. - -Le comportement physique est basé sur trois grands concepts : le **_monde_** qui contient les corps, les **_corps_** eux-mêmes et les **_joints_** qui relient les corps. Tous sont expliqués en détail dans ce texte. - -!!! warning - - **Limite** : Comme indiqué ci-dessus, l'extension simule la physique des **_corps rigides_**, ce qui signifie que les corps ne peuvent pas être déformés. Des objets comme les formes molles, les vêtements et les liquides ne sont pas pris en charge. - -##Le monde - -Le **_monde_** est l'endroit où se déroulent les simulations, les corps et les contacts sont rattachés à un monde pour pouvoir interagir avec d'autres entités. -Vous n'avez pas à vous soucier de placer des objets dans le monde, les objets utilisant le comportement Physique sont automatiquement ajoutés au monde. De plus, il ne peut y avoir qu'un seul monde à la fois, vous ne pouvez pas exécuter deux simulations indépendantes en même temps. -La taille du monde, comme celle de GDevelop, est infinie. Vous n'avez donc pas à vous soucier de l'emplacement de vos objets, ils suivront toujours les lois de la physique. - -Le monde comporte 3 propriétés : - - * **Gravity** (la gravité) : elle est constituée de deux composantes (**X** et **Y**), et fonctionne comme la gravité terrestre. Elle ajoute une force à chaque objet, le poussant dans la direction donnée. Les objets supportent également un facteur d'échelle de gravité, plus à ce sujet dans la section des corps. - * **Timescale** (échelle temporelle) : Cette propriété définit l'échelle de temps utilisée par la simulation. Avec une échelle de temps de 0,5, la simulation s'exécute à la moitié de la vitesse normale, avec une échelle de temps de 2, la simulation est deux fois plus rapide et si elle est égale à 0, la simulation s'interrompt. Super utile pour les effets "bullet time" ! - * **Scale** (Échelle) : Dans GDevelop, les distances et les tailles sont définies en pixels mais le moteur physique utilise des mètres. Pour que la conversion se fasse, il faut fournir un facteur d'échelle (celui -ci comporte aussi, comme la gravité, deux composantes, l'échelle en **X** et l'échelle en **Y**). Les valeurs d'échelle indiquent le nombre de pixels par mètre. Par exemple, une valeur de 50 signifie qu'une distance de 50 pixels dans GDevelop est convertie en 1 mètre dans le monde physique. - -!!! note - - La règle numéro un pour décider de l'échelle du monde consiste à le choisir de manière à ce que la taille de vos objets mobiles / dynamiques soit comprise entre 0,1 et 10 mètres ; en dehors de cette plage, les simulations perdront en précision. Par exemple, si vous travaillez avec des tailles d’objets d’environ 100 x 100 pixels, une échelle mondiale de 100 serait parfaite, car la taille de votre corps sera d’environ 1x1 mètre. Les objets statiques peuvent être beaucoup plus longs, jusqu'à 50 mètres. - -## Les corps - -Les **_corps_** sont la _vie_ de l'extension **Physics**, ils définissent le mouvement de l'objet, sa forme, son rebond, sa capacité de rotation ou de déplacement. - -Lorsque vous ajoutez le comportement **Physics** à un objet, vous pouvez définir la configuration du corps directement à partir de l'EDI. - -Vous pouvez "jouer" avec les nombreuses options de **Physics** pour modéliser le monde physique selon vos besoin. Ces options sont décrites ci-dessous. - -###Les types de corps - -GDevelop supporte trois types de corps de base : - - * **Dynamic** : est le type le plus courant. Les **_corps dynamiques_** sont affectés par la gravité et peuvent entrer en collision avec d'autres corps _dynamiques_, _statiques_ et _cinématiques_. Vous pouvez leur appliquer des forces et des impulsions, ainsi que modifier leur vitesse. Presque tout ce qui doit bouger devrait être un corps dynamique. - * **Static** : Les **_objets statiques_** _ne sont pas_ affectés par la gravité et vous ne pouvez pas les déplacer en utilisant des forces, des impulsions ou en modifiant leur vitesse. Ils ne peuvent entrer en collision qu'avec des objets dynamiques, tout en ignorant la cinématique et les autres corps statiques. Ils sont destinés à être utilisés pour la géométrie statique du monde, comme le sol, les murs non mobiles et les plates-formes. - * **Kinematic** (Cinématique) : Les **_objets cinématiques_** sont très spécialisés. En tant qu'objets statiques, ils ne sont pas affectés par la gravité, ni par les forces ou les impulsions, mais vous pouvez, tout comme pour les corps dynamiques, les faire se mouvoir par leur vitesse. Les corps cinématiques entrent en collision avec les objets dynamiques uniquement et sont utiles pour simuler des murs et des plates-formes mobiles. - -Et quelques paramètres liés à la dynamique : - - * **Bullet** (Obus, balles) : Si la valeur est **true**, l'objet utilisera un algorithme de détection de collision en continu, ce qui réduira légèrement les performances, mais améliorera la réponse lors des déplacements très rapides. Utile pour simuler correctement ... évidemment ... des balles de fusil (ou tout objet très rapide) et réduire les risques que les balles traversent des objets minces. - -!!! danger - - Utilisez cette option sur les objets qui en ont vraiment besoin. L'impact sur les performances lorsqu'il est utilisé dans chaque objet déplacé n'est pas * léger *. - - * **Fixed Rotation** (Rotation bloquée) : Si la valeur est **true**, l'objet ne pourra pas pivoter. Imaginez que votre joueur tourne à chaque fois qu’il heurte un mur ou en descendant une pente. - * **Can Sleep** (Peut dormir) : Si défini à **true**, le moteur peut améliorer les performances des objets qui ne sont pas déplacés depuis un moment, ce qui les met en veille. C'est juste un paramètre de performance qui ne devrait pas avoir d'impact sur la simulation elle-même. - -!!! note - - Vous pouvez vérifier si un corps "dort" en utilisant les conditions d'événements. Si un objet dort, cela signifie qu'il est dans un état d'équilibre depuis un moment, utile pour créer des jeux d'équilibre. - -###La forme du corps (Body shape) - -Les options **Body shape** (forme du corps) déterminent la forme et la taille du corps et, en fonction du type de forme, vous disposez de différentes options pour définir les dimensions. - - * **Box** (Boîte) : //Un rectangle aligné sur l'axe et centré sur l'objet//. Si la largeur et la hauteur personnalisées ne sont pas définies, c'est la taille de l'objet qui est utilisée. - * **Circle** (Cercle) : // Un cercle centré sur l'objet //. Si aucun rayon personnalisé n'est défini, il sera calculé comme une moyenne à partir de la largeur et de la hauteur de l'objet. Si l'objet se présente sous la forme d'un carré, le résultat sera un cercle inscrit à l'intérieur de la boîte englobante. - * **Edge** (Arête) : // Une fine ligne centrée dans l'objet //. Cette forme n'ayant pas de volume, elle ne fonctionne pas bien en tant que corps dynamique, elle est prévue pour être utilisée pour la géométrie statique, le sol et les plateformes. Si une longueur et un angle personnalisés ne sont pas définis, l'arête sera une ligne horizontale avec une longueur égale à la largeur de l'objet. - * **Polygon** : _Une forme personnalisée définie par ses sommets_. Le polygone doit être convexe et si cette condition échoue, la forme revient à la boîte par défaut. Le nombre de sommets doit être supérieur ou égal à 3 (sinon, il ne peut pas être convexe) et inférieur ou égal à 8 (nombre maximal de sommets pris en charge par polygone) : 3 ≤ nombre de sommets ≤ 8. - -Outre le type et la dimension personnalisés de la forme, **Body shape** prend en charge deux options supplémentaires : - - * **Offset** (Décalage) : Le décalage a deux composantes (X et Y) et peut être utilisé pour déplacer la forme à partir du centre de l'objet. - * **Scale** (Échelle) : Vous pouvez aussi redimensionner la forme. **Scale** redimensionne les dimensions et le décalage personnalisés de la forme. Si vous n'utilisez pas des dimensions personnalisées, par exemple si vous utilisez la forme **Box** et laissez la largeur et la hauteur égales à la taille d'origine de l'objet, il n'est pas nécessaire de modifier l'échelle de la forme car la mise à l'échelle sera effectuée automatiquement. Si le type de forme est **Polygon**, l'échelle modifiera également la position des sommets et l'origine de l'échelle sera **Polygon origin** (Origine du polygone). Si vous définissez l'origine du polygone sur **Center** et réduisez la taille de la forme, les sommets seront réduits jusqu'à et dans la direction du centre de l'objet. - -###Paramètres du corps (Body settings) - -Outre le type et la forme, les corps physiques disposent de paramètres supplémentaires qui déterminent le comportement du corps en cas de collision, l'impact de la gravité sur celui-ci et l'énergie perdue en raison du frottement de l'air. Chaque réglage est expliqué ci-dessous. - - * **Density** (Densité) : La densité détermine la masse corporelle. La formule générale est `densité = masse/volume`, mais comme il n’y a pas de troisième dimension, nous pouvons partir du fait qu’il s’agit de `densité = masse/surface`. Deux corps ayant la même densité mais des aires/tailles différentes auront une masse différente, vous devez donc en tenir compte lors du redimensionnement des objets. - - __La densité ne peut pas être négative !__ - - * **Friction** (Frottement) : Le frottement ajoute une force aux corps en contact, dans le sens opposé à celui de leur mouvement. Plus le frottement est élevé, plus les objets ralentissent au contact. Pour mieux le comprendre, une plate-forme en sable aura un frottement proche de 1 (très haut), alors qu'une plate-forme en glace aura un facteur de frottement proche de zéro. - - __Le frottement ne peut être négatif ! __ - -Lorsque deux objets sont en contact, le frottement total est calculé à partir des frottement des objets en contact par la formule : `friction = sqrt (frictionA * frictionB)` - -* **Restitution** : Détermine la quantité d'énergie que l'objet garde ou perd à chaque collision. Une valeur de **0** signifie que les collisions seront parfaitement inélastiques et que l'objet ne rebondira pas du tout. Alors qu'une restitution valant **1** signifie que les collisions seront parfaitement élastiques et que l'objet rebondira avec la même énergie à chaque fois. Imaginez une balle qui rebondit sur le sol et qui atteint toujours la même hauteur. Les valeurs de restitution supérieures à 1 sont valides, mais l'objet gagne de l'énergie à chaque collision et la simulation risque de ne plus être maîtrisée. - - __La restitution ne peut pas être négative! __ - -Lorsque deux objets entrent en contact. , la restitution totale est calculée à l'aide de la restitution des objets en collision via la formule : `restitution = max (restitutionA, restitutionB)` - -* **Linear Damping** (Amortissement linéaire) : L'amortissement linéaire réduit la vitesse de l'objet à tout moment. Plus la valeur est élevée, plus les objets sont ralentis. Vous pouvez vous la représenter en comparant la viscosité de l’air (qui est faible) à cette de l'eau (plus élevée) et à celle de la mélasse (qui est encore plus élevée. Autrement dit, un objet lancé dans l'air va plus loin que s'il était lancé dans l'eau. - - __Bien que vous puissiez utiliser n’importe quelle valeur, l’amortissement négatif fait que l’objet gagne en vélocité à chaque étape, générant un comportement non-physique.__ - -* **Angulaire Damping** (Amortissement angulaire) : Analogue à l'amortissement linéaire, mais plutôt que de ralentir la vitesse linéaire de l'objet, il ralentit la vitesse angulaire, autrement dit la vitesse de rotation de l'objet à chaque étape. - -__Bien que vous puissiez utiliser n'importe quelle valeur, un amortissement négatif fait que l’objet gagne en vitesse angulaire à chaque étape, générant un comportement non-physique.__ - -* **Gravity Scale** (Échelle de gravité) : Ce facteur est multiplié par la gravité du monde pour déterminer la gravité appliquée à l'objet. Notez qu'il s'agit d'un nombre et non d'un vecteur, vous ne pouvez pas modifier l'orientation de la gravité, mais uniquement sa magnitude et son sens. Tout nombre est valide, par exemple si **Gravity Scale** vaut `1`, la gravité appliquée sera la gravité du monde, si elle vaut `2`, la gravité sera deux fois plus forte pour cet objet et si elle est égale à `0,5`, elle sera deux fois plus faible. Avec une valeur de `0`, l'objet ne sera pas affecté par la gravité, et si elle vaut `-1`, la gravité sera inversée. - -!!! note - - Vous pouvez utiliser une échelle de gravité négative pour inverser la gravité d'un objet spécifique. - -### Calques et masques - -Les calques et les masques permettent de filtrer les collisions entre objets. Imaginez que vous construisez un jeu de zombies et que vous voulez que votre joueur entre en collision avec le sol et que les zombies entrent en collision avec le joueur et avec le sol également, mais vous ne voulez pas que les zombies se heurtent avec d'autres zombies, Dans ce cas, vous avez besoin de filtres de collision. - -Comment fonctionnent les filtres ? -Il n'y a qu'une seule règle : - -!!! warning - - Deux objets `A` et `B` peuvent entrer en collision si n'importe quel calque de `A` correspond à n’importe quel masque de `B` **et** que n'importe quel calque de `B` correspond à n’importe quel masque de `A` - -Voici une solution possible au problème des zombies évoqué ci-dessus : - - * Sol : activez le premier calque et les premier et deuxième masques. - * Joueur : activez le premier calque et les premier et deuxième masques. - * Zombie : Activer le deuxième calque et le premier masque uniquement. -Pourquoi cela fonctionne-t-il ? - - * Sol et joueur : un calque de sol correspond à un masque de joueur (premier) **et** un calque de joueur correspond à un masque de sol (premier). - * Sol & Zombie : un calque de sol correspond à un masque de zombie (premier) **et** un calque de zombie correspond à un masque de sol (deuxième). - * Joueur & Zombie : un calque joueur correspond à un masque de zombie (premier) **et** un calque zombie correspond à un masque de joueur (deuxième). - * Zombie & Zombie : seul le deuxième calque est activé pour le zombie, et seul le premier masque est activé, afin que les zombies ne puissent pas se heurter. - -Notez que vous disposez de 16 calques et de 16 masques, et pour résoudre notre petit problème, il ne vous a fallu que 2 calques et masques. - -###Mouvement - -Après avoir configuré vos objets, il est temps de commencer la simulation : la gravité commence d'agir, les objets bougent et se heurtent, mais vous ne pouvez pas interagir avec le jeu. Il est temps de déplacer les objets vous-même et pour ce faire, vous devez utiliser le système des événements. Voici quelques actions utiles pour interagir avec les objets et les déplacer comme vous le souhaitez. - -!!! danger - - Les forces intégrées de GDevelop ne conviennent pas au comportement **Physics**. Pour définir la vitesse linéaire, utilisez les forces spécifiques à la physique ou aux actions de la physique. - -* **Forces** : Les forces modifient le mouvement d'un objet et sont destinées à être utilisées pendant un certain temps pour générer un effet appréciable. La vitesse que l'objet gagne lorsque vous lui appliquez une force dépend de la magnitude de la force et de la masse de l'objet. Un objet lourd se déplacera plus lentement qu'un objet plus léger si la même force est appliquée sur les deux masses. - -__Il faut définir un point d'application pour ajouter et utiliser une force.__ - -* **Torques** (Couples) : Analogues aux forces mais pour la rotation. Un couple générera une accélération angulaire sur l'objet, le faisant tourner plus vite ou plus lentement dans le temps. - -* **Impulses** (Impulsions) : Semblables aux forces, mais ne dépendent pas du temps, elles ajoutent instantanément une "quantité" de vélocité. Elles sont censées être utilisées une seule fois. Une utilisation courante pourrait être de simuler des sauts : chaque fois que vous appuyez sur le bouton de saut, vous ajoutez une impulsion vers le haut. - -__Il faut définir un point d'application pour ajouter une impulsion.__ - -* **Angular Impulses** (Impulsions angulaires) : Analogues aux impulsions mais pour la rotation. Change la vitesse de rotation d'un objet instantanément. - -* **Velocity** (Vélocité) : Vous permet de modifier directement la vélocité d'un objet. Par exemple, vous pouvez faire marcher votre personnage à vitesse constante, puis modifier la vélocité tant que vous appuyez sur un bouton de mouvement. - -* **Angular Velocity** (Vitesse angulaire) : Vous pouvez également définir directement la vitesse angulaire (vitesse de rotation). - -!!! warning - - Vous pouvez modifier directement la position des objets, mais cela générera des comportements non physiques, du moins jusqu'à ce que la nouvelle position soit corrigée. Après tout, les objets ne se téléportent pas dans la vie réelle. - -Notez que les forces et les impulsions ont besoin d’un //point d’application//. C’est important car c n'est pas pareil de pousser un verre à la base (pour déplacer le verre) que de le pousser dans le haut (le verre va probablement tomber), ni de pousser une porte vers sa poignée ou vers ses charnières. -Si le point d'application est différent du centre de gravité de l'objet, il générera une sorte de couple/rotation. - -!!! note - - Vous pouvez obtenir le centre de gravité d'un objet en utilisant les expressions de comportement **Physics** `MassCenterX ()` et `MassCenterY ()` - -##Les joints (Joints) - -Les joints sont des restrictions données aux objets pour leur faire suivre des règles de mouvement supplémentaires. Certains joints font pivoter les objets autour d’un point fixe, d’autres maintiennent deux objets ensemble, les plus complexes simulent les roues du véhicule, limitant la distance entre les corps tout en leur permettant de tourner librement. - -** Joint ID ** (ID du joint) : -Lorsque vous créez un joint, vous pouvez lui transmettre un nom de variable. Si vous le faites, GD stockera le numéro d'identification unique (**ID**) du joint dans la variable donnée. En vous servant de **Joint ID**, vous pourrez le modifier après sa création, vérifier ses valeurs et le supprimer. Imaginez que vous créez un joint pour attacher une clé à une ficelle fixée au toit. Si vous enregistrez l'ID du joint dans une variable, vous pourrez vérifier si un objet entre en collision avec la ficelle et supprimer le joint à l'aide de l'ID enregistrée pour faire tomber la clé. -!!! note - - Un **Joint ID** sera toujours un nombre supérieur à zéro. - -En règle générale, vous aurez besoin de deux objets pour définir un joint (dans l'exemple précédent, la corde et la clé), mais il existe des "exceptions". Consultez l'explication fournie dans **Revolute joint** si vous souhaitez en savoir plus. - -Voici une liste des propriétés, conditions et actions communes à tous les types de joints. - -* ** Joint first/second object ** (Premier/second objet du joint) : conditions qui vous permettent de sélectionner des objets s’ils sont le premier ou le second objet reliés par le joint. -* ** Joint first/second anchor X/Y ** (Ancrage X/Y du premier/second objet) : expressions permettant d'obtenir la position du premier ou du deuxième point d'ancrage de l'objet relié par le joint. -* ** Joint reaction force/torque ** (Force/couple de réaction du joint) : Conditions et expressions permettant de vérifier la force ou le couple de réaction du joint, cette valeur indique à quelle distance se situe le joint par rapport à son état d'équilibre. Si la force de réaction du joint est trop élevée, cela signifie que le joint a été séparée de sa position d'équilibre par une force considérable. Utile pour faire des joints cassables. -* **Remove joint** (Supprimer le joint) : Action pour supprimer le joint spécifié. Si le joint est l'un des enfants d'un joint de type engrenage, l'engrenage sera également supprimé. Si l'un des objets relié par le joint est supprimé, le joint sera également supprimé. - -Il existe de nombreux types de joint, chacun avec des comportements et des propriétés uniques. Ils sont énumérés ci-dessous. - -!!! warning - - Assurez-vous de créer les joints dans les événements qui ne s'exécutent qu'une seule fois (par exemple, au début de la scène). La créations de joints à chaque image créera des centaines de de joints en quelques secondes, ce qui entraînera des performances médiocres, des comportements non physiques, voire faire planer la machine en raison de l'énorme consommation de mémoire. - -### Distance Joint - -**Distance joint** essaie de garder deux objets séparés par une distance donnée, la distance est calculée à partir des points d'ancrage du joint. -Les objets ne seront pas à la distance donnée tout le temps mais auront tendance à l'atteindre, en utilisant une formule d'oscillateur. - -Paramètres : -* **Length** (Longueur) : La distance de la cible. Si une valeur négative est donnée, c'est la distance entre les objets au moment de la création du joint qui est utilisée. -* **Damping ratio** (Rapport d'amortissement) : Le "frottement" des objets va souffrir, des valeurs faibles font osciller davantage les objets, des valeurs plus élevées réduisent les oscillations mais les objets bougent plus lentement. -* **Frequency** (Fréquence) : Spécifie à quelle vitesse les objets vont osciller, des valeurs faibles génèrent des joints souples se déplaçant plus lentement pour atteindre la distance cible, des valeurs plus élevées simulent des joints plus rigides avec des objets se déplaçant très rapidement pour atteindre la cible. - -!!! note - - Les valeurs d'amortissement et de fréquence faibles généreront des joints souples, avec de nombreuses oscillations avant de se rapprocher de la distance cible, tandis que des valeurs élevées pour les deux réglages génèrent des joints très rigides. - -### Revolute Joint - -Les joints **Revolute** fonctionnent comme des axes, ils sont également appelés **_charnières_**. Ils font pivoter les objets autour d’un point. -Il existe deux types de joints **Revolute**, qui sont presque les mêmes, mais avec une petite différence. - -* **Revolute joint between two objects** (Joint tournant entre deux objets) : il relie deux objets qui les objets se déplacent ensemble de manière à ce que leurs points d'ancrage se chevauchent, et chaque objet pivote autour de son point d'ancrage. Imaginez que vous épingliez deux cartes ensemble et les lanciez afin qu'elles bougent et tournent librement autour de l'épingle. -* **Revolute joint in a single object** (Joint tournant dans un seul objet) : Les joints fonctionnant généralement entre deux objets, celui-ci représente l'une des exceptions. Ce joint nécessite un seul objet et son point d'ancrage épingle l'objet à la position fixe donnée. Pensez-y comme si vous épingliez une note sur un tableau d'affichage : la note peut pivoter autour de l'épingle mais ne peut pas bouger. - -!!! note - - Notez que, dans la version du joint à objet unique, l'objet est ajouté en tant que deuxième objet du joint, le premier objet est un corps statique masqué, ce qui permet d'utiliser ce type de joint dans les engrenages (expliqué dans la section joint d'engrenage). - -Voici la liste des paramètres spécifiques aux joints **Revolute** : - -* **Angle limits** (Limites d'angle) : Si activé, la rotation sera limitée entre les angles `minimum` et `maximum`. Notez que les deux angles sont relatifs au premier objet. -* **Reference angle** (Angle de référence) : L'angle entre les objets sera considéré comme nul. Il décale toutes les propriétés de l'angle. Si l'angle de référence est de 15 degrés, demander l'angle courant de l'articulation lorsque l'angle entre les objets est de 15 degrés en coordonnées universelles retournera 0, et si vous définissez l'angle maximal à 30, il retournera 45 (par rapport au premier objet). -* **Minimum angle** : L'angle minimal entre les objets, par rapport au premier objet. Doit être inférieur ou égal à l'angle maximal. -* **Maximum angle** : L'angle maximal entre les objets, par rapport au premier objet. Doit être supérieur ou égal à l'angle minimal. - -!!! tip - - Vous pouvez utiliser des joints **Revolute** avec des limites d’angle pour simuler des articulations charnières - -* **Motor** : Si activé, ce joint ajoutera du couple au second objet pour le faire tourner sans avoir besoin d'une force externe ... comme un moteur. Si vous l'activez, pensez à définir une vitesse de moteur et un couple moteur maximal ! -* **Motor speed** (Vitesse du moteur) : La vitesse du moteur cible, en degrés par seconde. Il s’agit de la vitesse que le deuxième objet essaiera d’atteindre en tournant autour du premier objet. La vitesse du moteur peut être positive pour faire tourner l'objet dans le sens des aiguilles d'une montre ou négative pour le faire tourner dans le sens contraire des aiguilles d'une montre. -* **Maximum motor torque** (Couple moteur maximal) : Le couple maximal que le moteur peut utiliser pour atteindre la vitesse de rotation cible. Doit être positif. - -Vous pouvez de plus accéder aux valeurs suivantes pendant la simulation : - -* **Joint angle** (Angle du joint) : L'angle actuel entre les objets, par rapport au premier objet et affecté par l'angle de référence. -* **Joint speed** (Vitesse du joint) : vitesse angulaire actuelle du joint, c'est-à-dire la vitesse autour de laquelle tourne le deuxième objet, par rapport à la rotation du premier objet. -* **Joint motor torque** (Couple moteur commun) : Le couple du moteur actuel peut être inférieur au couple moteur maximal, car il s'agit du couple requis pour atteindre la vitesse cible du moteur. - -!!! note - - Les joints tournants peuvent également être utilisés pour : des leviers de flipper, des portes de type store, des machines tournantes automatiques en tant ponts levis ou tournants. - - - -### Prismatic Joint - -Les joints prismatiques **Prismatic Joint** fonctionnent comme des **_pistons_** et sont également appelées _curseurs_. Ils font glisser des objets les uns sur les autres selon une direction donnée. Un bon exemple est un ascenseur, l’ascenseur se déplaçant dans un sens vertical le long d’un rail, le rail serait le premier corps du joint et l’ascenseur le second, la direction de l’axe serait un angle dirigé vers le haut ou le bas (-90 ou 90 degrés) . - -Paramètres spécifiques aux joints prismatiques - -* **Axis angle** (Angle de l'axe) : L'angle déterminant la direction du mouvement. Un angle d'axe égal à **`0`** définit un mouvement horizontal. La valeur est donnée en coordonnées universelles, mais l'axe pivote en suivant la direction du premier objet (si vous faites pivoter les rails de votre ascenseur, l'angle de mouvement de l'ascenseur pivote également). -* **Reference angle** (Angle de référence) : Comme pour les joints tournants, cet angle ajoute un décalage à l'axe, établissant un nouvel "angle zéro". Si l'angle de référence est 15, un angle d'axe de 15 en coordonnées du monde (par rapport à la direction du premier objet) sera traité en tant que 0. -* **Translation limits** (Limites de translation) : Si activé, le mouvement du second objet sera limité entre les translation minimale et maximale données. -* **Minimum translation** : La distance minimale dont le deuxième objet peut se déplacer par rapport au premier. Dans notre exemple d'ascenseur, la translation minimale serait le sol. -* **Maximum translation** : La distance maximale dont le second objet peut se déplacer par rapport au premier. Dans notre exemple d'ascenseur, le toit. - -!!! warning - - La plage des limites de translation doit inclure le zéro. Une tranlation minimale de 5 et maximale de 10 (plage [5, 10]) sera convertie en plage [0, 10] pour inclure le zéro. - -* **Motor** : Si activé, le joint appliquera une force au second objet pour que le moteur atteigne une vitesse donnée. Si vous l'activez, pensez à définir une vitesse et une force maximales pour le moteur ! -* **Motor speed** (Vitesse du moteur) : La vitesse finale que le moteur essaiera d'atteindre. Si positif, le second objet se déplace dans la direction de l'axe et dans la direction opposée si elle est négative. -* **Maximum motor force** (Force maximale du moteur) : La grandeur maximale de la force que le moteur peut dépenser pour atteindre la vitesse cible. Doit être positif. - -Vous pouvez en plus accéder aux paramètres ci-dessous pendant la simulation. - -* **Joint translation** (Translation du joint) : La distance actuelle dont le deuxième objet a été déplacé par rapport au premier. -* **Joint speed** (Vitesse du joint) : La vitesse actuelle du deuxième objet le long de son axe par rapport à la vitesse du premier objet. -* **Joint motor force** (Force motrice du joint) : Force actuelle appliquée par le moteur au deuxième objet. Cette valeur peut être inférieure à la force motrice maximale car il s'agit de la force nécessaire pour atteindre la vitesse cible du moteur. - - -###Pulley joint (joint de type poulie) - -Un joint simple avec un nom simple. Ce joint rend la somme des distances de chaque objet à leur position par rapport au sol (point d'ancrage) constante. Il est beaucoup plus facile à comprendre en utilisant d'autres mots : il simule une poulie). - -Imaginez que vous ayez une boîte suspendue à 3 mètres sous un point fixe A et un cercle suspendu à 2 mètres sous un point fixe B, les deux objets étant fixés aux extrémités de la même corde passant par une poulie. La corde a une longueur constante. Ainsi, si vous déplacez la boîte vers le haut de 2 mètres, donc maintenant suspendue à seulement 1 mètre sous A, le cercle doit descendre de la même distance, donc maintenant être à 4 mètres sous B. Il en résulte que la distance entre la boîte et le point A plus la distance entre le cercle et le point B est toujours de 5 mètres: - -`distance (boîte, A) + distance (cercle, B) = constante` - - -**Ratio** : -Facile, non ? Maintenant la partie un peu folle : ce joint supporte un paramètre supplémentaire : **ratio** (rapport). **Ratio** rend la corde plus extensible d'un côté que de l'autre. Par exemple, 1 mètre de corde du côté de la boîte peut être équivalent à 2 mètres de corde du côté cercle (rapport = 1/2 = 0,5). - -Revenons à notre exemple initial : la boîte à 3 mètres sous A, le cercle à 2 mètres sous B, mais avec un rapport de 0,5. Si vous déplacez la boîte de 2 mètres vers le haut, le cercle se déplace de 4 mètres vers le bas. La longueur de la corde n’est clairement plus constante, mais : - -`distance (boîte, A) + rapport * distance (cercle, B) = constante` - -(Notez que la première équation est un cas particulier de celle-ci, avec **ratio** = 1). - -Veuillez également noter qu'il n'y a véritablement pas de "corde" du tout, le joint fonctionne uniquement avec la distance entre les objets et les points d'ancrage ! - -Voici les paramètres courants : - -* **First ground point** (Premier point d'ancrage) : Le point fixe auquel le premier objet est attaché (dans les exemples, le point A). -* **Second ground point** (Deuxième point d'ancrage) : Le point fixe auquel le deuxième objet est attaché (dans les exemples, le point B). -* **First length** (Première longueur) : Longueur initiale de la corde entre le premier objet et son point d'ancrage. Si la valeur est négative ou égale à zéro, c'est la distance au moment de la création du joint qui est utilisée. -* **Second length** (Deuxième longueur) : Longueur initiale de la corde entre le deuxième objet et son point d'ancrage. Si la valeur est négative ou égale à zéro, c'est la distance au moment de la création du joint qui est utilisée. -* **Ratio** (Rapport) : Expliqué ci-dessus. C'est le rapport entre les distances de chaque côté. Si le rapport est égal à 0,33, 1 mètre du premier côté équivaut à 3 mètres du deuxième côté. - -###Gear Joint (joint engrenage) - -Ce joint est très spécial car, au lieu de joindre deux corps directement, les engrenages joignent deux autres joints. Ces joints enfants doivent être de type **revolute** ou **prismatic**. -Lorsque deux joints sont reliés par un joint **Gear**, le mouvement de l'un des joints provoque le déplacement de l'autre joint. Par exemple, le déplacement d'un objet le long de l'axe d'un joint **prismatic** entraîne la rotation du joint **revolute** qui lui est liée, et inversement. - -Mais ce joint est aussi très délicat à manier ! Pour faire fonctionner un engrenage, le premier corps du joint de chaque enfant doit être _statique_ et le second _dynamique_. -Vous pouvez assembler deux joints **revolute**, deux joints **prismatic** ou un joint **revolute** et un joint **prismatic**, mais le premier corps de chaque joint doit toujours être **_statique_** ! - -!!! note - - Le premier corps des joints enfants de l'engrenage doit être statique. C'est pourquoi la version à objet unique du joint **revolute** précise que le premier corps est un objet statique masqué - -Les paramètres du joint **Gear** : - -* **First joint** (Premier joint) : Un joint **revolute** ou **prismatic** sera lié au second joint. -* **Second joint** (Second joint) : Un joint **revolute** ou **prismatic** sera liée au premier joint. -* **Ratio** (Rapport) : comme le joint de type poulie, les engrenages supportent un "rapport" et fonctionnent de manière similaire : si vous reliez deux joints **revolute** avec un rapport de 0,33, chaque tour dans le premier **revolute** équivaut à trois tours dans le second. Il existe toutefois une différence par rapport au rapport des joints de type poulie : les rapports des engrenages peuvent être négatifs, ce qui permet à un mouvement positif dans l’une des articulations de générer un mouvement négatif dans l’autre. Par exemple, lorsque vous reliez deux joints avec un ratio de –1, une rotation dans le sens des aiguilles d'une montre génère une rotation dans le sens inverse des aiguilles d'une montre dans l'autre, un peu comme un engrenage, non ? - -!!! warning - - La condition nécessaire à l'existence d'un engrenage est l'existence des deux joints enfants. Si l'un des deux joints est supprimé, l'engrenage est automatiquement supprimé. - - -###Mouse Joint (joint souris) - -Ce joint n'est pas nécessairement liée à la souris, mais c'est très courant. Ce joint ne fait que déplacer un objet vers une position cible. Si vous mettez continuellement à jour la position de l'objet pour cibler la souris ou l'endroit où vous avez appuyé, vous pouvez faire glisser des objets. - -Notez que **Mouse Joint** une autre exception parmi les joints, car il ne nécessite qu'un seul corps pour fonctionner : l'objet qui sera déplacé vers la cible. - -Paramètres pour le joint souris : - -* **Object** : L'objet à déplacer, vers la position cible. -* **Target** (Cible) : le point cible que l'objet essaiera d'atteindre. Vous pouvez le mettre à jour autant de fois que vous le souhaitez après la création du joint -. -!!! warning - - La position initiale de la cible (au moment de la création du joint) est également utilisée comme point d'ancrage de l'objet. Veillez donc à la définir ! - -* **Maximum force** (Force maximale) : La force maximale que le joint peut appliquer à l’objet pour atteindre la position de la cible. Plus la force est grande, plus l’objet se déplace rapidement. Ce paramètre doit être positif. -* **Frequency** (Fréquence) : Fonctionne comme la fréquence du joint distance. Il déterminant la vitesse à laquelle l'objet oscille autour de la cible. -* **Damping ration** (Rapport d'amortissement) : Fonctionne comme le rapport d'amortissement du joint distance, en ralentissant l'objet au cours du temps. - -!!! note - - **Mouse Joint** n'est pas limité à son utilisation avec la souris, il accepte n'importe quel point du monde comme cible. - - -###Wheel Joint - -**Wheel Joint** (joint de roue) est un joint très spécifique. Vous aurez besoin de ce joint lorsque vous voulez utiliser une ou des roues, et il est difficile de penser à un cas différent de celui d'une roue de véhicule pour laquelle le meilleur joint est **Wheel Joint**. - -Conçu pour simuler les roues de véhicules, ce joint ne fait que cela, mais le fait très bien ! - -Vous pouvez vous représenter le joint **Wheel** comme une combinaison du joint **Revolute** et du joint **Prismatic** : - -* Le joint **Revolute** permet de faire tourner le deuxième objet (la roue) et, comme le joint **Revolute** classique, il comporte un moteur simulant le moteur du véhicule faisant tourner la roue. -* La fonction du joint **Prismatic** consiste à simuler la suspension de la roue du véhicule et, tout comme avec le joint **Prismatic** classique, vous pouvez définir l'angle de l'axe pour définir le sens de translation de la roue. C'est généralement la direction de l'axe vertical, mais, par exemple, les motos ont une direction de suspension de la roue avant différente (et parfois très éloignée) de la verticale. - -!!! warning - - Le corps qui fera office de roue doit être le deuxième objet de l'articulation. - -Voici les paramètres du joint **Wheel** - -* **Axis angle** (Angle d'axe) : Équivalent à l'angle d'axe du joint **Prismatic**, il détermine la direction du mouvement (ou du glissement) entre la roue et le premier objet. -* **Frequency** (Fréquence) : La fréquence de l'oscillation de la suspension, équivalent à la fréquence du joint **Distance**. Des valeurs élevées font osciller la roue plus rapidement. -* **Damping ratio** (Rapport d'amortissement) : L'amortissement de la suspension, équivalent au rapport d'amortissement du joint **Distance**. Plus la valeur est élevée, plus le mouvement de la roue est ralenti. -* **Motor** : Si activé, le joint ajoutera un couple à la roue (deuxième objet) pour atteindre la vitesse souhaitée du moteur. Si vous l'activez, n'oubliez pas de régler la vitesse du moteur et le couple moteur maximal ! -* **Motor speed** (Vitesse du moteur) : La vitesse angulaire que la roue tentera d'atteindre. Peut être positif pour une rotation dans le sens horaire ou négatif pour une rotation dans le sens anti-horaire. -* **Maximum motor torque** (Couple moteur maximal) : Couple maximal que l'articulation peut appliquer à la roue pour atteindre la vitesse désirée du moteur. Doit être positif. - -Et voici quelques paramètres supplémentaires auxquels vous pouvez accéder pendant la simulation : - -* **Joint translation** (Translation du joint) : La translation actuelle de la roue le long de l'axe de suspension. -* **Joint speed** (Vitesse du joint) : La vitesse de rotation actuelle de la roue. -* **Joint motor torque** (Couple moteur du joint) : Le couple actuel que le joint applique à la roue, il peut être inférieur au couple maximal du moteur, car il s'agit du couple nécessaire pour atteindre la vitesse cible. - - -###Weld Joint - -Ce joint (soudure en français) est super basique, il essaye juste de coller deux objets ensemble et de les déplacer comme s'il s'agissait d'un seul objet. - -!!! warning - - Vous pouvez l'utiliser pour fabriquer des objets cassables, mais n'abusez pas ! Si presque tous les objets sont attachés par des joints souples et que de nombreux objets sont collés ou ont densités très différentes, des résultats physiquement inexacts peuvent se produire - -Paramètres spécifiques du joint **Weld** : - -* **Reference angle** : L'angle que le second objet a par rapport à l'angle du premier objet. - -!!! note - - Pour coller les objets dans l'angle qu'ils ont au moment de la création du joint, utilisez l'angle relatif entre les objets comme angle de référence : \\ `SecondObject.Angle () - FirstObject.Angle ()` - - * **Frequency** : Fonctionne comme la fréquence du joint **Distance**. Il déterminant la vitesse à laquelle les objets vont osciller pour atteindre la position de repos. -* **Damping ratio** (Rapport d'amortissement) : Fonctionne comme le rapport d'amortissement du joint **Distance**, en ralentissant les objets au cours du temps. - - -###Rope Joint - -Le joint **Rope** (corde) est autre joint simple : il fait en sorte que deux objets soient virtuellement reliés par une corde. Il en résulte qu'ils ne peuvent pas être séparés par une distance supérieure à la longueur de la corde, mais peuvent bien sûr être séparés d'une distance inférieure à celle-ci. - -Comme dans le joint **Pulley**, il n'y a pas du tout de corde réelle, le joint vérifie simplement la distance entre les objets et réagit si la distance est supérieure à la longueur donnée. - -Le seul paramètre spécifique pour le joint **Rope** est : - -* **Maximum length** (Longueur maximale) : La distance maximale entre les objets. Si la valeur initiale est négative, c'est la distance entre les objets au moment de la création du joint qui est utilisée. - - -###Friction Joint - -Le joint de friction simule le frottement selon un axe Z, il ralentit la vitesse relative et/ou la vitesse angulaire entre deux objets, de manière à pouvoir simuler un frottement linéaire et/ou angulaire. - -!!! tip - - Si l'un des objets est statique, vous pouvez utiliser le joint de friction pour simuler correctement la friction dans un jeu "top-down", comme une table de billard ou des jeux de course "top-down". - -Paramètres du joint **Friction** - -* **Maximum force** (Force maximale) : La force maximale que le joint peut appliquer aux objets, des valeurs plus élevées génèrent un frottement linéaire plus important. -* **Maximum torque** (Couple maximal) : Le couple maximal que le joint peut appliquer aux objets, des valeurs plus élevées génèrent un frottement angulaire plus élevé. - - -###Motor Joint - -Le joint **Motor** n'a pas grand-chose à voir avec les vrais moteurs, du moins pas directement. Lorsque vous liez deux objets avec un joint **Motor**, ils essaieront d'atteindre une position cible et/ou un angle par rapport à l'autre objet, plus un décalage. - -Deux choses sont à prendre en compte : - -* Le joint n'est pas du tout rigide, les objets peuvent être éloignés de leur position ou de leur angle cible. Un facteur de correction indiquera la vitesse à laquelle ils se déplaceront et pivoteront pour atteindre la position finale. - -Par exemple, imaginez un sac de frappe (utilisé par les boxeurs) qui se relève toujours. Vous pouvez le simuler en utilisant un joint moteur, reliant le sol et le sac. Ainsi, quel que soit le nombre de poussées sur l'objet sac, le joint tentera de le replacer dans l'angle initial, mais pas automatiquement. - -* Les joints **Motor** s’arrêtent si ils rencontrent des obstacles. - -Revenons à l'exemple du sac de frappe : si vous le poussez avec un gros objet pour le maintenir au sol, le joint moteur ne pourra pas le repousser, comme dans la vraie vie. - -!!! note - - Notez que ce joint n'utilise pas de points d'ancrage, la position de décalage doit être définie à l'aide des décalages linéaires et angulaires uniquement. L'accès aux points d'ancrage de ce joint renvoie les positions des objets. - -Les paramètres spécifiques du joint **Motor** : - -* ** Offset X/Y ** (Décalage X / Y) : Décalage du deuxième objet par rapport au premier. Pour utiliser la position actuelle des objets au moment de créer le joint, utilisez les formules : - -`SecondObject.X () - FirstObject.X ()` et `SecondObject.Y () - FirstObject.Y ()` - -* **Offset angle** (Angle de décalage) : Décalage angulaire du deuxième objet par rapport au premier. Pour utiliser l'angle relatif des objets actuels au moment de la création du joint, utilisez la formule : - -`SecondObject.Angle () - FirstObject.Angle ()` - -* **Maximum force** (Force maximale) : Force maximale que le joint peut appliquer aux objets pour les déplacer vers la position cible. Des valeurs plus élevées déplacent les objets plus rapidement, au besoin. Si cette valeur est égale à zéro, il n'y aura pas de déplacement linéaire et les objets ne se déplaceront pas pour atteindre la position cible. -* **Maximum torque** (Couple maximal) : Couple maximal que le joint peut appliquer aux objets pour les faire pivoter selon l'angle désiré. Des valeurs plus élevées feront tourner les objets plus rapidement, au besoin. Si cette valeur est égale à zéro, il n'y aura pas de déplacement angulaire et les objets ne pivoteront pas pour atteindre l'angle cible. -* **Correction factor** (Facteur de correction) : Vitesse à laquelle les objets doivent se déplacer et pivoter pour atteindre la position et l'angle désirés. Plus la correction est élevée, plus les objets bougent et/ou pivotent rapidement. La correction est limitée par la quantité maximale d'effort et de couple que le joint peut utiliser. \ No newline at end of file diff --git a/docs/fr/gdevelop5/behaviors/platformer.md b/docs/fr/gdevelop5/behaviors/platformer.md deleted file mode 100644 index 79526d4f83c..00000000000 --- a/docs/fr/gdevelop5/behaviors/platformer.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: platformer ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -## Platformer and Platform object behavior - -The platformer behavior allow you to setup platformer character control and platforms, literally with a click of a button. - -### Add behavior to object - -To add behavior to an object, first open the object properties by right clicking on the object and select Edit object from the list. Then select behaviors and click the add behavior button. - -## Platform behavior - -![select-platform-behavior.png](/gdevelop5/behaviors/select-platform-behavior.png) By selecting the platform behavior from the list, you can turn your object in to a platform that a Platform character can walk on. - -After selecting, you should see immediately the Platform behavior options: - -![platform-behavior-options.png](/gdevelop5/behaviors/platform-behavior-options.png) - -### Platform type - -By clicking on the platform type, we can choose from 3 different platform types - -![platform-type-button.png](/gdevelop5/behaviors/platform-type-button.png) - -* **Platform:** this is the default option, by choosing this our object going to become a traditional platform which the character can collide with and walk on. * **Jumpthru platform:** by choosing this option, the character can collide with the platform and walk on it but can be jump thru from below. * **Ladder:** as it name suggest, this option turns our object in to a ladder, the character can not collide with it and can not walk on it, but able to climb up and down when overlapped. - -### Grab the ledge - -The ledge of our platform can be grabbed by default which means when the character jump close enough to the edge of the platform, the ledge can be grabbed. In case you don't need this functionality make sure this option is unticked or in case you need it, make sure the box is ticked ![ledges-canbe-grabbed-option.png](/gdevelop5/behaviors/ledges-canbe-grabbed-option.png) - -We can also change the offset of the grab on the Y axis ![grab-offset-option.png](/gdevelop5/behaviors/grab-offset-option.png) This option allow us to change the position of the grab to fit the animation of our character. - -## Platformer character behavior - -![select-platformer-character-behavior.png](/gdevelop5/behaviors/select-platformer-character-behavior.png) - -By selecting the Platformer character from the list, we can turn our object in to a Platformer character After selecting, you should see immediately the Platformer character options ![platformer-character-behavior-options.png](/gdevelop5/behaviors/platformer-character-behavior-options.png) - -You may need to scroll to see all the options. - -### Controls - -The Platformer character behaviour comes with default keys set to control the character which is arrow keys and the shift key. In case you plan to change this and you don't want to use the default controls, you need to turn the default controls off by unticking the box in the options. ![](/gdevelop5/behaviors/platformer-defaultcontrols-box.png) - -### Grab the ledge - -Just like with the platforms we have the option also for the platformer character to allow it to grab the ledge of the platforms. But, it is disabled by default, to enable it just tick the box in the options ![](/gdevelop5/behaviors/platformer-character-grabledge-box.png) - -In case you enable this option, the character can grab the ledge of the platforms that also have this option enabled. - -Just like with the platforms we can set the grab offset on the Y axis also for the character. But what we can also set here is the grab tolerance on the X axis. ![](/gdevelop5/behaviors/platformer-character-grab-tolerancex.png) - -By changing this value, we can set how close the character need to be to the platform to be able to grab it. - -### Slope max angle - -![](/gdevelop5/behaviors/platformer-character-maximum-slope.png) By changing this value we can set the maximum angle of a slope where the player can still move up. It is 0 by default which means the character can move only on flat surface by default. - -### Speed and Gravity - -![](/gdevelop5/behaviors/platformer-character-speed-options.png) We can also change how fast our character accelerate, decelerate, move, fall and jump by changing the corresponding values. I believe these options are self explaining so I don't think it is require any explanation. If you want to slow the character down you can decrease these values and if you want to speed up you can increase these values. - -All the options here can also be changed using events at any time during the game. - -### Examples - -List of examples coming soon - -- custom controls diff --git a/docs/fr/gdevelop5/behaviors/topdown.md b/docs/fr/gdevelop5/behaviors/topdown.md deleted file mode 100644 index a81662ead30..00000000000 --- a/docs/fr/gdevelop5/behaviors/topdown.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: topdown ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -## Comportement du mouvement en vue du dessus - -Le comportement "Top-down Movement" permet d'avoir la fonctionalité de déplacement d'un objet dans 4 ou 8 directions. - -### Ajout d'un comportement à un objet - -Pour ajouter un comportement a un objet, tout d'abord éditez l'objet (clic droit sur l'objet) et sélectionnez l'onglet Behavior. Puis cliquez sur le **+** pour ajouter un comportement. - -### Comportement mouvement en vus du dessus - -En sélectionnant Top-down Movement dans la liste, cela ajoute la focntionalité à l'obbjet. - -![](/gdevelop5/behaviors/top-down-movement-behav-inlist.png) - -Après avoir sélectionné ce comportement, les options s'affichent : - -![](/gdevelop5/behaviors/topdown-movement-options.png) - -### Changer la vitesse du déplacement et de la rotation - -En changeant la valeur de Acceleration ou de Deceleration et de Max speed, cela change la vitesse de déplacement de l'objet. - -En changeant la valeur de Rotation speed , cela change la vitesse de rotation de l'objet, si vous avez laissé Rotate object. J'expliquerai plus en détail la rotation ci-dessous. - -### Modifier l'angle d'orientation d'un sprite - -Par défaut, l'angle d'orientation de notre sprite est 0, ce qui est le côté droit de notre sprite, mais nous pouvons changer cela en changeant la valeur du décalage angulaire. Voici une image pour vous aider avec les coordonnées dans GDevelop : ![](/gdevelop5/behaviors/gdevelop_co.png) - -### Autoriser le déplacement en diagonales - -![](/gdevelop5/behaviors/allow-diagonals-box.png) Cette option est activée par défaut et nous permettons à notre objet de se déplacer également en diagonale, ce qui signifie un mouvement dans 8 directions. En désactivant cette option, nous n'autorisons pas les mouvements diagonaux et donc nous ne pouvons nous déplacer que dans 4 directions, gauche, droite, haut et bas mais pas en diagonale. - -### Default controls - -![](/gdevelop5/behaviors/top-down-movement-default-controls-box.png) The behavior comes with default controls enabled which is the arrow keys. If we would like to use custom controls to move the object we need to disable this option by unchecking the box and after we need to use the top down movement events to move the object. ![](/gdevelop5/behaviors/top-down-movement-events.png) - -### Rotate object - -![](/gdevelop5/behaviors/top-down-movement-rotateobject-box.png) By default our object is rotating toward the direction of movement at the speed we specify at the Rotation speed option. If we don't want the object to rotate, we need to disable this option by unchecking the box. - -We can change any of these options also using events at any time during the game. - -### Examples - -List of examples coming soon - -- custom controls diff --git a/docs/fr/gdevelop5/community/contribute-to-the-assets-store.md b/docs/fr/gdevelop5/community/contribute-to-the-assets-store.md deleted file mode 100644 index 30f0f251ee8..00000000000 --- a/docs/fr/gdevelop5/community/contribute-to-the-assets-store.md +++ /dev/null @@ -1,215 +0,0 @@ ---- -title: contribute-to-the-assets-store ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** -*(remove this paragraph once the translation is finished)* - -# Contributing to the assets store - -GDevelop's documentation is powered by the community and everyone is encouraged to contribute. In particular, you can help building the assets store with royalty free/public domain resources that can be used by everyone for any kind of project. - -This page provides a few guidelines to help maintain the quality of the assets store. - -L'idée principal est que les assets (ressources) soient groupé dans les dossiers et sous-dossiers. Images, audio et fonts (polices d'écriture) doivent avoir un nom en Anglais pour être affiché à l'utilisateur. Un objet sera généré en focntion des noms des images. - -!!! note - - Notez que les tilesheets **ne sont pas supporté**! Chaque images d'une animation doit être un fichier unique (en utilisaant les régles de nommage ci-dessous il sera possible de créer une animation. Il est également recommandé que toutes les images d'une animation aient les même dimensions. (avec des marges transparente au besoin), car il n'est pas possible de spécifié de point d'origine d'une image. - -## For images (to make sprite, tiled sprite or panel sprite objects): - -Each image will be used to create an object. For sprites, more than one image can be used to create a single object, by following the rules described below. - -- By default, an image will be used to create a **Sprite** object. - -1. The **name of the file**, without the extension, will be used for the object name. - -!!! note - - For example, an image called "Spaceship.png" will create a Sprite object called "Spaceship", with this image as the first animation. - -1. If the object is **animated**, use different image files with the **same base name**, and add an underscore followed by the image index: `Spaceship_1.png`, `Spaceship_2.png`, `Spaceship_3.png`. - -  - -1. If the object has **multiple animations**, you can add the name of the animation between the *base name* and the index. - -  - - Spaceship_flying_1.png - Spaceship_flying_2.png - Spaceship_flying_3.png - Spaceship_1.png - Spaceship_idle.png - Spaceship_damaged_1.png - Spaceship_damaged_2.png - -!!! note - - Will create an object with three animations: Flying (3 images), Idle (1 image), Damaged (2 images) - -1. To specify the **speed of the animations and if they are looping**, create a file with the **same base name** suffixed by `_METADATA.json`. - -  - - For example: `Spaceship_METADATA.json`. - - Inside, put this JSON: - - { - "timeBetweenFrames": 0.2, - "loop": false - } - -For example: - -![](https://user-images.githubusercontent.com/1280130/103412855-78836300-4b77-11eb-99ec-ac8287372ece.png) - -- If you have **multiple animations** and **each must have a different speed**, you can create one .json file per animation, using this name: `basename_animationname_METADATA.json`. - -For example: - - Spaceship_Idle_METADATA.json - Spaceship_Flying_METADATA.json - Spaceship_Destroyed_METADATA.json - ... - -- If you want to create a **Tiled sprite** (for backgrounds or repeating patterns): - -1. Prefix the *base name* by `tiled_`. For example: `tiled_Grass Background.png` - -- If your image is a **9 patch**, that can be stretched with the center and the border repeated: - -1. Slice your image in 9 different images, and name them: `9patch_base name_gravity.png` with gravity being: `southwest`, `southeast`, `south`, `northwest`, `northeast`, `north`, `west` and `east`. - -For example: - - 9patch_Orange leaves_center.png - 9patch_Orange leaves_east.png - 9patch_Orange leaves_north.png - 9patch_Orange leaves_northeast.png - 9patch_Orange leaves_northwest.png - 9patch_Orange leaves_south.png - 9patch_Orange leaves_southeast.png - 9patch_Orange leaves_southwest.png - 9patch_Orange leaves_west.png - -## Organizing the assets with tags - -Put all your images in a folder. In this folder, create a file called `TAGS.md`. In this file, put the tags of the assets, separated by a comma. Put at least a tag `top-down`, `side view` or `interface`. - -For example: - - side view, pirate, ship, sea - -You can put your images in different sub folders. Each sub folder will be used as a tag name. Some folders names like "PNG", "SVG", etc... will be ignored (so don't change the whole structure of your assets, we'll ignore anything that does not make sense). - -Note that you can also put assets in a folder called `Unimplemented` or `TODO`, and these folders will be entirely ignored. - -## For audio - -Put your .aac or .wav files (prefer .aac) directly in a folder, with the name to be displayed: `Laser effect.aac`, `Background music.aac`. - -!!! note - - 🚨 Careful about the size! Players are sensitive to the size of a game download (especially on mobile and on the web). **Try to keep music file sizes around 1 to 2 MB. In rare cases, these can be 4 or 5 MB, but not larger.** Consider downgrading the quality a bit to keep the music files around these sizes. Sound effects are usually even smaller. If a sound file is larger than 200 or 300 KB, consider downgrading the quality. - -`TAGS.md` files will work like for images. Sub folders are also used for tags as described for images. - -A great tool to convert audio files to AAC format is \[fre:ac\](). fre:ac is free, open-source, and cross-platform. It can process batches of files, with many options on how they are named and put into folders. - -- Choose the encoder called "Fraunhofer FDK AAC Encoder". -- Select "File format \> AAC" -- Select "Quality \> Set Quality \> 3" - -This will create high-quality audio files, but using a variable bit rate that won't exceed 96 kbps (assuming stereo input). - -![Screenshot 2021-03-11 112608](https://user-images.githubusercontent.com/8879811/110835883-9bf41980-825c-11eb-93c8-ef795b0379a2.jpg) - -![Screenshot 2021-03-11 112527](https://user-images.githubusercontent.com/8879811/110835884-9c8cb000-825c-11eb-9b8d-f22228a71329.jpg) - -## For fonts - -Like images and audio, put your fonts in folders. `.ttf` and `.otf` files are supported. - -`TAGS.md` files will work like for images. Sub folders are also used for tags as described for images. - -## (⚠️ Advanced!) To make an object from scratch, for example particle emitters - -!!! note - - These assets from scratch are a bit cumbersome to author right now. Here is an example folder that shows how the particle emitter objects from Wishforge Games are done: \[Particles.zip\]() - -Create an file with extension `.asset.json`, for example: `My Particle Effect.asset.json`. The format of this asset is: - - { - "id": "", - "name": "", - "authors": [""], - "license": "", - "shortDescription": "", - "description": "Enter a description. Leave the rest empty, it will be autogenerated", - "previewImageUrls": [], - "tags": [], - "objectAssets": [ - { - "object": { ...JSON CONTENT OF AN OBJECT... }, - "resources": [ ], - "customization": [] - } - ], - "gdevelopVersion": "", - "version": "" - } - -Leave almost everything empty. Create your object in GDevelop, then copy it in the clipboard. Paste the content in a file, and then copy just the "content.object" key: - -For example: - -![](https://user-images.githubusercontent.com/1280130/103413204-d5334d80-4b78-11eb-8248-aecc67d17cba.png) - -Paste it inside the `.asset.json` file you created, replacing `...JSON CONTENT OF AN OBJECT...`: ![](https://user-images.githubusercontent.com/1280130/103413230-f300b280-4b78-11eb-9c3b-718bdf58ba66.png) - -Finally, if your object uses image resources, make sure to add them in the `resources` array: ![](https://user-images.githubusercontent.com/1280130/103413269-1e839d00-4b79-11eb-91a6-39bc80696a98.png) - -Put all images with the name that you put in the `resources` array next to your `.asset.json` file. - -Finally, add: - -- a file with the same name but with the extension `.preview.png` that will be shown in the assets store - an empty filed called `IGNORED_FOR_IMAGE_ASSETS.md` so that the importer will ignore the images and won't try to create objects automatically :) - -For example: - -![](https://user-images.githubusercontent.com/1280130/103413361-74f0db80-4b79-11eb-94c2-7cf535bb9118.png) - -## I have too many assets and this will take me a long time to organize everything! How can I do? - -That's the reason why we're making an asset store: there are lots of assets available or that could be made available, but most are hidden on different websites, and not ready to use. By taking the time to prepare them for GDevelop, we're making a **high quality** asset store of objects ready to use. This implies taking a bit of time to prepare these assets - which should hopefully be not too much considering that we use a naming convention with filenames. - -!!! note - - In particular, you should be able to quickly rename a bunch of files by opening the folder in the Windows/Linux/macOS file explorer, ensuring you have a preview of each file and then with your keyboard and some shortcuts (F2 to rename on Windows, Enter on macOS...) rename quickly each file with a proper name. - -In the case where it's too painful/long to do because you have **tons** of objects (for example, you have separated a spritesheet of 200 RPG objects), it's ok to select all the files and rename them to something like `Generic RPG object (1).png`, `Generic RPG object (2).png`, etc... - -!!! note - - Be sure **not** to use an underscore to separate the name from the number, otherwise the asset importer will consider that it's a single object with multiple animations. In other words, **don't name the files** like `Generic RPG object_1.png`, etc... - -Finally, be sure to put a `TAGS.md` file with enough tags for people to be able to search for these assets. 👍 - -## License - -Put a license.txt file in your folder. The importing will recognize it and apply to all files in the folder. Make sure to put your name in this license file too (or the name of the original author). The importer will be adapted to understand the license file. - -!!! note - - We won't allow the addition of any assets with an unclear license. Get in touch with the author if the license is unclear or if you worried that the author would not allow redistribution of their original assets. All assets must have a license allowing their usage for free for any purpose, allow modifications/derived work and may optionally ask for attribution. - -## Something unclear? - -Ask a question on [this Trello board](https://trello.com/c/s8RctC9M/2-asset-rules-and-regulations) card. If the rules here are too complicated or are giving you too much work, you can suggest a new rule and we'll see if we can adapt the importer so that it can understand your asset structure. The goal is to make objects more or less automatically! - -## How to send my assets when they are ready? - -Zip the folder containing them and send them to the GDevelop team on Github by opening an [issue here](https://github.com/4ian/GDevelop/issues/new/choose). You can also tag `@florianrival` and `@bouh2` on a card on the [GDevelop Assets Trello board](https://trello.com/b/xoOCKFOf/gdevelop-assets). It's a good idea to get in touch with people on the Trello board to have them review your assets first. diff --git a/docs/fr/gdevelop5/events/draft-optimization.md b/docs/fr/gdevelop5/events/draft-optimization.md deleted file mode 100644 index fe3dc396296..00000000000 --- a/docs/fr/gdevelop5/events/draft-optimization.md +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: draft-optimization ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** -*(remove this paragraph once the translation is finished)* - -!!! note - - This page is a draft for good rule to apply for optimize a game. \This is a draft in progress @Bouh - -L'optimisation d'un jeu est un concept important à prendre en compte, ceci pour faire gagne quelques images par secondes et des temps de chargement moins long. Une bonne optimisation permettra à votre jeux de tourné plus rapidement sur n'importe quel support (téléphone ou pc). - -GDevelop 5 permet une liberté dans les événements qui peut se retourné contre vous en cas de mauvaises pratiques ou compréhension des événements, mais également d'une mauvaise utilisation des comportements et de la tailles énorme sur les ressources importé (vidéo, image, audio). - -Tout celà peut être coûteux pour votre jeux et aura comme effets de ralentir votre jeux sur les appareils n'ayant pas énormément de mémoire et de puissance. - -Pour la suite de cet article il est important de comprendre [les principes de base des événements](/fr/gdevelop5/tutorials/basic-game-making-concepts##comment_les_evenements_affectent_les_objets) et que *tout les événements sont exécuté une fois par image durant l’exécution du jeux*. - -# Optimisation déjà présente dans le moteur du jeu - -Le moteur de jeu GDevelop dispose d'une optimisation très simple, il dit à l'interface graphique de ne pas calculé les images des objets hors de la zone de rendu. Le moteur s'occupe de cette optimisation en tache de fond et est complètement transparent pour les utilisateurs et joueurs. - -Dans la suite de cette page sur l'optimisation nous allons prendre quelque cas et voir comment les rendre plus performant. - -# Trigger once - -La condition **Tigger once** permet à des actions d'être éxécuté une seule fois, chaque fois que la ou les conditions sont vrais. - -Prenons un exemple où nous voulons créer un objet chaque fois que je clique sur la souris. Ceci vous montrera la mauvaise et la bonne façon de le faire. - -La mauvaise: ![](/gdevelop5/events/bad_event_optimisation.png) - -- Ce que je pense avoir : Lorsque le bouton gauche de la souris est pressé, un objet appelé **MyObject** est créer sur la scène aux position du curseur. -- Ce qui se passe vraiment : Lorsque le bouton gauche de la souris est pressé, beaucoup d'objets appelé **MyObject** sont créer sur la scène à la position du curseur. - -Cela se produit lorsque le bouton de la souris est enfoncé car la pression sur la touche dure un certain temps, durant tout ce temps des objets seront créés. - -Pour corrigé ceci nous avons besoin de **Trigger once** qui se trouve dans les conditions, ajoutons le à nos événements pour n'avoir qu'un seul nouvel objet. ![](/gdevelop5/events/good_event_optimisation.png) - -# Sprites - -Les sprites ont deux aspects important, leur poids en Ko, Mo, Go et les dimensions en pixels. Il est naturel d'avoir un niveau de jeux gigantesque et d'y mettre une image de fond comme un ciel par exemple sur la totalité du niveau. Evidemment ceci n'est pas conseillé car si cela est naturel pour vous ça ne l'est pas pour le moteur de jeu et les appareils sur lesquels tournera votre jeu. - -Notamment à cause des images dépassant 2048 pixels de côté. Les images lourde en poids quand à elle ralentirons les temps de chargement. - -!!! note - - **Pourquoi il ne faut pas dépasser 2048 pixels de côté ?** - - Les images plus grande peuvent ne pas s'afficher correctement sur certains téléphones. Sachez aussi que plus une image est grande, plus elle prendra de la place en mémoire, se qui est important à prendre en compte car les téléphones ne sont pas aussi performant qu'un ordinateur. - -Il est recommandé de découper les images dépassant cette taille. Il existe aussi [un type d'objet permettant de répété votre image](/fr/gdevelop5/objects/tiled_sprite) sur de longue distance. - -# Animations - -Les animations sont par exemple utilisé lorsque le personnage de votre jeu se déplace. Plus il y a d'images dans l'animation plus le mouvement est fluide. Toute fois l’œil humain ne nécessite pas d'avoir des dizaines et des dizaines d'images pour avoir un mouvement fluide, donc il est bon de retiré les images similaire qui n'auront visuellement aucun impact sur votre animation. - -Il existe aussi des limitations technique possible, comme le fait d'avoir un maximum d'image par seconde dans le jeu. Dans ce cas si votre jeux tourne à 30fps, vous n'avez pas besoin de 60 images. - -Ceci est encore plus vrais si vos images sont de très grande en taille. En un mot, réduisez le nombre d'images au strict nécessaire. - -# Vidéo - -Les vidéos doivent impérativement respecté quelques points pour être charger et lue correctement. Assurez vous de [lire les notes en haut de la page à ce sujet](/gdevelop5/objects/video), toutes les indications vous permettront d'avoir une optimisation optimal pour la vidéo. - -# Audio - -L'audio contient une particularité, les sons et les musiques sont deux choses différentes pour le moteur de jeu. Ceci permet une optimisation différente selon le type. - -- Une musique est souvent longue et doit être préchargé avant d'être lue. - Un son est bref, comme un son de rebond sur le sol, celui-ci est si bref qu'il peut être chargé rapidement sans retard de lecture juste avant sont exécution par une action. - -Une page complète pour [l'audio](/gdevelop5/all-features/audio#performance_considerations) est disponible et indiquera les meilleurs solution. - -!!! note - - It can still be important to hide or disable what you don't need. This is the key of the optimization. - -# Les comportements - -Les comportements *Recherche de chemin* et *Physique 2.0* sont gourmand en puissance. - -### Supprimer les objets inutile - -Prenons un exemple d'un pistolet qui tire des balles, nous créons une balle lorsque nous faisons feu. La balle se dirige vers une direction grâce à une force. A chaque tir une nouvelle balle apparaît et se dirige aussi vers une direction grâce à une autre force qui lui est propre. - -Si vous ne géré pas les objets que vous créez, le jeux sera à un moment débordé par le nombre d'objet, ceci affectera votre jeu car celui-ci commencera à ralentir. - -La bonne solution consiste à supprimer les balles qui sont hors de l'écran. Un comportement à cet effet existe, vous pouvez l'attaché à votre objet balle. Toutes les balles qui seront hors de l'écran seront immédiatement supprimé. - -### Désactiver les comportement sur les objets inutilisé - -Les comportements sur les objets peuvent être désactivé. - -Prenons un cas où votre jeux contient une centaines d'objet qui sont des gardiens de police et un autre objet qui est le joueur, vous souhaitez que les gardiens se dirigent vers vous toutes les 2 secondes en prenant compte des obstacles autour. Les gardiens disposent du comportement Recherche de chemin qui est rappelez vous, est gourmand en puissance et peut ralentir votre jeu si celui si est mal utilisé. - -La mauvaise façon de bouger les gardiens: - --- Image avec le timer , et les gardiens qui bougent vers le joueur.- - -Si vous faite seulement ceci tout les gardiens même ceux hors de l'écran bougerons. Nous ne voulons pas qu'ils bougent. Voyons comment limité le comportement des gardiens à ceux qui sont proche du joueur. - --- Image avec la désactivation du comportement pour le gardien en dehors de l'écran (prendre la condition object dans le viewport et l'inversé, mettre aussi le trigger once sur l'event) .- diff --git a/docs/fr/gdevelop5/events/index.md b/docs/fr/gdevelop5/events/index.md deleted file mode 100644 index 89b68621470..00000000000 --- a/docs/fr/gdevelop5/events/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Événements ---- -# Événements -![](/gdevelop5/event-screenshot.png) -Les événements dans GDevelop vous permettent de programmer visuellement votre jeu sans aucune connaissance de programmation et sans expérience requise, donc n'importe qui est capable de créer le gameplay qu'il souhaite et permettre aux joueurs d'interagir avec le jeu. - -#### Types d'événements - -Il existe différents types d'événements dans GDevelop qui peuvent être utilisés à différentes fins: - - * **standard event**: cet événement est déclenché à toutes les images et exécute les actions une fois que la condition est vraie puis passe à l'événement suivant. - * **for each event:** cet événement est déclenché pour chaque instance de l'objet sélectionné, vérifiez les conditions et exécutez les actions pour chaque instance avant de passer à l'événement suivant. - * **repeat event:** cet événement est répété le nombre de fois spécifié avant de passer à l'événement suivant. - * **while event:** cet événement se répète continuellement tant que les conditions spécifiées sont remplies et ne passe à l'événement suivant qu'après la condition si cet événement n'est plus vrai. - * **sub-event:** (Événement enfant) cet événement peut être ajouté en tant qu'enfant à tout événement mentionné ci-dessus et ne peut être déclenché qu'après l'exécution de l'événement parent. - * **Javascript event:** cet événement vous permet d'utiliser le code Javascript avec d'autres événements - * **External event:** cet événement vous permet de stocker un ensemble d'événements en externe, de les appeler et de les exécuter, n'importe où, n'importe quand et ceci un nombre illimité de fois. - * **Link:** il vous permet d'appeler un événement externe spécifié - -#### Ajouter des événements -Pour ajouter des événements à notre jeu, nous devons d'abord passer à l'éditeur d'événements. Nous pouvons le faire en utilisant l'onglet Events à côté de notre onglet Scene. -![](/gdevelop5/objects/events-tab.png) - -Après cela, nous pouvons trouver les outils en haut de la page pour ajouter des événements. -![](/gdevelop5/events-editor-toolset.png) -Comme les événements standards et les sous-événements sont les plus utilisés, nous avons un bouton rapide à utiliser en haut. -Pour ajouter un événement standard, nous pouvons utiliser le bouton Ajouter un événement -![](/gdevelop5/add-event-button.png) -Pour ajouter des sous-événements, il faut d'abord sélectionner un événement dans l'éditeur, puis cliquer sur le bouton Add sub-event -![](/gdevelop5/sub-event-button.png) -Vous pouvez trouver toutes les options disponibles en cliquant sur l'icône plus -![](/gdevelop5/add-special-events.png) - -#### Ajouter des conditions et Actions -Après avoir ajouté un événement, nous allons trouver un événement vide dans notre éditeur -![](/gdevelop5/blank-event.png) - -Nous pouvons ajouter un nombre illimité de conditions et d'actions à chaque événement. -Pour ajouter des conditions et des actions, nous devons cliquer sur Add condition et Add action à l'intérieur de l'événement, puis nous pouvons choisir parmi de nombreuses options triées dans différentes catégories. - -Pour en savoir plus sur l'utilisation des différentes conditions et actions, je vous recommande de lire les tutoriels et guides disponibles sur le wiki: [tutorials](/gdevelop5/tutorials) diff --git a/docs/fr/gdevelop5/extensions/best-practices.md b/docs/fr/gdevelop5/extensions/best-practices.md deleted file mode 100644 index 2a02e123658..00000000000 --- a/docs/fr/gdevelop5/extensions/best-practices.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Conventions d'écriture d'extensions ---- -# Conventions d'écriture d'extensions - -Cette page recense les conventions pour les extensions [partageable avec la communauté](/gdevelop5/extensions/share): - -* **Évènements:** - * Toutes les **noms de variables** doivent commencer avec `__NomDeLExtension_`. Ceci est nécessaire pour ne pas avoir de nom en conflit avec les variables des utilisateurs. Dans le futur, les extension auront peut être des variables à part, mais c'est pour le moment nécessaire. - * Les noms d'actions, conditions et expressions doivent être écrit avec la `PascalCase` et en anglais. - * Les expressions ne doivent pas commencer en `Get`, vu qu'une expression est toujours un moyen d'obtenir quelque chose et que c'est donc inutile a préciser. - -* **Descriptions:** - * Toutes les descriptions doivent être écrites en anglais. **N'utilisez pas d'abréviations**. Les phrases affichées dans les événements en particulier doivent être claires. - * Décrivez en détail comment les comportent doivent être utilisés. - * Pour les descriptions longues d'extensions, veuillez utiliser les tables en format Markdown, et entourer les noms de conditions, actions, expressions et comportements avec ` pour les afficher avec une fonte spéciale. - -* **Compatibilité**: - * Si l'extension utilise des fonctionnalitées qui dépendent de la plateforme, et non des actions inter-plateformes de GDevelop, veuillez tester l'extension sur toutes les plateformes. Il est important qu'elles fonctionnent partout. \ No newline at end of file diff --git a/docs/fr/gdevelop5/extensions/index.md b/docs/fr/gdevelop5/extensions/index.md deleted file mode 100644 index 5ccb9bbf3ca..00000000000 --- a/docs/fr/gdevelop5/extensions/index.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Extensions ---- -# Extensions - -GDevelop est fondamentalement flexible. Le coeur de GDevelop contient le strict minimum, et chaque fonctionnalité de GDevelop est contenue dans une extension. Les extensions contiennent des [Objets](/fr/gdevelop5/objects), des [Comportements](/fr/gdevelop5/behaviors), des Actions, des Conditions, des Expressions, des Effets et des [Événements](/fr/gdevelop5/events). - -En plus de pouvoir accéder aux extension intégrées, tu as accès à pleins d'extensions faites par la communauté. Tu peux aussi créer tes propres extensions avec des [Comportements](/fr/gdevelop5/behaviors), des Actions, des Conditions et des Expressions dans tes projets, les réutiliser dans d'autres projets et les partager. - -Pour en savoir plus: - -* [Trouver de nouvelles extensions](/gdevelop5/extensions/search) -* [Créer ses extensions](/gdevelop5/extensions/create) -* [Partager ses extensions](/gdevelop5/extensions/share) -* [Étendre GDevelop avec du JavaScript ou C++](/gdevelop5/extensions/extend-gdevelop) - -![](/gdevelop5/search-new-extensions-dialog.png) \ No newline at end of file diff --git a/docs/fr/gdevelop5/extensions/search.md b/docs/fr/gdevelop5/extensions/search.md deleted file mode 100644 index 6e5a3fb893e..00000000000 --- a/docs/fr/gdevelop5/extensions/search.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: Recherche de nouvelles extensions ---- -# Recherche de nouvelles extensions - -!!! tip - - **Voir la [liste des extensions GDevelop](/gdevelop5/extensions)**. - -Trouver de **nouveaux comportements, conditions, actions ou expressions** pour votre jeu dans GDevelop est facile. Dans le [Project Manager](/gdevelop5/interface/project-manager), clique sur "Functions/Behaviors", puis sur "Search for new extensions" : - -![](/gdevelop5/extensions/search-new-extensions-button.png) - -Un dialogue montrera une barre de recherche et une liste d'extensions disponibles : - -![](/gdevelop5/extensions/extension.png) - - -Tapez quelque chose dans la barre de recherche pour filtrer les extensions en fonction de ce que vous souhaitez. Vous pouvez également explorer les extensions en cliquant sur les balises situées sous la barre de recherche. -!!! tip - - - Ou vous pouvez importer un fichier d'extension avec le bouton **Importer une extension**. - -Les extensions sont présentées avec leur nom, suivi d'une courte description. Cela devrait vous donner une idée de ce que l'extension peut faire dans votre jeu. - -## Installer une extension - -Si vous trouvez une extension intéressante, cliquez dessus pour ouvrir une fenêtre avec plus de détails. Par exemple, voici un aperçu de l'extension "Flash (blink)" : - -![](/gdevelop5/extensions/flash-extension.png) - -La description explique généralement comment utiliser l'extension. Ici, c'est un comportement que vous pouvez ajouter à un objet, avec une action pour faire clignoter l'objet pendant un certain temps (comme dans un vieux jeu de plateforme, quand vous êtes touché par un ennemi). - -Cliquez sur **Installer dans le projet** pour télécharger l'extension. Vous pouvez voir qu'elle est alors ajoutée à la liste des comportements/fonctions dans le [Project Manager](/gdevelop5/interface/project-manager) : - -![](/gdevelop5/extensions/extensions-list-with-flash.png) - -## Utiliser la nouvelle extension - -Une fois que l'extension est installée, vous pouvez généralement : - -* Trouvez-là dans la liste des **comportements**, lorsque [adding a new behavior](/gdevelop5/behaviors)à un objet. -* Même si aucun comportement n'est fourni, vous aurez quelques **actions ou conditions**. Trouvez-les dans la liste des actions ou des conditions lorsque vous éditez un événement. Le nom de la catégorie qui les contient est le même que celui de l'extension. - -Par exemple, l'extension *Flash* fournit 2 nouvelles actions : - -![](/gdevelop5/extensions/flash-extension-actions.png) - -Elles peuvent être utilisées sur les objets qui ont le comportement *Flash* attaché. - -## Créer vos propres comportements, actions, conditions ou expressions - -Il est possible de créer facilement de nouvelles extensions, en utilisant les mêmes événements que ceux que vous utilisez dans les scènes. C'est une fonctionnalité puissante qui vous permet d'organiser votre jeu et d'étendre vos objets. - -Lisez plus sur [créer vos propres extensions ici](/gdevelop5/extensions/create). - -# Ajouter une extension manuellement - -Dans le panneau de recherche de nouvelles extensions, en bas du panneau vous avez un bouton **IMPORTER UNE EXTENSION**, cela ouvrira un sélecteur de fichier de votre OS, vous devez sélectionner un format de fichier **.json**. - -Une fois que vous avez sélectionné votre fichier et confirmé votre choix dans le sélecteur de fichiers, l'extension est ajoutée à votre projet. -Les comportements/conditions/actions/expressions sont maintenant disponibles dans GDevelop avec les autres comportements ou événements. \ No newline at end of file diff --git a/docs/fr/gdevelop5/getting_started/index.md b/docs/fr/gdevelop5/getting_started/index.md deleted file mode 100644 index 90970e4634d..00000000000 --- a/docs/fr/gdevelop5/getting_started/index.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: Débuter ---- -# Débuter - -## Essayez GDevelop en ligne ou téléchargez la version bureau. - -* Pour commencer, [essayez GDevelop en ligne](https://4ian.github.io/GD). -* Pour créer votre propre jeu, le sauvegarder et le publier, [Téléchargez la version bureau](http://compilgames.net/#download). - -Lorsque GDevelop est téléchargé, ouvrez-le et installez-le, puis utilisez l'icône GDevelop sur votre bureau pour le lancer. -Une fois l'application lancée, vous allez voir apparaître la page d'accueil sur laquelle vous pouvez ouvrir un projet existant ou en créer un nouveau. - -![](/gdevelop5/start_page.png) - -#### Ouvrir un projet existant - -Pour ouvrir un projet existant, sélectionnez l'option appropriée sur la page d'accueil. -Ensuite, vous devez parcourir votre explorateur de fichiers pour ouvrir un projet. Les fichiers de projet GDevelop 5 sont normalement sauvegardés en tant que fichier ".json". Trouvez-le et sélectionnez-le pour l'ouvrir. -![](/gdevelop5/project-file.png) - -!!! warning - - L'icône de ce fichier dépend de l'application par défaut installée sur votre ordinateur pour éditer ce fichier. - -!!! note - - Par défaut le fichier game.json est sauvegardé dans : - - * Windows: C:\Users\MonNomUtilisateur\GDevelop Projects, - * macOS et Linux: Le dossier GDevelop Projects dans le dossier home. - - - -Une fois que vous avez ouvert le projet, vous devriez être face à l'éditeur mais nous y reviendrons plus tard, nous allons d'abord voir comment créer un nouveau projet. - -**Note:** Utilisateurs de GDevelop 4, vous pouvez [apprendre en cliquant ici comment transférer un projet vers GDevelop 5](/fr/gdevelop5/getting_started/open-gdevelop-4-project). - -!!! tip - - GDevelop 4 est obsolète, veuillez utiliser GDevelop 5 si vous êtes un débutant. -#### Créer un nouveau projet -Pour créer un nouveau projet, sélectionnez l'option appropriée sur la page d'accueil. - -Dans la fenêtre suivante, vous pouvez choisir parmi les modèles ou créer un projet vierge. Un modèle inclut déjà quelques ressources et des événements pour vous aider à démarrer. - -Un projet vierge n'inclus rien, vous devrez donc commencer à partir de zéro. - -![](/gdevelop5/create-new-project-window.png) -Puisque le but de cette page est de vous permettre de commencer à utiliser GDevelop, choisissez "créer un projet vierge". -Tout d'abord, sélectionnez l'emplacement où vous souhaitez stocker votre nouveau projet. Comme vous pouvez le constater, un emplacement par défaut est déjà défini pour vous au bas de cette page. -![](/gdevelop5/project-default-location.png) -Si vous souhaitez sélectionner un autre emplacement, cliquez sur le bouton "Choisir le dossier" à côté : -![](/gdevelop5/choose-folder-button.png) -Ensuite, parcourez avec l'explorateur de fichiers de votre ordinateur pour sélectionner un dossier dans lequel stocker votre projet. - -Une fois que vous avez sélectionné un dossier ou décidé de conserver l'emplacement par défaut, cliquez simplement sur le bouton "Empty game" pour créer un projet vide. -![](/gdevelop5/empty-game-button.png) - -Ensuite, vous devriez voir l'éditeur créer un projet vierge ou ouvrir le modèle de votre choix. - -#### En savoir plus - -Pour de plus amples informations sur la façon d'utiliser GDevelop, vous pouvez visiter les pages suivantes où tout est expliqué plus en détail: - - * [interface](/fr/gdevelop5/interface) - * [objects](/fr/gdevelop5/objects) - * [behaviors](/fr/gdevelop5/behaviors) - - -#### Tutoriels - -Vous pouvez également trouver des tutoriels sur le wiki: - - * [tutorials](/fr/gdevelop5/tutorials) - -#### Exemples - -Vous trouverez sur le site ci-dessous divers exemples et modèles pour vous permettre de commencer à fabriquer vos propres jeux à partir de zéro: - - * [gametemplates.itch.io](https://gametemplates.itch.io/) - - -➡️ Suite **[Découvrir l'interface](/fr/gdevelop5/interface)** ! - diff --git a/docs/fr/gdevelop5/getting_started/open-gdevelop-4-project.md b/docs/fr/gdevelop5/getting_started/open-gdevelop-4-project.md deleted file mode 100644 index 06e8762cc37..00000000000 --- a/docs/fr/gdevelop5/getting_started/open-gdevelop-4-project.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Ouvrir un jeu réalisé avec GDevelop 4 ---- -# Ouvrir un jeu réalisé avec GDevelop 4 - -GDevelop 5 est basé sur le même moteur que GDevelop 4 et les jeux sont compatibles. Vous devez quand même vous assurer de certain points : - -* Votre jeu GDevelop 4 est basé sur la **plateforme HTML5**. Les jeux natifs ne sont pas supportés pour l'instant par GDevelop 5. * Quelques **extensions/fonctionnalités** ne sont toujours pas prises en charge dans GDevelop 5. - -Pour ouvrir votre jeu avec GDevelop 5, ouvrez-le avec GDevelop 4 et enregistrez-le dans un fichier json : - -* Dans le menu ruban, sélectionnez **File \> Save as...**. * Choisissez un dossier, puis entrez un nom de fichier en terminant par **.json**. Par exemple: - -![](/gdevelop5/getting_started/screenshot_2017-12-25_23.14.09.png) - -Cliquez sur Save. Vous pouvez maintenant ouvrir ce fichier avec GDevelop 5.. - -Assurez-vous de **vérifier que tout fonctionne** avant de continuer à créer votre jeu avec GDevelop 5. diff --git a/docs/fr/gdevelop5/index.md b/docs/fr/gdevelop5/index.md deleted file mode 100644 index 43543de8835..00000000000 --- a/docs/fr/gdevelop5/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Documentation GDevelop 5 ---- -# Documentation GDevelop 5 - -GDevelop est un outil de création de jeux gratuit, open-source et multiplateforme que tout le monde peut utiliser pour créer des jeux sans connaissances en programmation. Ce wiki contient tout ce que vous devez savoir pour créer des jeux avec GDevelop - même si vous n'avez jamais créé de jeu auparavant. - -![](/gdevelop5/interface/scene-editor/pasted/20200628-132624.png) - -## Etapes suivantes - -* Si vous n'avez pas installé GDevelop, lisez le [guide de démarrage](/fr/gdevelop5/getting_started). -* Si vous n'avez jamais créé de jeu auparavant, lisez le [guide Concepts de base](/fr/gdevelop5/tutorials/basic-game-making-concepts) de la création de jeux. -* Si vous êtes prêt à commencer à créer un jeu, [parcourez les tutoriels](/fr/gdevelop5/tutorials). \ No newline at end of file diff --git a/docs/fr/gdevelop5/interface/debugger/index.md b/docs/fr/gdevelop5/interface/debugger/index.md deleted file mode 100644 index 743b8e5e612..00000000000 --- a/docs/fr/gdevelop5/interface/debugger/index.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: Débogueur de jeu et Profiler ---- -# Débogueur de jeu et Profiler - -Le * débogueur * est un outil qui vous permet d'inspecter le contenu de votre jeu, en particulier les variables (variables globales, variables de scène et variables d'instances d'objets) et les instances vivant dans les scènes de votre jeu. -Vous pouvez mettre le jeu en pause à tout moment. C'est une excellente façon de comprendre pourquoi quelque chose ne fonctionne pas comme prévu ou de faire des tests rapides dans le jeu. - -Le * profiler * est un outil qui mesure le temps passé dans différentes parties du moteur pendant que votre jeu est en cours d'exécution. Il aide à trouver des goulets d'étranglement ou des événements qui pourraient prendre beaucoup de ressources dans votre jeu. [En savoir plus sur l'utilisation du profileur ici!](/fr/gdevelop5/interface/debugger/profile-your-game) - -!!! note - - - Ceci est une fonctionnalité avancée de GDevelop. Si vous l'utilisez, nous aimerions que vous montriez votre soutien pour GDevelop par [abonnement payant](/fr/gdevelop5/interface/profile)! - - -![](/gdevelop5/interface/gdevelop-debugger_2x.png) - -## Lancer le débogueur - -Pour lancer le débogueur, dans la barre d'outils d'un éditeur de scène, cliquez sur l'icône "Debug": - -![](/gdevelop5/interface/debug-icon_2x.png) - -Dans le menu, choisissez "Aperçu avec débogueur et profileur de performances". -Cela ouvrira un nouvel onglet appelé "Débogueur" et lancera également un aperçu de votre jeu comme d'habitude. - -Notez que même si vous fermez l'aperçu, vous pouvez laisser l'onglet débogueur ouvert. De cette façon, tout aperçu que vous lancez (avec le bouton Aperçu habituel) sera connecté au débogueur. - -Lorsque le jeu est lancé, le débogueur est vide: - -![](/gdevelop5/interface/empty-debugger_2x.png) - -Cliquez sur ** "Actualiser" ** à tout moment pour récupérer les données du jeu. - -![](/gdevelop5/interface/debugger-refresh-button_2x.png) - -Vous pouvez également utiliser le bouton **Pause** dans la barre d'outils. - -## Inspecter les scènes du jeu - -Les scènes actuellement en cours sont listées sous l'élément Scenes de la liste: - -![](/gdevelop5/interface/inspector-list.png) - -Si vous cliquez sur un nom de scène, vous verrez à droite l'inspecteur de cette scène. Cet inspecteur contient la couche de la scène et un bouton pour créer une nouvelle instance d'un objet sur la scène. - - -### Créer une nouvelle instance de la scène - -Pour créer une nouvelle instance, cliquez sur le nom de la scène où vous souhaitez créer l'instance. -Écrivez le nom de l'objet et cliquez sur Créer: - -![](/gdevelop5/interface/create-instance.png) - -L'instance sera créée à la position 0; 0, sur la couche de base avec l'ordre Z 0. -Vous pouvez alors le trouver dans la liste des instances et changer sa position, son angle, sa couche ... - -## Inspecter et éditer les instances - -Dans la liste, vous pouvez trouver **Instances** de chaque scène en cours d'exécution. -Les instances sont regroupées par nom d'objet. Cliquez sur un nom d'objet pour voir la liste des occurrences de cet objet vivant sur la scène. Cliquez sur un numéro d'instance (chaque instance a un numéro unique) pour l'inspecter: -![](/gdevelop5/interface/instance-inspector.png) - -L'inspecteur affiche les propriétés générales de l'instance, par exemple la position, la rotation, la couche ... Pour chacune de ces propriétés, vous pouvez ** les modifier en cliquant sur la valeur **: - -![](/gdevelop5/interface/debugger-inspector-edit-value.png) - - -Validez vos modifications en cliquant sur le petit bouton **valider** (celui avec l'icône en forme de coche). - -Vous pouvez également voir les ** variables de l'instance ** et les modifier (voir ci-dessous pour plus d'informations sur les variables). - -## Inspecter et éditer les variables - -Vous pouvez inspecter des variables du jeu (variables globales), d'une scène (variables de scène) ou d'une instance particulière d'un objet (variables d'instance). - -Pour ce faire, dans la liste, cliquez sur ** Variables globales **, **Variables de scène** ou le numéro d'instance que vous souhaitez inspecter. - -Les variables seront affichées dans une liste affichant le nom et les valeurs de la variable (un nombre ou un texte). Voici un exemple d'instance d'un objet ayant une variable "Life": -![](/gdevelop5/interface/instance-variables.png) - - -Comme les autres champs, vous pouvez **cliquer sur la valeur de la variable** pour la modifier. C'est un bon moyen de voir comment votre jeu se comporte en fonction de la valeur des variables et de vérifier que vos événements fonctionnent correctement. - -Les variables peuvent également être des ** structures **, ce qui signifie qu'elles contiennent d'autres variables. Dans ce cas, au lieu de voir la valeur (nombre ou texte) de la variable, vous verrez une sous-liste contenant les variables enfants: - -Voici un exemple de variable "Options", contenant des variables enfants pour stocker les options d'un jeu: -![](/gdevelop5/interface/structure-variable-inspector.png) - -Vous pouvez également modifier la valeur des variables enfants comme les autres. - - -## Profil de la performance de votre jeu. - -Le profileur est un outil inclus dans le débogueur qui mesure le temps passé dans différentes parties du moteur pendant que votre jeu est en cours d'exécution. Il montre ensuite une ventilation de chaque section, y compris les événements. -[Lire plus sur le profileur ici!](/fr/gdevelop5/interface/debugger/profile-your-game) \ No newline at end of file diff --git a/docs/fr/gdevelop5/interface/debugger/profile-your-game.md b/docs/fr/gdevelop5/interface/debugger/profile-your-game.md deleted file mode 100644 index fbc29d38e57..00000000000 --- a/docs/fr/gdevelop5/interface/debugger/profile-your-game.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Profiler votre jeu ---- -# Profiler votre jeu - -Le profileur est un outil qui mesure le temps passé dans les différentes parties du moteur pendant que votre jeu est en cours d'exécution. Il aide à trouver des goulots d'étranglement ou des événements qui pourraient prendre beaucoup de ressources dans votre jeu. - -Le profiler fait partie du [Debugger](/fr/gdevelop5/interface/debugger). -!!! tip - - - [Lisez ici comment ouvrir le Debugger pour votre jeu](/fr/gdevelop5/interface/debugger). - -Lorsque le débogueur est ouvert, le profileur est affiché dans la partie inférieure de l'écran : - -![](/gdevelop5/interface/debugger/profiler-open.png) - -Pendant que le jeu est en cours d'exécution, cliquez sur le bouton **Start Profiling** pour lancer le profiler. -Après quelques secondes, cliquez sur **Stop Profiling** pour terminer les mesures. Le jeu ne stockera que 600 images de mesures, soit environ 10 secondes. Si vous avez mesuré plus de 600 images, les premières mesures seront effacées par les dernières. - -Lorsque le profilage est terminé, les résultats sont affichés : - -![](/gdevelop5/interface/debugger/profiler-with-results.png) - -Chaque section du jeu est affichée. Les sections peuvent contenir d'autres sections. - -Les sections sont : - -* Objets (pré-événements) - Le temps passé à exécuter des comportements avant les événements. -* Événements - Le temps passé à exécuter les événements. Si vous avez ajouté *groupes* à vos événements, ils seront affichés sous forme de sous-sections. C'est une bonne façon de voir comment chaque partie de vos événements se déroule. -* Objets (post-événements) - Le temps passé à exécuter des comportements après les événements (selon les comportements, ils peuvent être exécutés avant ou après les événements). -* Objets (visibilité) - Le temps passé à vérifier quels objets seront rendus à l'écran. -* Rendu - Le temps passé par le processeur (CPU) pour émettre des appels de rendu vers la carte graphique (GPU). - -Notez que le rendu réel sur le GPU n'est pas mesuré ici. - -Pour chaque section, vous pouvez voir : le temps total passé dans cette section pendant le temps de profilage, le pourcentage de temps passé dans cette section par rapport au parent et le pourcentage de temps passé dans cette section par rapport au temps total. - -* C'est une bonne idée de lancer le profiler pour voir quelle est la partie du jeu qui consomme le plus de ressources. En particulier, jetez un coup d'œil aux événements pour voir si certains groupes d'événements consomment plus de ressources que d'autres. -* Si certains comportements prennent beaucoup de temps, il peut être une bonne idée de voir si vous pouvez réduire le nombre d'objets ayant le comportement, ou désactiver le comportement si ce n'est pas nécessaire. \ No newline at end of file diff --git a/docs/fr/gdevelop5/interface/events-editor.md b/docs/fr/gdevelop5/interface/events-editor.md deleted file mode 100644 index 6a1e69eb024..00000000000 --- a/docs/fr/gdevelop5/interface/events-editor.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: events-editor ---- -FIXME **Cette page contient peut-être des erreurs, vous pouvez contribuer pour les corriger.** - -*(Enlevez ce paragraphe si vous pensez qu'il n'y a plus d'erreurs.)* - -# Éditeur d’événements - -Lors de l'ouverture d'une scène (ou lors de l'ouverture d'événements externes), un éditeur d'événements est également ouvert. C'est ici que vous pouvez utiliser les événements pour créer le jeu et permettre aux joueurs d'interagir avec votre jeu et de le jouer. L'éditeur d'événements est un outil qui vous permet de programmer visuellement votre jeu sans aucune connaissance en programmation ou expérience requise pour que n'importe qui avec n'importe quel arrière-plan puisse créer un jeu dans GDevelop. - -Pour basculer entre [l'éditeur de scène](/gdevelop5/interface/scene-editor) et l'éditeur d'événements vous pouvez utiliser ces onglets en haut ![](/gdevelop5/scene-events-tab.png) - -Lorsque vous passez à l'éditeur d'événements, vous remarquerez peut-être que nous avons une sélection différente d'outils disponibles: ![](/gdevelop5/events-editor-toolset.png) - -## Ajouter un événement Nous pouvons ajouter un événement en cliquant sur le bouton **Ajouter un événement** ![](/gdevelop5/add-event-button.png) - -En cliquant sur ce bouton, un événement vide apparaît dans notre éditeur ![](/gdevelop5/blank-event.png) - -Nous pouvons ajouter n'importe quel nombre de blocs d'événements à notre éditeur et ajouter diverses conditions et actions à chaque bloc d'événement pour rendre notre logique. Vous pouvez en apprendre plus sur les événements, sur la page dédié aux : [](/gdevelop5/événements). - -## Ajouter un sous-événement En cliquant sur le bouton Ajouter un sous-événement, nous pouvons ajouter un bloc d'événement enfant à l'événement sélectionné.![](/gdevelop5/sub-event-button.png) - -Après avoir cliqué sur le bouton, un sous-événement vide apparaît sous notre événement sélectionné ![](/gdevelop5/blank-sub-event.png) - -Les sous-événements ne sont exécutés que si l'événement parent est exécuté, de cette façon nous pouvons freiner nos événements et déclencher des événements seulement quand / si cela est nécessaire et ne pas les déclencher si ce n'est pas le cas. - -## Ajouter un commentaire - -!!! note - - Les commentaires sont très utiles afin de vous repérer dans votre jeu, si vous souhaitez par exemple faire un gros jeu, forcément, il y aura pleins d'événements et vous pourriez vous perdre, mais grâce aux commentaires, vous allez vous repérer ! En cliquant sur le bouton **Ajouter un commentaire**, nous pouvons ajouter des commentaires à nos événements afin que nous puissions nous souvenir des événements qui correspondent à leur objectif. ![](/gdevelop5/add-comment-button.png) - -Bien sûr, la plupart des événements s'expliquent d'eux-mêmes, mais dans les jeux complexes, il est toujours utile d'ajouter des commentaires pour nous rappeler ce que cette partie fait exactement. ![](/gdevelop5/comment-in-editor.png) - -## Ajouter un événement spécial En cliquant sur le bouton Ajouter un événement, avec ceux que nous avons déjà mentionnés, nous avons accès à des événements spéciaux ![](/gdevelop5/add-special-events.png) - -Lire la page dédié aux [événements](/gdevelop5/events)pour en apprendre plus. - -## Supprimer un événement sélectionné - -En cliquant sur le bouton Supprimer les événements sélectionnés, les événements sélectionnés seront supprimés de la feuille ![](/gdevelop5/delete-selected-events-button.png) - -## Annuler / Rétablir les modifications Tout changement peut être annulé ou appliqué à nouveau avec ces boutons ![](/gdevelop5/undo-redo-buttons.png) ## Rechercher dans les événements En cliquant sur le bouton rechercher dans les événements, nous pouvons faire exactement cela, rechercher une expression dans les événements et trouver ce que nous recherchons ![](/gdevelop5/search-events-button.png) diff --git a/docs/fr/gdevelop5/interface/index.md b/docs/fr/gdevelop5/interface/index.md deleted file mode 100644 index c25ff950e7d..00000000000 --- a/docs/fr/gdevelop5/interface/index.md +++ /dev/null @@ -1,163 +0,0 @@ ---- -title: Aperçu de l'interface de GDevelop ---- -# Aperçu de l'interface de GDevelop - -L'interface de travail de GDevelop est basée sur des éditeurs affichés dans des onglets. Ces éditeurs vous permettent de modifier différentes parties de votre jeu. -![](/gdevelop5/screen_shot_2017-09-18_at_01.30.20.png) - - -# Page de démarrage - -L'écran de démarrage initial s'affiche lorsque vous lancez GDevelop pour la première fois. C'est ici que vous créez vos projets, chargez des projets précédemment enregistrés ou chargez des tutoriels. - -![](/gdevelop5/gdevelop5startpage.png) - -Au démarrage, GDevelop recherchera de nouvelles mises à jour. Si une nouvelle mise à jour est disponible, la mise à jour sera automatiquement téléchargée. -Vous pouvez en voir la progression en cliquant sur [About GDevelop](/gdevelop5/interface/updates) -. -# Gestionnaire de projet - -Lorsqu'un projet est ouvert, vous pouvez cliquer sur le bouton en haut à gauche pour accéder au gestionnaire de projet. -![](/gdevelop5/project-manager-button.png) -Le gestionnaire de projet montre la structure de votre jeu. -![](/gdevelop5/project-manager-tab.png) -Vous pouvez plier et déplier chaque catégorie en cliquant sur la petite flèche. - - *** Ressources:** C'est ici que GDevelop stocke toutes les images et les sons utilisés dans votre jeu. - - * **Scènes:** Les scènes sont les différents niveaux de votre jeu mais pas seulement car dans GDevelop tout est une question de scène, le menu principal, écran de démarrage, écran de crédits, tous sont des scènes. - - *** Événements externes:** Pour rendre le développement de notre jeu plus flexible, nous pouvons rendre externes des événements souvent utilisés et les lier à des scènes quand nous en avons besoin. Considérez-les comme des méthodes de programmation, mais si vous n'êtes pas familier avec le terme méthode, rappelez-vous simplement que si vous avez souvent besoin d'utiliser un des événements, vous pouvez le rendre externe et l'appeler quand vous en avez besoin. - - *** Agencements externes:** Comme pour les événements, vous pouvez décider que des agencements utilisés à diverses reprises méritent d'être conçus comme des agencements externes qui pourront être chargés à de multiples endroits de vos scènes. - -Dans la version **bureau**, le menu Fichier vous permet de sauvegarder votre jeu, d'en ouvrir un autre ou de le fermer. Vous pouvez aussi [exporter votre jeu](/gdevelop5/publishing). -![](/gdevelop5/file-menu.png) -Dans la version navigateur de GDevelop5, ces options sont en haut du gestionnaire de projet. -![](/gdevelop5/web-project-manager-tab.png) - -# Éditeur de scènes - -Lorsque vous ouvrez une scène (ou un agencement externe), un éditeur de scène s'ouvre. -C'est ici que vous pouvez concevoir et construire vos niveaux et menus de jeu en créant et ajoutant des objets à la scène. - -Nous avons une sélection d'outils et d'éditeurs disponibles dans l'éditeur de scènes: -![](/gdevelop5/scene-editor-toolset.png) - -[Pour en apprendre plus sur l'utilisation de l'éditeur de scènes](/fr/gdevelop5/interface/scene-editor). -} -## Éditeur d'objets -L'éditeur d'objets se trouve à droite. C'est ici que vous pouvez voir tous les objets utilisés dans votre scène et en ajouter de nouveaux. -![](/gdevelop5/objects-manager-tab.png) -Si vous avez fermé cette barre, vous pouvez l'ouvrir à nouveau en utilisant le bouton en haut. -![](/gdevelop5/objects-manager-button.png) - -## Propriétés de l'objet -Vous trouverez les propriétés de l'objet à gauche, sous le gestionnaire de projet. Fermez le gestionnaire de projet si vous ne pouvez pas le voir. -![](/gdevelop5/object-properties-bar.png) -Ici, vous pouvez modifier les propriétés des objets sélectionnés tels que la position, la rotation, l'échelle, l'ordre Z, etc. - -Si vous avez fermé cette barre, vous pouvez l'ouvrir en cliquant sur le bouton en haut. -![](/gdevelop5/object-properties-button.png) - -Dans ce cas, la barre peut s'ouvrir sur le côté droit, vous pouvez déplacer et mettre à l'échelle via les bords n'importe quel élément de l'écran en faisant glisser et en déplaçant. - -## Éditeur des Groupes d'objets -Dans l'éditeur des Groupes d'objets nous pouvons trouver la liste des groupes que nous avons dans notre scène et nous pouvons en créer de nouveaux. -![](/gdevelop5/objects-groups-editor.png) -Pour ouvrir l'éditeur, il faut cliquer sur le bouton en haut. -![](/gdevelop5/objects-groups-editor-button.png) - -Les groupes d'objets nous permettent de rassembler des objets dans des groupes, puis d'y faire appel à l'intérieur de nos événements. Cela sert à faire appel à un groupe plutôt qu' à des objets individuels. - -## Éditeur d'instances -L'éditeur d'instances affiche une liste de toutes les instances présentes dans notre scène et nous pouvons sélectionner n'importe quelle instance de la liste et voir sa position, angle, couche et ordre Z dans notre scène. -![](/gdevelop5/instances-editor.png) - -On peut ouvrir l'éditeur d'instances en cliquant sur le bouton en haut dans la barre d'outils. -![](/gdevelop5/instances-editor-button.png) - -## Éditeur de calques -L'éditeur de calques affiche la liste des calques dans nos scènes et nous permet d'en ajouter de nouveaux, de modifier leurs ordres, de les masquer et de les supprimer. -![](/gdevelop5/layers-editor.png) - -On peut ouvrir l'éditeur de calques en cliquant sur le bouton en haut dans la barre d'outils. -![](/gdevelop5/layers-editor-button.png) - -## Masque de fenêtre -En cliquant sur le bouton Masque de fenêtre situé en haut, nous pouvons activer et désactiver la bordure noire de notre scène qui indique la taille de notre fenêtre de jeu. -![](/gdevelop5/toggle-window-mask-button.png) - -## Editer la grille -En cliquant sur le bouton d'édition de la grille en haut, nous obtenons deux options: -![](/gdevelop5/toggle-grid-button.png) - - * **Toggle grid:** il nous permet d'activer et de désactiver la grille dans l'éditeur de scènes, la grille est utile lorsque nous avons besoin de placer des objets avec précision ou que nous avons à faire à des sprites de tuiles. - * **Setup grid:** il nous permet de personnaliser la taille de la grille. - -## Changer le zoom de l'éditeur -En cliquant sur le bouton Modifier le zoom, on peut changer le niveau de zoom dans l'éditeur de scène. -![](/gdevelop5/toggle-zoom-button.png) - -## Lancement de la prévisualisation de la scène -En cliquant sur le bouton Prévisualiser, nous pouvons lancer un aperçu de notre jeu et le tester avant de l'exporter. -![](/gdevelop5/preview-button.png) - -## Éditeur d'événements - -Lors de l'ouverture d'une scène (ou lors de l'ouverture d'événements externes), un éditeur d'événements est également ouvert. C'est ici que vous pouvez utiliser les événements pour créer le gameplay réel et permettre aux joueurs d'interagir avec votre jeu et de le jouer. -L'éditeur d'événements est un outil qui vous permet de programmer visuellement votre jeu sans aucune connaissance de programmation ou d'expérience requise afin que n'importe qui avec n'importe quel niveau puisse faire un jeu dans GDevelop. - -Pour basculer entre l'éditeur de scène et l'éditeur d'événements, vous pouvez utiliser les onglets en haut de l'écran. -![](/gdevelop5/scene-events-tab.png) - -Lorsque vous passez à l'éditeur d'événements, vous remarquerez peut-être qu'en haut un choix de différents outils est désormais disponible. -![](/gdevelop5/events-editor-toolset.png) - -## Ajouter un événement -Nous pouvons ajouter un événement en cliquant sur le bouton Ajouter un événement -![](/gdevelop5/add-event-button.png) - -En cliquant sur ce bouton, un évènement vide apparaît dans notre éditeur. -![](/gdevelop5/blank-event.png) - -Nous pouvons ajouter autant de blocs d'événements à notre éditeur et ajouter diverses conditions et actions à chaque bloc d'événements pour faire notre logique de jeu. Pour en savoir plus sur les événements, consultez cette page: [events](/gdevelop5/events) - -## Ajouter un sous-événement -En cliquant sur le bouton Ajouter un sous-événement, nous pouvons ajouter un bloc d'événement enfant à l'événement sélectionné. -![](/gdevelop5/sub-event-button.png) - -Après avoir cliqué sur le bouton, un sous-événement vide apparaît en dessous de l'événement sélectionné. -![](/gdevelop5/blank-sub-event.png) - -Les sous-événements ne sont exécutés que si l'événement parent est exécuté, de cette façon nous pouvons freiner nos événements et déclencher des événements seulement quand/si c'est nécessaire et ne pas les déclencher si ce n'est pas le cas. - -## Ajouter un commentaire -En cliquant sur le bouton ajouter un commentaire, nous pouvons ajouter des commentaires à nos événements afin que nous puissions nous rappeler quels événements correspondent à quel but. -![](/gdevelop5/add-comment-button.png) -Bien sûr, la plupart des événements s'expliquent d'eux-mêmes, mais dans les jeux gigantesques et complexes, il est toujours utile d'ajouter des commentaires pour nous rappeler ce que fait exactement cette partie. Dans un projet à plusieurs mettre des commentaires est utile pour que vos collègues comprennent la logique des évènements plus simplement. -![](/gdevelop5/comment-in-editor.png) - -## Ajouter des événements spéciaux -En cliquant sur le bouton Ajouter un événement, en plus de ceux que nous avons déjà mentionnés, nous avons accès à quelques événements spéciaux -![](/gdevelop5/add-special-events.png) - - * **For each object:** cet événement va être déclenché sur chaque instance d'un objet un par un et s'assurer que les actions sont appliquées à chaque instance individuellement. - * **Group:** Les groupes nous permettent de trier les événements dans des groupes, cela nous aide à rendre nos événements plus organisés. - * **Javascript code:** il nous permet d'utiliser le code Javascript dans l'éditeur d'événements - * **Link:** nous pouvons lier un événement externe en utilisant cette option - * **Repeat:** cet événement va être répété un nombre spécifié de fois. - * **While:** cet événement va être exécuté tant qu'une certaine condition est remplie - -## Supprimer les événements sélectionnés -En cliquant sur le bouton Supprimer les événements sélectionnés, ce bouton fait exactement ce qui est écrit. -![](/gdevelop5/delete-selected-events-button.png) - -## Annuler/Rétablir les modifications -En cliquant sur le bouton Annuler ou Rétablir les modifications, ceci sera fait. -![](/gdevelop5/undo-redo-buttons.png) - -## Rechercher dans les événements -En cliquant sur le bouton de recherche dans les événements, recherchez n'importe quelle expression dans les événements et trouvez ce que vous voulez. -![](/gdevelop5/search-events-button.png) \ No newline at end of file diff --git a/docs/fr/gdevelop5/interface/profile.md b/docs/fr/gdevelop5/interface/profile.md deleted file mode 100644 index 77724e503ad..00000000000 --- a/docs/fr/gdevelop5/interface/profile.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Mon profil ---- -# Mon profil - -Un compte GDevelop est nécessaire pour quelques fonctionnalités, notamment l'exportation en un clic de votre jeu pour Android, iOS, Windows, macOS and Linux.. - -Si vous n'avez pas de compte, créez-en un gratuitement: dans le menu Fichier (sur Windows et Linux) ou dans le menu GDevelop (sur macOS), choisissez Mon profil: - -![](/gdevelop5/interface/my-profile-menu.png) - -Dans la fenêtre, vous pouvez voir votre profil (ou en créer un si vous n'avez pas de compte) et aussi voir les dernières utilisations que vous avez faites des services en ligne. - -## Créer un compte - -Si vous n'avez pas de compte, vous pouvez en créer un gratuitement: - -![](/gdevelop5/interface/create-account.png) - -Cliquez sur **Créer mon compte**, puis entrez votre adresse email et choisissez un mot de passe: - -![](/gdevelop5/interface/login.png) - -Une fois connecté, vous pouvez voir votre profil et vous pouvez utiliser les services spécifiques de GDevelop, comme le packaging de votre jeu pour Android en un clic! - -## Obtenir un abonnement - -Par défaut, les comptes sont gratuits et il n' y a pas de limites sur les jeux que vous créez avec GDevelop. -Quelques services en ligne sont limités car ils s'appuient sur des serveurs qui peuvent être coûteux. En particulier, avec un compte gratuit vous pouvez faire 2 [packaging for Android](/gdevelop5/publishing/android_and_ios) exports par jour. - -En obtenant un abonnement, vous débloquerez plus de packagings (et à l'avenir, plus de packagings en un clic pour iOS, Windows, MacOS et Linux! Vous soutiendrez également GDevelop pour le développement futur. ✨ - -Une fois connecté, cliquez sur le bouton **Choisissez un abonnement**: - -![](/gdevelop5/interface/choose-subscription-button.png) - -Vous pourrez voir une description de chaque plan disponible. Choisissez celui qui convient à vos besoins: - -![](/gdevelop5/interface/subscription-plans.png) - -Une fois que vous avez cliqué sur Choisir ce forfait, on vous demandera votre numéro de carte de crédit afin que l'abonnement puisse être payé chaque mois. Les paiements sont effectués et protégés à l'aide de [Stripe. com](https://stripe.com), qui est le nouveau standard en matière de paiement en ligne. Tout est sécurisé et géré par l'infrastructure Stripe. - -## Modification de votre abonnement - -ISi vous souhaitez mettre à jour votre abonnement, soit pour passer à un abonnement avec plus de packagings, soit à un abonnement moins cher, il vous suffit d'ouvrir à nouveau votre profil et de cliquer sur **Mettre à jour/Modifier**. - -Le prochain paiement sera automatiquement adapté à votre nouvel abonnement! - -## Annulation de votre abonnement - -Il est facile d'annuler votre abonnement à tout moment: ouvrez à nouveau votre profil et cliquez sur **Mettre à jour/Modifier**. Choisissez l'abonnement Gratuit et votre abonnement actuel sera arrêté, et aucun nouveau paiement ne sera requis. - -Si vous le souhaitez, vous pouvez vous réabonner ultérieurement à un autre abonnement. En tout cas, vous ne perdrez rien de votre jeu ou de votre travail! \ No newline at end of file diff --git a/docs/fr/gdevelop5/interface/project-manager.md b/docs/fr/gdevelop5/interface/project-manager.md deleted file mode 100644 index 31f92080593..00000000000 --- a/docs/fr/gdevelop5/interface/project-manager.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: project-manager ---- -FIXME **Cette page contient peut-être des erreurs, vous pouvez contribuer pour les corriger.** - -*(Enlevez ce paragraphe si vous pensez qu'il n'y a plus d'erreurs.)* - -# Gestion des projets - -Quand un projet est ouvert, vous pouvez cliquer sur le bouton en haut à gauche pour accéder au menu **Gestion des projets** ![](/gdevelop5/project-manager-button.png) - -Le **menu gestion des projets** montre la structure de votre jeu. - -![](/gdevelop5/interface/projectmanager2.png) - -Vous pouvez plier et déplier chaque catégorie en cliquant sur la petite flèche. - -!!! note - - Le logiciel sur cet image est noir car il possède le thème **dark**, votre logiciel ne ressemble donc peut-être pas à ceci mais ne vous inquiétez pas, ils possèdent tout les deux les mêmes fonctions - -- **Paramètre du jeu:**C'est ici que vous pouvez personnaliser les **paramètres globaux du jeu**, comme par exemple la taille de la fenêtre de votre jeux ou le nom du package pour Android et iOS. Vous pouvez aussi [mettre en place un icône pour votre jeu](/gdevelop5/interface/project-manager/icons). - -  - -- **Scènes:** Les **scènes** sont les différents niveaux de votre jeu mais que ça, dans GDevelop tout est une [scène](/gdevelop5/interface/scene-editor), le menu principal, le splash screen, les crédits: Toutes ces catégories sont des scènes. - -  - -- **Événements extérieurs:**pour rendre le développement de notre jeu plus flexible, nous pouvons faire usage des [événements extérieurs](/gdevelop5/interface/events-editor) et les relier à chaque fois que nous en avons besoin. Considérez-les comme des méthodes de programmation, mais si vous n'êtes pas familier avec le terme, souvenez-vous que si vous devez utiliser une collection d'événements souvent et différents, vous pouvez les rendre externes et les appeler quand vous en avez besoin. - -* **Disposition externe: **similaire aux événements, vous pouvez concevoir des mises en page externes souvent utilisées à plusieurs reprises pour les charger même à plusieurs endroits de votre scène. - -## Menu Fichier - -Dans la version **bureau** de GDevelop, le **menu Fichier** vous permet d'enregistrer votre projet, d'en ouvrir un autre ou de le fermer. Vous pouvez aussi [exporter votre jeu](/gdevelop5/publishing). ![](/gdevelop5/file-menu.png) - -Dans **l'application web** de GDevelop, ces options sont dans le **menu options**. ![](/gdevelop5/web-project-manager-tab.png) diff --git a/docs/fr/gdevelop5/interface/scene-editor.md b/docs/fr/gdevelop5/interface/scene-editor.md deleted file mode 100644 index abf7780e41d..00000000000 --- a/docs/fr/gdevelop5/interface/scene-editor.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: scene-editor ---- -FIXME **Cette page contient peut-être des erreurs, vous pouvez contribuer pour les corriger.** - -*(Enlevez ce paragraphe si vous pensez qu'il n'y a plus d'erreurs.)* - -# Éditeur de scène - -Quand vous ouvrez une scène (où une disposition extérieur), un éditeur de scène s'ouvre. C'est ici que vous pouvez créer les niveaux de votre jeu (ou menus, inventaires...) en créant et ajoutant des objets dans la scène. Le gameplay et les règles du jeu peuvent être crée avec des événements dans [l'éditeur d'événements](/gdevelop5/interface/events-editor). - -Nous avons une sélection d'outils et d'éditeurs disponibles dans l'éditeur de scène: ![](/gdevelop5/scene-editor-toolset.png) - -## Éditeur d'objets Vous pouvez trouver l'éditeur d'objets sur le côté droit. C'est là que vous pouvez voir tous [les objets](/gdevelop5/ objects) utilisés dans votre scène et en ajouter de nouveaux. ![](/gdevelop5/objects-manager-tab.png) - -Au cas où vous avez fermé ce panneau, vous pouvez le rouvrir en utilisant le bouton en haut ![](/gdevelop5/objects-manager-button.png) - -Lisez [l'aide à propos des objets](/gdevelop5/objects) pour en apprendre davantage sur les différents types d'objets que vous pouvez utiliser dans votre jeu. - -## Propriété des objets Vous pouvez trouver les propriétés de l'objet sur le côté gauche, sous le gestionnaire de projet. Fermez le gestionnaire de projet si vous ne pouvez pas le voir. ![](/gdevelop5/object-properties-bar.png) Ici vous pouvez modifier les propriétés des objets sélectionnés tels que la position, l'échelle, l'ordre Z. Si vous avez fermé cette barre, vous pouvez la rouvrir en cliquant sur le bouton en haut ![](/gdevelop5/object-properties-button.png) - -Dans ce cas, la barre peut s'ouvrir sur le côté droit, vous pouvez déplacer et mettre à l'échelle n'importe quel élément sur l'écran en le faisant glisser et en le déplaçant. - -## Éditeur des Groupes d'objets Dans l'éditeur des groupes d'objets, nous pouvons trouver la liste des groupes que nous avons dans notre scène et nous pouvons en créer de nouveaux. ![](/gdevelop5/objects-groups-editor.png) Pour ouvrir l'éditeur, nous devons cliquer sur le bouton en haut: ![](/gdevelop5/objects-groups-editor-button.png) - -Les groupes d'objets nous permettent de collecter des objets dans des groupes et à l'intérieur de nos événements se référer à un groupe au lieu d'objets individuels. - -## Éditeur d'instances L'éditeur d'instances affiche une liste de toutes les instances présentes dans notre scène et nous pouvons sélectionner n'importe quelle instance de la liste et voir leur position, angle, calque et ordre Z dans notre scène. ![](/gdevelop5/instances-editor.png) - -Nous pouvons ouvrir l'éditeur Instances en cliquant sur le bouton en haut ![](/gdevelop5/instances-editor-button.png) - -## Éditeur de couches L'éditeur de calques affiche la liste des calques dans nos scènes et nous permet d'en ajouter de nouveaux, de modifier leur ordre, de les masquer et de les supprimer. ![](/gdevelop5/layers-editor.png) - -Nous pouvons ouvrir l'éditeur de calques en cliquant sur le bouton en haut ![](/gdevelop5/layers-editor-button.png) - -## Autres outils - -Voici différents outils très complets qui vous aideront à la création de votre jeu: - -### Basculer / Modifier la grille En cliquant sur le bouton bascule / modifier la grille en haut, nous obtenons deux options: ![](/gdevelop5/toggle-grid-button.png) * **Masque**: Ceci affiche ou masque une bordure noire dans la scène, qui indique la taille de la fenêtre de jeu. * **Grille**: Elle nous permet d'activer et de désactiver la grille dans l'éditeur de scène, la grille est utile lorsque nous avons besoin de placer des objets avec précision ou nous avons affaire à des sprites de tuiles. - -- **Grille d'installation: **elle nous permet de personnaliser la taille de la grille - -### Zoom sur l'éditeur En cliquant sur le bouton Modifier le zoom de l'éditeur, nous pouvons changer le niveau de zoom dans l'éditeur de scène ![](/gdevelop5/toggle-zoom-button.png) - -## Aperçu du jeu - -En cliquant sur le bouton Aperçu, vous pouvez lancer un aperçu de votre jeu: - -![](/gdevelop5/preview-button.png) - -L'aperçu ouvre une fenêtre séparé. - -### Lancer un aperçu réseau (Aperçu sur WiFi / LAN) - -En cliquant sur le bouton "Aperçu du réseau (Aperçu sur WiFi / LAN)", nous pouvons prévisualiser notre jeu sur des appareils mobiles connectés sur le même réseau que l'éditeur: - -![](/gdevelop5/interface/preview-wifi-button.png) - -Après avoir cliqué sur le bouton, une fenêtre apparaîtra, nous montrant l'adresse sur laquelle l'aperçu est lancé ![](/gdevelop5/preview-wifi-window.png) - -Maintenant, nous devons écrire et entrer l'adresse donnée dans le navigateur de notre appareil mobile. L'aperçu devrait charger: ![](/gdevelop5/interface/preview-wifi-running.png) - -Maintenant nous pouvons fermer la fenêtre pop-up dans l'éditeur pour continuer à éditer notre jeu. Enfin, si nous lançons une nouvelle prévisualisation via wifi, notre appareil mobile actualisera automatiquement la page pour afficher les modifications apportées. - -### Lancer un aperçu avec un débogueur - -Le débogueur est un outil qui peut être utilisé pour inspecter le contenu de votre jeu (valeurs de variables, instances existantes et leurs propriétés ...) et même faire une édition en temps réel. - -Vous pouvez lancer le débogueur en utilisant cette icône: - -![](/gdevelop5/interface/debugger-button.png) - -[Voir cette page](/fr/gdevelop5/interface/debugger) pour en savoir plus sur l'utilisation du débogueur. diff --git a/docs/fr/gdevelop5/objects/admob.md b/docs/fr/gdevelop5/objects/admob.md deleted file mode 100644 index ac2281cc637..00000000000 --- a/docs/fr/gdevelop5/objects/admob.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: L'objet Admob ---- -# L'objet Admob - -AdMob permet d'afficher des publicités dans votre jeu, sur Android ou iOS. - -!!! note - - L'objet AdMob a été modifié dans les dernières versions de GDevelop. **[Consultez plutôt la page Admob](/gdevelop5/all-features/admob)**. \ No newline at end of file diff --git a/docs/fr/gdevelop5/objects/base_object.md b/docs/fr/gdevelop5/objects/base_object.md deleted file mode 100644 index acd921ab94a..00000000000 --- a/docs/fr/gdevelop5/objects/base_object.md +++ /dev/null @@ -1,159 +0,0 @@ ---- -title: base_object ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -Dans les jeux développés avec GDevelop, tout est lié aux objets. - -# Caractéristiques communes à tous les objets - -Dans un jeu GDevelop, tout ce qui apparaît à l'écran est un objet. - -## Ajouter un objet à votre jeu - -Vous pouvez ajouter des objets dans une scène en cliquant sur le bouton **Click to add an object** (Cliquez pour ajouter un objet) à droite, en bas de la liste des objets : - -![](/gdevelop5/objects/add-object-button.png) - -Vous pouvez choisir parmi de nombreux types d'objets, tous dotés de propriétés spécifiques et destinés à jouer un rôle bien défini : - -![](/gdevelop5/objects/object-types.png) - -En fonction du type d'objet choisi, l'éditeur, l'aspect de l'objet et les fonctionnalités disponibles dans les événements seront différents. Le but de cette page étant d'expliquer les objets en général, nous n'entrerons pas dans les détails des propriétés propres à chaque type d'objets. Vous pouvez trouver des [informations détaillées ici](http://wiki.compilgames.net/doku.php/gdevelop5/objects). - -# Les objets dans la scène - -## Ajouter une instance d'objet à la scène - -Un objet peut être placé sur la scène en le sélectionnant dans l'onglet **Object** (cliquez dessus), puis en le faisant glisser dans la scène pour placer une * instance * de cet objet. Une * instance * est fondamentalement une *copie* de l'objet vivant sur la scène. Chaque instance a ses propres variables, position, animations (pour les objets sprite), contenu (pour les textes), etc ... - -Nous pouvons modifier la position d'un objet en sélectionnant l'objet dans l'éditeur de scène et en le faisant glisser. Nous pouvons redimensionner l'objet en le sélectionnant et en faisant glisser l'une des poignées d'échelle blanches. - -![](/gdevelop5/objects/coin-selected.png) - -## Modifier les propriétés d'un objet - -Lorsque nous sélectionnons un objet dans l'éditeur de scène, le panneau de propriétés situé à gauche affiche des informations sur la ou les instances sélectionnées. S'il n'est pas ouvert, vous pouvez l'ouvrir en cliquant sur le bouton des propriétés situé dans la barre d'outils : - -![](/gdevelop5/objects/object-propeties-button.png) - -## Position de l'instance d'un objet - -Vous pouvez définir avec précision la position des instances sélectionnées en modifiant les valeurs **X** et **Y** dans le panneau des propriétés : - -![](/gdevelop5/objects/object-position-properties.png) - -## Angle (orientation) de l'instance d'un objet - -Vous pouvez définir l'angle (l'orientation) de l'instance en modifiant la valeur de l'angle : - -![](/gdevelop5/objects/object-angle-properties.png) - -L'angle peut prendre n'importe quelle valeur de 0 à 360 degrés. Rappelez-vous ce diagramme pour voir quelle est l'orientation d'un angle donné : - -![](/gdevelop5/objects/gdevelop_co.png) - -## L'ordre Z - -Vous pouvez modifier l'ordre Z d'une instance dans le panneau des propriétés : - -![](/gdevelop5/objects/object-zorder-properties.png) - -Le but de l'ordre Z est de permettre de spécifier quel objet sera affiché en premier, lorsque les instances se chevauchent. Plus précisément, nous pouvons contrôler si l'objet est derrière un autre objet ou s'il est devant en définissant des valeurs différentes : lorsque deux objets se chevauchent, l'objet avec la valeur d'ordre Z inférieure sera affiché derrière l'autre. - -Les valeurs peuvent être n'importe quel entier, y compris les nombres négatifs et 0. - -![](/gdevelop5/objects/coin-bush-zorder.png) - -Sur l'image ci-dessus, l'ordre Z du buisson à gauche est 2, l'ordre Z de la pièce est 1 et l'ordre Z du buisson à droite est 0. - -## Les calques (layers) - -Vous pouvez définir le calque d'une instance : - -![](/gdevelop5/objects/object-layer-properties.png) - -Par défaut, chaque scène de GDevelop est fournie avec un seul calque (ou couche) appelé **Base layer** (calque de base). C'est là que tous les objets de notre scène sont situés. Nous pouvons ajouter plus de calques à des fins diverses et mettre n'importe quelle instance sur n'importe quel calque. Par exemple, il peut y avoir un calque pour afficher les commandes à l'écran, une autre pour afficher un menu, une carte ou un arrière-plan. - -## Verrouiller la position / l'angle - -En cochant la case**Locked**(Verrouiller) la position / l'angle dans l'éditeur, vous pouvez rendre l'instance inamovible dans l'éditeur. - -![](/gdevelop5/objects/lock-sprite.png) - -Quand une instance est verrouillée, nous ne pouvons plus la sélectionner dans la scène. Il y a des moments où nous avons beaucoup d'objets qui se chevauchent dans la scène ce qui rend difficile la sélection de certains d'entre eux, car nous continuons à sélectionner ceux que nous n'avons pas l'intention de manipuler. Dans ce cas, nous pouvons verrouiller les instances. - -Vous pouvez déverrouiller une instance verrouillée en ouvrant le panneau d'instances, qui affiche toutes les instances de notre scène et en sélectionnant l'objet dans la liste. - -## Les variables d'instance - -Le bouton **Edit variables** (Editer les variables) permet de définir des variables spécifiques à l'instance sélectionnée : - -![](/gdevelop5/objects/instance-variables-property.png) - -Une variable est essentiellement un conteneur qui renferme une valeur (un nombre, un texte) pouvant être comparée et modifiée au cours du jeu. Il existe différents types de variables dans GDevelop, en particulier chaque objet peut contenir des variables. Lorsque le jeu est en cours d'exécution, chaque *instance* de l'objet vivant sur la scène aura ses propres variables. - -L'éditeur de variables permet de définir des variables spécifiques à l'instance sélectionnée. Par exemple, si vous avez sur la scène des objets représentant des coffres contenant de l'or, vous pouvez modifier la variable nommée "Or" de chaque instance pour définir un nombre différent. Ensuite, dans les événements, lorsque le joueur entre en collision avec un coffre, vous pouvez lire la valeur de la variable pour l’ajouter au montant en or du joueur. - -## Dimensions personnalisées - -Vous pouvez modifier la taille des objets en activant la taille personnalisée dans le panneau de propriétés, puis entrez les dimensions personnalisées **Width** (largeur) et **Height** (hauteur) en pixels : - -![](/gdevelop5/objects/customsize-properties.png) - -# Les groupes d'objets - -Un groupe d'objets est un ensemble d'objets. Par exemple, un groupe appelé "Ennemis" peut contenir des objets "Champignon", "Bombe", "Dinosaure". Vous pouvez ensuite utiliser le nom du groupe dans les événements pour faire référence à tous les objets contenus dans le groupe. - -Cela permet de créer des événements qui s'appliquent à un grand nombre d'objets sans les répéter plusieurs fois, ce qui augmente les performances du jeu, la facilité de maintenance et la lisibilité des événements. - -Pour ouvrir l’éditeur de groupes, cliquez sur l’icône des groupes dans la barre d’outils : - -![](/gdevelop5/objects/groups-button.png) - -L'éditeur de groupes répertorie tous les groupes de la scène (ainsi que les groupes globaux disponibles dans toutes les scènes du jeu). Pour ajouter un groupe, cliquez sur le bouton **Click to add a group** (Cliquez pour ajouter un groupe) en bas de la liste : - -![](/gdevelop5/objects/add-group-button.png) - -Un nouveau groupe est ajouté dans la liste : - -![](/gdevelop5/objects/group-group.png) - -* Pour renomer un groupe, faites un clic droit sur le groupe et sélectionnez **Rename** (Renommer). * Pour ajouter un objet au groupe, cliquez ou tapez sur le groupe. - -Dans la fenêtre qui s'ouvre pour éditer le groupe, cliquez sur le champ du bas et choisissez un objet (ou écrivez le nom d'un objet) pour l'ajouter au groupe. - -![](/gdevelop5/objects/edit-group.png) - -# Les variables - -Chaque objet peut contenir des variables, qui sont des cellules de mémoire que vous pouvez utiliser pour stocker des informations. Lorsque le jeu est en cours d'exécution, chaque *instance* de l'objet vivant sur la scène aura ses propres variables. - -Consultez [cette page](/gdevelop5/all-features/variables) pour en savoir plus sur les variables. - -# Les chronomètres ou minuteries - -Les objets peuvent contenir leurs propres chronomètres et chaque chronomètre sera unique pour chaque instance de l'objet vivant sur la scène. Les chronomètres d’objets sont utiles pour créer des instances permettant de lancer des actions toutes les X secondes. - -Par exemple, une utilisation classique consiste à simuler des balles tirées par une arme. Si vous avez un seul char sur la scène, vous pouvez utiliser un chronomètre de scène pour que ce char puisse tirer (créer une balle) toutes les 3 secondes, puis réinitialiser le chronomètre (pour que le char puisse tirer à nouveau). - -Le problème est que si vous avez 2 chars et utilisez un chronomètre de scène, vous remarquerez que les deux chars tirent en même temps, car ils partagent le même chronomètre de scène. Vous devez disposer de deux chronomètres distincts, indépendants l’un de l’autre, pour que le second char tire à son rythme. Mais que faire si vous avez 100 chars ? Vous ne voudrez certainement pas créer 100 chronomètres de scène, un par instance. - -C'est à ce moment que les chronomètres d'objets deviennent utiles : remplacez chaque condition / action utilisant le chronomètre de scène par des conditions / actions permettant d'utiliser les chronomètres d'objet. Pendant le jeu, GDevelop créera un chronomètre pour chaque instance de char. Lorsque vous utiliserez une condition pour vérifier la valeur d'un chronomètre, seule l'instance dont le chronomètre a une valeur en secondes supérieure au nombre que vous avez entré sera sélectionnée. - -Vous pouvez en apprendre plus sur les chronomètres en étudiant : [](/gdevelop5/all-features/timers) - -# La visibilité - -La visibilité d'un objet est la propriété qui lui permet d'être visible après sa création. La visibilité d'un objet peut être activée ou désactivée. Si l'objet n'est pas visible, cela ne signifie pas que l'objet n'existe pas. Par contre, si l'objet cesse d'exister, cela implique directement que l'objet n'est pas visible. Si l'objet existe, il est visible et inversement. - -Si l'objet existe et que sa visibilité est désactivée, toutes les actions et conditions auront lieu exactement comme si l'objet était visible. - -# Dans l'éditeur d'événements - -Vous pouvez modifier et manipuler les propriétés d'une instance d'objet ou de plusieurs instances à l'aide d'événements au cours du jeu. C’est même ce qu’est le gameplay dans GDevelop : manipuler des objets en temps réel pendant que nous jouons. Comme les événements et l’éditeur d’événements sortent du cadre de cette page, reportez-vous à la page [Concepts de base du jeu](/fr/gdevelop5/tutorials/basic-game-making-concepts) pour commencer. - -* Tous les objets partagent les mêmes caractéristiques communes (comme la position, l'angle et tout ce qui est décrit sur cette page). De nombreuses conditions et actions peuvent être utilisées pour tous les objets. Vous pouvez [en savoir plus sur les conditions / actions communes pour tous les objets ici.](/gdevelop5/ objects/ base_object/ events) -* Les objets peuvent également vous fournir une fonctionnalité spécifique. Par exemple, [les objets sprite](/[gdevelop5/ objects/ sprite) peuvent avoir des animations et l'animation en cours de lecture peut être modifiée à l'aide d'une action. diff --git a/docs/fr/gdevelop5/objects/index.md b/docs/fr/gdevelop5/objects/index.md deleted file mode 100644 index ca5de59e7a2..00000000000 --- a/docs/fr/gdevelop5/objects/index.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Les objets ---- -# Les objets - -Les jeux GDevelop sont basés sur des objets affichés sur la scène. Ces objets peuvent être animés, déplacés et manipulés de différentes manières. Différents types d'objets sont disponibles et offrent des fonctionnalités spécifiques. Ce sont : - -* [Caractéristiques générales des objets](/fr/gdevelop5/objects/base_object) -* [Les objets Sprite](/fr/gdevelop5/objects/sprite) -* [Les objets tuile](/fr/gdevelop5/objects/tiled_sprite) -* [Les émetteurs de particules](/fr/gdevelop5/objects/particles_emitter) -* [Les objets texte](/fr/gdevelop5/objects/text) -* [Les objets Panel Sprite ("9 patch")](/fr/gdevelop5/objects/panel_sprite) -* [Les objets d'entrée de texte](/fr/gdevelop5/objects/text_entry) -* [Les objets Shape Painter](/fr/gdevelop5/objects/shape_painter) -* [Les objets vidéo](/fr/gdevelop5/objects/video) (encore en développement) - -Il existe également des fonctionnalités qui agissent sans objets, par exemple AdMob, qui permet d'afficher des publicités sur votre appareil Android ou iOS. Vous pouvez en savoir plus sur AdMob [ici](/gdevelop5/all-features/admob). - -➡️ Suite **[Caractéristiques communes à tous les objets](/fr/gdevelop5/objects/base_object)** ! \ No newline at end of file diff --git a/docs/fr/gdevelop5/objects/panel_sprite.md b/docs/fr/gdevelop5/objects/panel_sprite.md deleted file mode 100644 index e8a16a7707a..00000000000 --- a/docs/fr/gdevelop5/objects/panel_sprite.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Objet Panel Sprite ("9 patch") ---- -# Objet Panel Sprite ("9 patch") - -Les objets **Panel Sprite** (Sprite de panneau) peuvent être utilisés pour afficher une texture avec des bordures répétées ou étirées. L'objet **Panel Sprite** est utile pour construire des objets ayant une taille dynamique. Les exemples d'objets **Panel Sprite** incluent des éléments tels que le cadre d'une interface. Les plates-formes peuvent également utiliser cette fonctionnalité. - -Pour utiliser un Sprite de panneau, créez un nouvel objet à partir de la liste d'objets à droite. Une fois que vous avez créé l'objet, vous pouvez définir la taille des marges pour chaque bordure autour de l'objet. Les marges sont en haut, à gauche, à droite et en bas. - -## Étapes pour créer un Pprite de panneau - -- 1. Dans la liste de l'Éditeur d'objets située à droite de l'éditeur de scène, cliquez sur le bouton plus (**+**) pour créer un nouveau sprite. - -![](/gdevelop5/objects/panelsprite-addanobject.png) - -- 2. Sélectionnez l'option **Panel Sprite** dans la liste qui apparaît. - -![](/gdevelop5/objects/panelspriteselector.png) - -- 3. Définissez les propriétés / paramètres de l'objet. - -![](/gdevelop5/objects/panelspriteselectors.png) \ No newline at end of file diff --git a/docs/fr/gdevelop5/objects/particles_emitter.md b/docs/fr/gdevelop5/objects/particles_emitter.md deleted file mode 100644 index 63b500c5c5d..00000000000 --- a/docs/fr/gdevelop5/objects/particles_emitter.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: particles_emitter ---- -FIXME **Cette page n'est pas encore complètement traduite. De plus, la description de l'éditeur de particules n'est pas complète.** -*(remove this paragraph once the translation is finished)* - -# Les émetteurs de particules - -!!! note - - **Voir en action !** 🎮 - [J'aimerais voir des exemples d'émetteurs de particules ! SVP, montrez-les moi maintenant.](#Examples) - -Les émetteurs de particules sont utilisés pour afficher un grand nombre de petites particules. Ils simulent des effets dans un jeu. Les feux, les explosions, la fumée et la poussière sont des exemples d'émetteurs de particules. - -![](/gdevelop5/objects/particles-emitters-preview.png) - -L'objet **Particles Emitter** (Émetteur de particules) peut être configuré avec une multitude de paramètres différents pour créer les effets souhaités. - -## Les types de particules - -Pour pouvoir utiliser l'émetteur de particules, créez un nouvel objet à partir de la liste **Objects**. Ce qui ouvre le panneau suivant : - -![](/gdevelop5/objects/addnewobject-particlesemitter.png) - -Sélectionnez **Particles Emitter** (Émetteur de particules) dans la liste. - -Un nouveau panneau s'ouvre alors. Ce panneau contient les propriétés pouvant être définies pour votre émetteur. Vous devrez faire défiler l'écran vers le bas pour afficher toutes les propriétés disponibles. - -![](/gdevelop5/objects/particleemitterspanelofchoices.png) - -*GDevelop offre 3 types de rendu pour les émetteurs de particules : points, lignes et textures.* - -* Le type Points (**Point**) affiche des cercles avec la taille spécifiée. * Le type Lignes (**Line**) affiche des lignes de longueur et d'épaisseur spécifiées. * Le type Texturé (**Textured**) affiche une image de la taille spécifiée. - -## Les couleurs - -* Vous pouvez choisir une couleur de départ (**Particles start color**) et une couleur de fin (**Particles end color**) pour les particules. Vous pouvez également choisir une valeur de départ pour la transparence de l'objet (**Start opacity**) et une valeur de fin (**End opacity**). - -## Direction de l'émission - -Les particules seront émises dans la direction représentée par l'orientation des émetteurs sur la scène. Vous pouvez modifier l'angle du * cône de pulvérisation *, qui est également représenté dans l'éditeur de scène par deux lignes : une valeur élevée pour ce * cône de pulvérisation * entraînera une émission de particules dans une grande plages de directions. Une valeur de 0 n'émettra des particules que dans une seule direction. - -* Les particules apparaissent dans une sphère centrée sur la position de l'objet émetteur. Vous pouvez changer le rayon de la sphère. -* La gravité peut être appliquée sur des particules, sur les axes X et Y. Par exemple, une valeur négative sur l'axe des Y fera monter les particules en l'air. -* La friction influence la décélération des particules au cours du temps. - -## La durée de vie - -* Chaque particule a une durée de vie limitée qui est choisie aléatoirement entre deux valeurs. Ces deux valeurs peuvent être changées. -* Le nombre de particules contenues dans l'émetteur ("réservoir") peut être illimité (valeur -1) ou fixé à une certaine valeur. Si ce nombre est spécifié, l'émetteur cessera d'émettre après avoir émis le nombre spécifié de particules. -* Le flux est le nombre de particules créées chaque seconde. Vous pouvez entrer -1 pour tirer toutes les particules en un seul coup. - -Vous pouvez également modifier le nombre maximal de particules rendues par l'objet à l'écran. Notez que ce numéro modifie la mémoire utilisée par l'émetteur. // Si ce nombre est trop grand, le jeu risque de planter.// - -## Exemples - -!!! note - - **Voir en action !** 🎮 - Ouvrez ces exemples en ligne. - -[![](/gdevelop5/objects/particleemitterexplosionsnew.png)](https://editor.gdevelop.io/?project=example://particles-explosions) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://particles-explosions){ .md-button .md-button--primary } - -[![](/gdevelop5/objects/particleemitervariousnew.png)](https://editor.gdevelop.io/?project=example://particles-various-effects) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://particles-various-effects){ .md-button .md-button--primary } diff --git a/docs/fr/gdevelop5/objects/shape_painter.md b/docs/fr/gdevelop5/objects/shape_painter.md deleted file mode 100644 index e825824f21f..00000000000 --- a/docs/fr/gdevelop5/objects/shape_painter.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: L'objet Shape painter ---- -# L'objet Shape painter - -!!! tip - - **Voir en action !** 🎮 - [Je préférerais examiner des exemples de l'objet Shape painter ! SVP, faites-les moi voir maintenant.](/#Examples) - - -Un objet **Shape painter** (peintre de formes) permet de dessiner des formes dans le jeu. Ce qui peut être utile pour créer des éléments d'interface utilisateur simples. Le **Shape painter** peut même être utilisé pour créer une boîte de sélection. - -#### Ajouter un objet Shape Painter - -Pour ajouter un objet **Shape painter**, créez un nouvel objet à partir de la liste **Properties Editor** (Editeur de propriétés) à droite de l'interface de l'Éditeur de scène. Sélectionnez-cliquez ensuite sur le nouvel objet, sélectionnez **Edit object** et dans la liste qui s'affiche, cliquez sur ** Shape painter**. -Vous devrez peut-être faire défiler la liste pour le trouver. - -![](/gdevelop5/objects/add-shape-painter-object.png) - -#### Éditer les propriétés - -Il s'agit ensuite d'éditer les propriétés de l'objet pour le faire correspondre à ce que nous voulons. De nouveau, cliquez sur l’objet créé dans la liste des propriétés à droite. Sélectionnez **Edit object** dans la liste déroulante qui s'affiche. Une nouvelle fenêtre s'ouvre. Elle affiche les propriétés de l'objet **Shape painter**. - -![](/gdevelop5/objects/shape-painter-properties.png) - -#### Changer la couleur et l'opacité - -La fenêtre des propriétés du **Shape painter** présente des options permettant de changer - -* la couleur du contour de l'objet (**Outline color**), -* l'opacité de contour de l'objet (**Outline opacity**), -* l'épaisseur de ce contour (**Outline size**), -* la couleur de remplissage de l'objet (**Fill color**), -* l'opacité du remplissage (**Fill opacity**). - -![](/gdevelop5/objects/change-color-of-shape-painter.png) - -#### Position relative de l'object - -La position par défaut des formes que nous dessinons à l'écran est relative à la positon de l'objet **Shape painter** dans la scène. - -![](/gdevelop5/objects/shape-painter-relative-position-property.png) - -Dans le cas d'une position relative activée (case cochée dans la figure ci-dessus), la position de la forme dessinée sur l'écran correspondra à la positon 0 sur les axes X et Y. Ce sera la position de l'objet **Shape painter**. Autrement dit, si nous voulons dessiner une forme dont la position sur l’écran est de 100 pixels sur X et de 100 pixels sur Y, sa position sera située à 100 pixels de l’objet **Shape painter** où que ce dernier se trouve sur l’écran. - -Lorsque la case est décochée, la position 0 sur les axes X et Y se trouve dans le coin supérieur gauche de la scène, quelle que soit la position de l'objet. - -#### Dessiner une forme - -Pour dessiner une forme, créez comme d'habitude un nouvel objet à l'aide de l'Éditeur d'objets. Ajoutez ensuite l'objet **Shape painter** à la scène. Si nous lançons l'aperçu maintenant, nous ne verrons rien. L'objet **Shape painter** ajoute simplement la fonctionnalité pour l'objet. Pour l'instant, il ne contient que les propriétés / paramètres du **Shape painter**. Pour dessiner une forme, nous devons utiliser l'Éditeur de scènes (**Scene Events Editor**). // Si vous n'êtes pas familier avec les événements, je vous recommande de consulter la page des événements sur le wiki .// - -Allons dans l'éditeur d'événements de scène (**Scene Events Editor**) pour ajouter un événement. Une fois l'événement ajouté, cliquez sur le texte **add action** (ajouter une action). -Les formes primitives sont listées dans le menu déroulant **Primitive drawing**. - -![](/gdevelop5/objects/primitivedrawingeventchoices.png) - -Nous avons le choix entre 3 types de formes à dessiner : le cercle, la ligne et le rectangle. Nous allons dessiner un rectangle. Sélectionnez **Rectangle** dans la liste déroulante. - -![](/gdevelop5/objects/draw-shape-event.png) - -Sur le côté droit, sélectionnez l'objet **Shape painter** à utiliser. Pour la position en haut à gauche (**Top left side**), entrez `0` pour **X** et pour **Y**. Pour la position en bas à droite (**Bottom right side**), entrez `100` pour **X** et **Y**. - -![](/gdevelop5/objects/draw-shape-event-properties.png) - -Maintenant, si nous lançons un aperçu de la scène, un rectangle de 100 pixels de large et 100 pixels de haut sera dessiné dans la scène. - -![](/gdevelop5/objects/rectanlge-shape-painter.png) - -Si nous laissons la position relative activée, nous remarquerons que le rectangle est à la même position que l'objet **Shape painter**, même si son point d'origine est 0. Si nous désactivons cette option et lançons à nouveau l'aperçu, nous verrons que l'objet est dessiné dans le coin supérieur gauche de la scène. - -L'utilisation des événements permet de modifier les propriétés d’une forme à la volée. - -![](/gdevelop5/objects/shapepaintereventsexample.png) - -## Exemple - -!!! tip - - **Voir en action !** 🎮 - Ouvrez cet exemple en ligne. - -[![](/gdevelop5/objects/shapepainterobject.png)](https://editor.gdevelop.io/?project=example://advanced-shape-based-painter) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://advanced-shape-based-painter){ .md-button .md-button--primary } - - diff --git a/docs/fr/gdevelop5/objects/sprite.md b/docs/fr/gdevelop5/objects/sprite.md deleted file mode 100644 index 456517065be..00000000000 --- a/docs/fr/gdevelop5/objects/sprite.md +++ /dev/null @@ -1,163 +0,0 @@ ---- -title: sprite ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** -*(remove this paragraph once the translation is finished)* - -# Les objets sprite - -!!! note - - **Voir en action !** 🎮 - [Je préférerais examiner des exemples d'objet Sprite ! S'il vous plaît, faites-les moi voir maintenant.](#Examples) - -Les objets Sprite sont les objets les plus souvent utilisés dans GDevelop. - -Un objet sprite permet d'afficher une image ou d'afficher une série d'images sous forme d'animation. Il peut être utilisé pour représenter beaucoup de choses dans les jeux, comme des boutons, des personnages ou des plateformes. Tout ce qui peut être représenté par une image peut être un objet sprite. - -## Créer un objet sprite - -Pour ajouter un sprite à votre scène, sélectionnez l'option **Click to add an object** (Cliquez pour ajouter un objet) située à droite au bas de la liste des objets. - -![](/gdevelop5/objects/clicktoaddanobject.png) - -S'ouvre alors un nouveau panneau qui montre les différents types d'objets disponibles dans GDevelop. - -![](/gdevelop5/tutorials/platform-game/gd5_object_types1.png) - -Sélectionnez **Sprite** dans la liste pour créer un nouvel objet sprite dans votre scène de jeu. - -![](/gdevelop5/objects/select-sprite.png) - -Cette sélection ouvre la fenêtre des propriétés de l'objet. Cette fenêtre vous montre propriétés de l'objet sprite. - -![](/gdevelop5/objects/sprite-object-properties.png) - -## Ajouter une animation - -Une animation permet d'ajouter une image ou une série d'images à l'objet sprite. Pour ajouter une animation, cliquez sur le bouton **Click to add animation** (Cliquez pour ajouter une animation). - -![](/gdevelop5/objects/add-animation-button.png) - -Cette action agrandit la boîte de dialogue qui vous montre alors une grande variété d’options que vous pouvez modifier. - -![](/gdevelop5/objects/animation-properties.png) - -### Ajouter une image à l'animation - -Nous pouvons ajouter des images à l'animation de notre objet en cliquant sur le symbole plus (**+**). - -![](/gdevelop5/objects/add-symbol.png) - -Ce clic ouvria l'explorateur de fichiers afin que vous puissiez parcourir les fichiers et choisir une image appropriée pour votre animation. Après avoir choisi l'image, celle-ci s'affiche dans la fenêtre. - -![](/gdevelop5/objects/add-image.png) - -### Collisions et points - -Vous pouvez personnaliser la zone de collision du sprite à l'aide de la liste **EDIT HITBOXES** (Editer les boîtes de collision) située au bas de la boîte de dialogue. Cette liste vous permet de définir la zone à prendre en compte lors d'une collision. Vous pouvez en savoir plus sur [les masques de collision ici](/gdevelop5/ objects/ sprite/ collision-mask) - -À côté de l'option **EDIT HITBOXES**, vous trouverez l'option **EDIT POINTS** (Editer les points) au bas de la boîte de dialogue des propriétés du sprite. Cette option permet d’avoir des points de référence supplémentaires pour un objet. Ces points de référence peuvent être utilisés dans des événements en cas de besoin. [En savoir plus sur les points dans les sprite ici.](/gdevelop5/objects/sprite/edit-points) - -### Ajouter plusieurs animations - -Un objet peut parfois nécessiter plusieurs animations. Pour ajouter des animations, cliquez sur le bouton **Click to add an animation** (Cliquez pour ajouter une animation) de la même manière que nous l'avions fait la première fois. Cette fonctionnalité permet de séparer facilement les différentes animations. - -![](/gdevelop5/objects/multiple_animations.png) - -Plus tard, nous pourrons basculer entre les différentes animations en utilisant des événements. - -### Nommer une animation - -En haut de la section animation de la fenêtre, vous avez un champ à côté de **Animation \#** avec un "nom d'animation facultatif" grisé. Pour entrer un nom pour votre animation, cliquez dans le champ et entrez le nom désiré. - -![](/gdevelop5/objects/name-animation.png) - -!!! note - - Dans les objets comportant plusieurs animations, il peut être difficile de différencier les animations sans noms. Il est généralement recommandé d'utiliser des noms d'animation significatifs pour les objets comportant plusieurs animations. - - Si nous n'entrons pas de nom, nous devons utiliser le numéro d'animation pour faire référence à cette animation. - -### Ajouter plusieurs images dans une animation - -Pour ajouter plusieurs images à une animation, vous pouvez sélectionner toutes les images dans l'explorateur de fichier et les ajouter d'un coup à l'animation. - -![](/gdevelop5/objects/animation-multiple-images.png) - -Les images seront lues dans le même ordre que celui affiché. - -### Répéter l'animation - -Par défaut, chaque animation n'est jouée qu'une fois, ce qui signifie que l'animation s'arrête dès la fin de la dernière image. Pour répéter l'animation, nous pouvons faire *boucler* l'animation. Nous pouvons mettre l'animation en mode boucle en cliquant sur l'icône **Loop** (Boucle). - -![](/gdevelop5/objects/set-animation-loop.png) - -Une fois qu'une animation est configurée pour être en boucle, elle est lue en continu. - -### Régler la vitesse de l'animation - -La vitesse de l'animation peut être définie en modifiant la valeur à l'aide de l'icône d'horloge. - -![](/gdevelop5/objects/set-animation-speed.png) - -La valeur entrée dans le champ est le temps écoulé entre deux images consécutives. La valeur par défaut est 0,08 seconde. Pour une lecture plus rapide, utilisez une durée d'animation réduite, et pour une lecture plus lente, une durée d'animation plus élevée. - -## Donner un nom aux objets - -En haut de la boîte de dialogue est affiché le nom de l'objet dans le champ **Object name** (Nom de l'objet). Le nom de l'objet décrit généralement le contenu ou le rôle de cet objet, ce qui permet de le distinguer facilement des autres. - -![](/gdevelop5/objects/annotation_2019-06-09_152442.png) - -## Ajouter des objets à la scène - -Pour ajouter un objet sprite à la scène, sélectionnez-le dans la liste et cliquez dans la scène pour ajouter une occurrence de cet objet à la scène. - -Votre nouveau sprite est maintenant terminé, mais vous devez toujours l'ajouter à votre scène de jeu. Cliquez sur la nouvelle image-objet dans la liste des objets. Ensuite, cliquez sur la scène à laquelle vous souhaitez ajouter le sprite. Vous verrez maintenant votre sprite ajouté à la scène. Vous pouvez ajouter plusieurs *instances* de votre sprite à votre écran de jeu. Répétez simplement le processus pour ajouter le premier sprite. - -![](/gdevelop5/objects/addspritetoscene.gif) - -## Utiliser plusieurs animations à l'aide d'événements - -Après avoir créé plusieurs animations, chacune avec son propre ensemble d'images, vous pouvez utiliser des événements pour basculer entre les diverses animations. Régler la vitesse d'animation entre 0 et 1 garantira qu'elle reste active lors de l'utilisation d'événements. - -!!! note - - L'utilisation d'une durée d'animation négative désactive les actions d'événement. - - _Ne pas utiliser de valeurs négatives._ - -Lorsque vous avez défini plusieurs animations pour un objet, vous pouvez utiliser l'onglet événements pour **Change the animation (by name)** (Modifier l'animation (par le nom)). Ceci est contrôlé dans la section **Add action** (Ajouter une action) de la condition. Cela permet de passer à l'animation correcte chaque fois que la condition utilisée dans la section**Add condition**(Ajouter une condition) est vraie. - -![](/gdevelop5/objects/eventanimationexample.png) - -Comme conseillé précédemment, utilisez des noms d'animation significatifs pour plusieurs animations dans un objet afin de les différencier facilement. - -Pour ajouter une action permettant de modifier l'animation à l'aide du nom de l'animation, choisissez la condition **Change the animation (by name)** (Modifier l'animation (par le nom)). - -Placez ensuite ce nom dans le champ **Animation name** (Nom de l'animation) entouré de guillemets. - -![](/gdevelop5/objects/eventanimnameexample.png) - -Pour plus de détails, suivez [les tutoriaux ici](http://wiki.compilgames.net/doku.php/gdevelop5/tutorials). - -## Exemples - -!!! note - - **Voir en action !** 🎮 - Cliquez sur les images pour ouvrir les exemples en ligne. - -[![](/gdevelop5/objects/createaspritenew.png)](https://editor.gdevelop.io/?project=example://change-scale-of-sprites) - ------------------------------------------------------------------------- - -[![](/gdevelop5/objects/changespriteanimationexamplenew.png)](https://editor.gdevelop.io/?project=example://change-sprite-animation) - ------------------------------------------------------------------------- - -[![](/gdevelop5/objects/changespritecolorexamplenew.png)](https://editor.gdevelop.io/?project=example://change-sprite-color) - ------------------------------------------------------------------------- - -[![](/gdevelop5/objects/changespriteanimationexample2new.png)](https://editor.gdevelop.io/?project=example://play-stop-sprite-animation) diff --git a/docs/fr/gdevelop5/objects/text.md b/docs/fr/gdevelop5/objects/text.md deleted file mode 100644 index 16d47ea7e87..00000000000 --- a/docs/fr/gdevelop5/objects/text.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -title: L'objet Text ---- -# L'objet Text - -!!! note - - **Voir en action !** 🎮 - [Je préférerais examiner des exemples de l'objet Text ! SVP, faites-les moi voir maintenant.](#Examples) - -Comme son nom l'indique, un objet texte permet d'afficher du texte à l'écran. - -## Créer un objet texte - -Nous devons d'abord créer un objet texte en cliquant sur le bouton Ajouter un objet et sélectionner l'objet texte (**Text**) dans la liste. - -![](/gdevelop5/objects/add-text-object.png) - -## Modifier les propriétés - -Pour modifier les propriétés de l'objet texte, cliquez avec le bouton droit de la souris sur l'objet qui vient d'être créé et sélectionnez **Edit object** (Modifier objet) dans la liste. La fenêtre des propriétés de l'objet s'ouvre alors. - -![](/gdevelop5/objects/text-properties-window.png) - -## Modifier le texte - -Vous pouvez maintenant modifier le texte affiché par l'objet en cliquant simplement sur le champ de texte (**Text**) et entrez quelque chose d'autre. - -![](/gdevelop5/objects/change-text.png) - -## Modifier la taille - -La taille des caractères peut être modifiée en changeant la valeur du champ **Size** (Taille). - -![](/gdevelop5/objects/change-size-of-text.png) - -## Modifier la couleur - -On peut aussi changer la couleur du texte affiché en cliquant sur la case **Color** située à droite du champ **Size**. - -![](/gdevelop5/objects/change-color-of-text.png) - -## Modifier le style de la police - -Le style du texte affiché peut aussi être modifié. Nous pouvons choisir entre gras (**Bold**), italique (**Italic**) ou même choisir une police personnalisé dans le champ **Font**. - -![](/gdevelop5/objects/change-style-of-text.png) - -En outre, le texte peut être modifié à l'aide d'événements. Dans l'exemple ci-dessous, la taille de l'objet texte est modifié à 150px lorsque la scène est chargée. - -![](/gdevelop5/objects/changetextsizeviaevents.png) - -## Exemples - -!!! note - - **Voir en action !** 🎮 - Ouvrez ces exemples en ligne. - -Manipuler un object Text - -[![](/gdevelop5/objects/changetextexample1.png)](https://editor.gdevelop.io/?project=example://manipulate-text-object) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://manipulate-text-object){ .md-button .md-button--primary } - -Fondu–enchaîné d'u texte - -[![](/gdevelop5/objects/textfadeoutinexample.png)](https://editor.gdevelop.io/?project=example://text-fade-in-out) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://text-fade-in-out){ .md-button .md-button--primary } - -Entrée d'un texte - -[![](/gdevelop5/objects/type-ontexteffectexample.png)](https://editor.gdevelop.io/?project=example://type-on-text-effect) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://type-on-text-effect){ .md-button .md-button--primary } diff --git a/docs/fr/gdevelop5/objects/text_entry.md b/docs/fr/gdevelop5/objects/text_entry.md deleted file mode 100644 index 9cce88f5649..00000000000 --- a/docs/fr/gdevelop5/objects/text_entry.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: L'objet Text entry ---- -# L'objet Text entry - -!!! tip - - **Voir en action !** 🎮 - [Je préférerais examiner des exemples d'objet Text entry ! SVPt, faites-les moi voir maintenant.](/#Examples) - - -L'objet **Text entry** (Saisie de texte) capture le texte entré (tapé) par le joueur et le stocke en mémoire. Vous pouvez utiliser cet objet pour simuler des champs de saisie de texte. Par exemple, vous pouvez utiliser l'objet de saisie de texte pour permettre au joueur d'entrer son nom ou toute autre information. - -## Ajouter un objet Text entry - -Après avoir créé un nouvel objet dans la liste de l'éditeur d'objets, sélectionnez **Text entry** dans la liste des choix affichée. - -![](/gdevelop5/objects/add-text-entry-object.png) - -Renommez ensuite l'objet **Text entry** comme bon vous semble, puis ajoutez l'objet **Text entry** dans la scène. - -Dès maintenant, si vous exécutez une pré-visualisation de la scène, toutes les touches sur lesquelles vous appuierez seront capturées par l'objet et stockées en mémoire. Pour lire les données stockées dans la mémoire, vous devez utiliser une expression comme celle-ci: **`TextEntry.String ()`** (voir un exemple ci-dessous). - -## Afficher une information à l'aide d'un objet Text - -Commencez par ajoute un objet **Text** à la scène. Ajoutez ensuite un événement pour modifier le contenu de l'objet Text : - -![](/gdevelop5/objects/text-entry-object-display-value.png) - -Pour le dernier paramètre, qui est le nouveau contenu du texte, utilisez l'expression mentionnée ci-dessus : - -![](/gdevelop5/objects/expression-get-text-entry-value.png) - -!!! note - - __Entry__ doit être le nom de l'objet **Text entry** . Vous devez remplacer ce nom par défaut par le nom de votre objet **Text entry**. - -Si vous exécutez maintenant une pré-visualisation de la scène, lorsque vous commencerz à taper, vous verrez l'objet **Text** afficher tout ce que vous tapez. - -En utilisant des événements, il est possible d'activer ou de désactiver l'objet **Text entry**. Les événements vous permettent également de contrôler quand saisir du texte et ne pas saisir du texte. - -![](/gdevelop5/objects/textentryobjectevents.png) - -## Exemple - -!!! tip - - **Voir en action !** 🎮 - Ouvrez cet exemple en ligne. - -![](/gdevelop5/objects/textexample.png) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://text-entry-object){ .md-button .md-button--primary } \ No newline at end of file diff --git a/docs/fr/gdevelop5/objects/tiled_sprite.md b/docs/fr/gdevelop5/objects/tiled_sprite.md deleted file mode 100644 index 7af846b235b..00000000000 --- a/docs/fr/gdevelop5/objects/tiled_sprite.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: tiled_sprite ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** -*(remove this paragraph once the translation is finished)* - -# Les objets Tiled Sprite - -!!! note - - **Voir en action !** 🎮 - [Je préférerais examiner des exemples d'objet Tiled Sprite ! S'il vous plaît, faites-les moi voir maintenant.](#Examples) - -Un objet **tiled sprite** (que l'on pourrait traduire par_mosaïque de spirites_ ou *mosaïque de tuiles*) permet d'afficher une image sous la forme d'une mosaïque de sprites. Vous pouvez augmenter et diminuer la taille de la mosaïque en redimensionnant l'objet dans la scène. - -Un objet mosaïque de sprite peut être utilisé pour créer des plateformes dans un jeu de plateforme. Il peut également être utilisé en tant que groupe d'images identiques. Dans ce cas, il n'est pas nécessaire de manipuler plusieurs objets sprite. - -![](/gdevelop5/objects/tiled-sprite-object.png) - -## Ajouter un objet tiled sprite - -Pour ajouter un objet tiled sprite à une scène, créez un nouvel objet à partir de la liste **Objects**. Sélectionnez l'option **Tiled Sprite** dans le panneau qui s'ouvre. - -![add-tiled-sprite-object.png](/gdevelop5/objects/add-tiled-sprite-object.png) - -## Ouvrir les propriété de l'objet - -Ensuite, à nouveau dans la liste d'objets à droite, ouvrez les propriétés de l'objet en cliquant avec le bouton droit de la souris sur l'objet. Sélectionnez **Edit object** (Modifier l'objet) dans la liste déroulante qui apparaît. - -![tiled-sprite-properties.png](/gdevelop5/objects/tiled-sprite-properties.png) - -## Ajouter une image - -Pour ajouter une image à l'objet, cliquez sur le champ **Select an image** (Sélectionner une image). Votre navigateur de fichiers s'ouvre alors sur votre ordinateur. Sélectionnez l'image de votre choix. - -![add-image-to-tiled-sprite.png](/gdevelop5/objects/add-image-to-tiled-sprite.png) - -L'image sélectionnée sera affichée dans la fenêtre d'aperçu à droite. - -![tiled-sprite-image-preview.png](/gdevelop5/objects/tiled-sprite-image-preview.png) - -## Modifier la taille par défaut - -Nous pouvons changer la taille par défaut de l'objet mosaïque de sprites en modifiant les valeurs **Default width** (Largeur par défaut) et **Default height** (Hauteur par défaut). - -![](/gdevelop5/objects/tiled-sprite-default-size.png) - -La taille par défaut affecte la grandeur de l' image qui sera visible dans l'objet. Par exemple, voici à quoi ressemble mon image avec un objet de taille 32x32. - -![](/gdevelop5/objects/tiled-sprite-3232.png) - -Comme vous pouvez le constater, l’image ci-dessus n’est pas une mise à l'échelle de l’objet, elle ne montre qu'une partie de l'objet. - -Si la taille de l'objet est réglée sur 100x100 (comme indiqué ci-dessous), la taille de l'objet est supérieure à celle de l'image originelle, de sorte que l'objet continue à répéter l'image jusqu'à remplir tout l'espace vide. - -![](/gdevelop5/objects/tiled-sprite-100100.png) - -## Mettre l'objet à l'échelle - -Vous pouvez obtenir des résultats immédiats en mettant l'objet à l'échelle dans l'éditeur de scène pour créer l'aspect / la taille dont vous avez besoin. - -![](/gdevelop5/objects/scale-tiled-sprite.png) - -L'éditeur de scène (Events) peut également être utilisé pour modifier la taille d'une mosaïque de sprite. L'utilisation de l'éditeur de scène rend le jeu plus fluide et intéressant. - -![](/gdevelop5/objects/scaleasprite.png) - -## Exemples - -!!! note - - **Voir en action !** 🎮 - Ouvrir cet exemple en ligne. - -[![](/gdevelop5/behaviors/platformerbehavior.png)](https://editor.gdevelop.io/?project=example://platformer) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://platformer){ .md-button .md-button--primary } diff --git a/docs/fr/gdevelop5/objects/video.md b/docs/fr/gdevelop5/objects/video.md deleted file mode 100644 index a430bff9f04..00000000000 --- a/docs/fr/gdevelop5/objects/video.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: L'objet Video ---- -# L'objet Video - -Un objet vidéo affiche une vidéo à l'écran. Ce qui est parfait pour l'intégration d'une cinématique dans un jeu. - -!!! warning - - Les fichiers vidéo peuvent être très lourds, même pour de courtes vidéos, ce qui rend le jeu plus long à télécharger et à lancer. Veillez utiliser une compression correcte et limiter autant que possible la longueur de la vidéo. - -!!! warning - - Avant de pouvoir lire une vidéo, vous devez vous assurer que le joueur a d'abord interagi avec le jeu (un simple clic / toucher sur l'écran permet d'autoriser la lecture des vidéos). - -!!! warning - - - Le fichier doit être de format **.mp4** avec les codecs suivant : - - * **H264** pour la vidéo - * **AAC** pour l'audio - - -Les vidéos peuvent être contrôlées à l'aide d'événements : minutage, état (lecture / pause), volume audio ... - -## Ajouter une vidéo - -Lorsque vous créez un nouvel objet, cliquez sur le bouton **Show Experimental Objects** (Afficher les objets expérimentaux) puis choisissez **Video**. - -![](/gdevelop5/objects/video-object.png) - -Une fois l'objet créé, l'éditeur des propriété s'affiche pour vous permettre de configurer le nouvel objet **Video**. - -![](/gdevelop5/objects/video-object-editor.png) - -## Sélectionner un fichier vidée - -Cliquez sur le champ **Video resource** (Ressource vidéo), puis sur **Choose a new video file** (Choisir un nouveau fichier vidéo). Pour avoir une bonne compatibilité avec la plupart des navigateurs, suivez ces conseils pour le format vidéo : - - -!!! warning - - - Le fichier doit être de format **.mp4** avec les codecs suivant : - - * **H264** pour la vidéo - * **AAC** pour l'audio - - -Vous pouvez aussi choisir entre : - - * **Loop the video** (Boucler la vidée) : cette option permet de lire la vidéo en boucle. Si vous la cochez, la vidéo recommencera au début lorsque elle arrive à sa fin, et ce jusqu’à ce que vous l’arrêtiez. - * **Video opacity** (Opacité de la vidéo) : de 0 (invisible) à 255 (opaque — par défaut), cette option modifie la transparence de la vidéo sur la scène. - * **Video volume** (Volume de la vidéo) : de 0 (silence) à 100 (volume maximum — par défaut), cette option configure le volume sonore de la vidéo. - -## Les paramètres de la vidéo - -!!! note - - Toutes les conditions et actions suivantes font référence aux conditions et actions de la catégorie **Video**. - -Vous pourriez avoir besoin de sauvegarder une valeur correspondant à l'état d'une vidéo. Pour cela, il existe des fonctions pour la vidéo, que vous pouvez utiliser dans un champ d'expressions. Ces paramètres sont les suivants : - -### Durée de la vidéo - -La condition **Duration** (Durée) teste la longueur de la vidéo par rapport à la valeur entrée et du **Sign of the test** (Signe du test) utilisé. - -### Fin de la vidéo - -Il faut utiliser la condition **Is ended** (est terminée) pour exécuter une action lorsque la vidéo est terminée. Cette condition peut être utilisée pour passer de la vidéo au gameplay ou à quelque chose de similaire. - -## Temps de la vidéo - -Lorsqu'une vidéo est lue pendant le jeu, il peut arriver que le temps écoulé depuis le début de la vidéo doive être testé pour déclencher des actions telles que **Skip the video** (Sauter le reste de la vidéo) ou provoquer l'ouverture d'une boîte de dialogue du genre **Save the game** (Enregistrer le jeu). Ceci peut être réalisé en utilisant la condition de test **Current time** (Temps actuel). - -Vous pouvez également passer à un endroit précis de la vidéo en utilisant l'action **Set time** (Définir le temps). Lorsque la condition correspondant à l'action est vraie, la vidéo sautera à l'endroit voulu en fonction du temps entré et du **Modification's sign** (Signe de la modification). - -### Opacité de la vidéo - -L'opacité est la mesure de la transparence de la vidéo. Si la condition **Opacity** renvoie 255, cela signifie que la vidéo n'est pas du tout transparente et si elle renvoie 0, elle est totalement transparente. L'opacité par défaut d'une vidéo est de 255. - -Nous pouvons définir l'opacité d'une vidéo en utilisant l'action **Set opacité** (Définir l'opacité). Pour une opacité maximale, entrez 255, tandis que pour une transparence totale, entrez 0. - -### Vitesse de lecture de la vidéo - -La vitesse de lecture de la vidéo est le rapport entre la vitesse actuelle de la vidéo et la vitesse originale de la vidéo. Si la condition **Playback speed** (Vitesse de lecture) retourne une valeur supérieure à 1, la lecture de la vidéo est plus rapide que celle de la vidéo d'origine. Si la condition renvoie une valeur inférieure à 1, la lecture est plus lente que celle de la vidéo d'origine. La valeur par défaut pour la vitesse de lecture est 1. - -Pour définir la vitesse de lecture d'une vidéo, utilisez l'action **Set playback speed** (Définir la vitesse de lecture). Pour lire la vidéo à un débit plus rapide que le débit par défaut, définissez une valeur supérieure à 1, puis à une cadence plus lente, définissez la vitesse de lecture sur une valeur inférieure à 1. Pour le paramètre par défaut, utilisez la valeur 1. - -### Boucler une vidéo - -Lorsqu'une vidéo tourne en boucle, elle recommence depuis le début après avoir atteint la fin. Pour savoir si une vidéo tourne en boucle ou non, utilisez la condition **is looped** (en boucle). Si la vidéo tourne en boucle, la ou les actions correspondantes seront exécutées. - -Vous pouvez également mettre une vidéo en boucle dans GDevelop en utilisant l’action **Loop a video** (Faire boucler une vidéo) et en sélectionnant **Yes** pour **Activate loop** (Activer la boucle). Par défaut, une vidéo n'est pas en boucle. - -### Couper le son d'une vidéo - -Lorsqu'une vidéo est mise en sourdine, aucun son n'est audible dans le jeu. Pour vérifier si une vidéo est muette, utilisez la condition **is mute** (est muette). Si la vidéo est en mode muet, la ou les actions correspondantes seront exécutées. - -Vous pouvez mettre une vidéo en sourdine à l'aide de l'action **Mute a video** (Rendre une vidéo muette) et sélectionner **Yes** pour **Activate mute** (Activer muet). Le son de la vidéo est désactivé par défaut. - -### Mettre une vidéo en pause - -Pour savoir si une vidéo est en pause, utilisez la condition **is pause** (est en pause). Si la vidéo est en pause, les actions correspondantes seront exécutées. - -Vous pouvez mettre en pause une vidéo en utilisant l’action **Pause a video** (Mettre une vidéo en pause). Par défaut, la vidéo est en pause. - -### Lecture d'une vidéo - -Pour voir la vidéo, vous devez d'abord la lire. Pour vérifier si la vidéo est en cours de lecture, utilisez la condition **is played** (est jouée). Si la vidéo est en cours de lecture, la ou les actions correspondantes seront exécutées. - -Pour démarrer une vidéo ou reprendre la vidéo après l'avoir mise en pause, vous pouvez utiliser l'action **Play a video** (Lire une vidéo). Par défaut, la vidéo est en pause et a besoin de cette action pour être lue. - -### Volume d'une vidéo - -Vous pouvez également régler le volume d'une vidéo à l'aide de GDevelop. Pour connaître le volume d'une vidéo, utilisez la condition **Volume**. Le volume maximal d'une vidéo est 100 et le volume minimal est 0 (muet). - -Pour régler le volume d'une vidéo, utilisez la condition **Set volume** (Régler le volume). Vous pouvez définir un nombre compris entre 0 et 100. Le volume par défaut est défini à 100. - -## Exemple - - * Video player: https://editor.gdevelop.io/?project=example://video-player \ No newline at end of file diff --git a/docs/fr/gdevelop5/publishing/android_and_ios/index.md b/docs/fr/gdevelop5/publishing/android_and_ios/index.md deleted file mode 100644 index d6bd414f3f6..00000000000 --- a/docs/fr/gdevelop5/publishing/android_and_ios/index.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: Publier votre jeu sur Android ou iOS GDevelop permet de publier vos jeux sur plein de platformes différentes, y compris Android et iOS avec les services d'empaquetage ou [manuellement](/gdevelop5/publishing/android_and_ios_with_cordova). Pour exporter un jeu, cliquez/sélectionnez 'Fichier" depuis le menu qui se trouve en haut de l'interface GDevelop. Choisissez l'option d'export que vous voulez. Dans ce cas, nous allons choisir **Android et iOS** depuis le panneau des options d'export. ---- -# Publier votre jeu sur Android ou iOS GDevelop permet de publier vos jeux sur plein de platformes différentes, y compris Android et iOS avec les services d'empaquetage ou [manuellement](/gdevelop5/publishing/android_and_ios_with_cordova). Pour exporter un jeu, cliquez/sélectionnez 'Fichier" depuis le menu qui se trouve en haut de l'interface GDevelop. Choisissez l'option d'export que vous voulez. Dans ce cas, nous allons choisir **Android et iOS** depuis le panneau des options d'export. - -![](/fr/gdevelop5/publishing/gdevelop_export_fr.png) - -## Soyez sûr que votre jeu est prêt à être publié - -Il est important de vérifier que votre jeu est prêt a être exporté pour Android and iOS. * Dans les propriétés du jeu qui sont accessible depuis [Project Manager](/gdevelop5/interface)), soyez sûr que le *nom du paquet* est un nom comme `com.votrenom.nomdujeu`. C'est comme l'adresse d'un site web mais à l'envers. Vous pouvez choisir le nom de paquet que vous souhaitez mais il doit respecter certaines règles : - - * le nom de paquet ne doit pas être déjà utilisé par une autre application Android ou iOS. - * le nom du paquet ne contient que des lettres, nombres et points. Ne mettez qu'un seul point entre chaque mot (exemple de chose à ne **PAS** faire : `com..mygame` ou `..monjeu`) La limite de cet identifiant est de 2 à 5 mots maximums - * Vérifiez que vous avez inclus les icônes pour votre jeu - -. \## Lancer l'export - -Dans le menu "Fichier" Choisissez "Export". Puis choisissez **Android (& iOS à venir)** - -![](/fr/gdevelop5/publishing/export_android_gdevelop_fr_choix.png) - -### Créez un compte GDevelop si vous n'en avez pas - -Pour utiliser l'outil d'exportation pour Android, vous devez [avoir un compte GDevelop](/gdevelop5/interface/profile) Si vous n'avez de compte GDevelop, cliquez sur "Créer mon compte", entrez votre email et choisissez un mot de passe. - -Choisissez **APK** ou **Android App Bundle**: - -- Un **APK** vous permet d'envoyer un fichier exécutable et installable sur votre téléphone Android. C'est efficace pour **tester rapidement votre jeu sur votre téléphone Android**. - Un **Android App Bundle** (AAB pour faire court) est le format obligatoire pour [publier sur Google Play](/gdevelop5/publishing/android_and_ios/play-store). Quand vous créez un jeu sur la console développeur Google Play, c'est ce fichier AAB que vous allez envoyer. - -Quand tout est prêt, exportez le jeu en **AAB** (*Android App Bundle*) pour Android. - -![](/fr/gdevelop5/publishing/choix_type_export_android_gdevelop_fr.png) Attendez quelques minutes, le temps que le jeu soit exporté. Il y a quelques étapes durant laquelle le jeu est exporté, compressé, envoyé sur le service d'exportation en ligne, puis exporté. - -À la fin, vous pourrez **Télécharger** l'APK ou le fichier AAB qui pourra être installé sur Android ou être [publié sur Google Play](/gdevelop5/publishing/android_and_ios/play-store). - - \## Installez le jeu sur votre appareil Android (APK) \ Pour tester un jeu sur votre téléphone vous devez avoir exporté le jeu en APK. Si vous voulez distribuer votre jeu sur Google Play, [lisez plutôt cette page](/gdevelop5/publishing/android_and_ios/play-store). - -Branchez l'appareil android en USB sur votre ordinateur et mettez l'APK quelque part dans un dossier de votre appareil Anrdoid - -(solution alternative : envoyez votre jeu sur [Dropbox](https://www.dropbox.com/), [OneDrive](https://onedrive.live.com/about/en-in/) [mediafire](https://mediafire.com) ou [Google Drive](https://drive.google.com/)pour le télécharger sur votre téléphone depuis l'application ou le site web) - -Avant d'installer votre APK, allez dans Paramètres \> Sécurité et autorisez l'installation de *logiciels provenant de sources inconnues*. Cela vous permettera \[d'installer l'APK\]() et des logiciels ne provenant pas de Google Play - -Enfin, ouvrez votre *Explorateur de fichiers*, allez dans le dossier qui contient votre APK et cliquez dessus puis démarrez l'installation - -![](/fr/gdevelop5/publishing/screenshot_apk_on_android_fr.png) ![](/fr/gdevelop5/publishing/install_apk_on_device.png) - -Quand l'application est installée, cliquez sur *Ouvrir l'application* - -### Testez votre jeu - -Votre jeu est maintenant installé confortablement dans votre téléphone Vous pouvez le lancer comme n'importe quelle autre application ! - -Bravo vous avez créé un *jeu pour android* avec GDevelop ! Vous pouvez le mettre à jour facilement en l'exportant une autre fois et en recommençant le processus d'installation ! - -## S'abonner à GDevelop et avoir plus d'exports par jour... - -En tant qu'utilisateur connecté à GDevelop, vous pouvez exporter votre jeu 2 fois par jour pour Android - - Si vous voulez avoir plus d'exports par jour, vous pouvez améliorer votre compte pour obtenir plus d'exports par jour ! \**10 exports** par jour avec l'abonnement **Indie** et **70 exports** avec l'abonnement **Pro**. - -S'abonner permet de supporter l'auteur de GDevelop et de l'encourager à continuer de travailler dessus ! (GDevelop est open source) En retour, vous obtiendrez plein d'autres fonctionnalités, comme plus d'exports pour Mobile/PC , un debugger en ligne etc... - -## Publiez votre jeu sur des "Stores" ("Android App Bundles") - -Quand vous avez exporté votre jeu pour Android (et que vous l'avez testé), vous pouvez l'exporter en tant que **Android App Bundle** et le publier sur Google Play. Voir [Cette page pour en savoir plus à propos de la publication sur Google Play](/gdevelop5/publishing/android_and_ios/play-store). - -Vous pouvez aussi publier votre app sur [l'Amazon App Store](/gdevelop5/publishing/publishing-to-amazon-app-store) en exportant votre jeu comme **APK** diff --git a/docs/fr/gdevelop5/publishing/android_and_ios/play-store.md b/docs/fr/gdevelop5/publishing/android_and_ios/play-store.md deleted file mode 100644 index 163d6f877b0..00000000000 --- a/docs/fr/gdevelop5/publishing/android_and_ios/play-store.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: play-store ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -# Publish your game on the Play Store - -After building your game with Android (either using the [one-click build for Android](/gdevelop5/publishing/android_and_ios) or [the manual process with Cordova for advanced users](/gdevelop5/publishing/android_and_ios_with_cordova)), you can publish it on the Google Play Store. - -To do this, you need to have an account on Google Play Store. There is a one-time \$25 registration fee asked by Google. - -## Create your Google Play Store Develop account - -To create your account, go there: - -## Package your game - -Package your game as explained here. At the end, you'll have a **Download button** to get the .apk file that can be installed on Android. - -Download this APK and keep it somewhere on your computer. - -## Create the app and fill in the app details - -Connect to the Play Store Developer Console (). On the pages listing your applications, click on **Create Application**: - -![](/gdevelop5/publishing/android_and_ios/create-application-button_2x.png) - -Enter a title and choose a language. The application is created on the Play Store and you're now able to complete the information that will be displayed on the Play Store: - -![](/gdevelop5/publishing/android_and_ios/application-store-listing.png) - -Don't forget to add screenshots and promo graphics: - -![](/gdevelop5/publishing/android_and_ios/bub-screenshots-play-store.png) - -Click on the button on the bottom of the page to submit all that you've entered. - -## Upload the game .apk file - -In the menu on the left, click on App Releases. Then, on the right, choose **Manage Production**: - -![](/gdevelop5/publishing/android_and_ios/app-releases-play-store.png) - -Click then on **Create Release**. - -A new form appears. If you're asked for Google Play App Signing, click on **Opt Out**, than on **Confirm** for now. - -In **APKs to add**, choose **Browse files**, then select the .apk file that you downloaded earlier: ![](/gdevelop5/publishing/android_and_ios/choose-apk-play-store.png) - -The APK is uploaded to the Play Store. Wait a bit. Once it's finished, you should see a message telling that the upload finished successfully. - -If there is an error telling you that the upload failed, read the error message to know more about what went wrong. Usually it means that: - -* The package name is not correct. In GDevelop, using [the project manager](http://wiki.compilgames.net/doku.php/gdevelop5/interface/project-manager), enter a new, unique package name -* Or you used the same package name as an existing application. Choose another in the [the project manager](http://wiki.compilgames.net/doku.php/gdevelop5/interface/project-manager) and package again your game to create a new APK. - -If the upload is a success, you can see your APK file listed below: ![](/gdevelop5/publishing/android_and_ios/apk-uploaded.png) - -In **What's new in this release?**, enter the release notes that should be displayed on the play store. Finish by clicking on Save: - -![](/gdevelop5/publishing/android_and_ios/releases-notes-play-store.png) - -## Finish entering all the details about the game - -Before making your game public, you must finish the enter all the details about your game, including the price and find a rating for the content. Everything that you must still complete is listed in the menu and can be seen thanks to a "warning" icon: - -![](/gdevelop5/publishing/android_and_ios/menu-to-fill-play-store.png) - -## Publish the game! - -Once you've completed everything, entered a nice description, set up beautiful screenshots and uploaded the .apk of your game, you can go back to the **App Releases** page. Click on **Manage Production** or **Edit release**. In the page where you've uploaded your apk, you can still upload a new apk if you want to change it (if you made changes in your game). - -When you're ready, click on **Review** (or **Save** and then **Review**) at the bottom of the page. - -A final screen is shown: ![](/gdevelop5/publishing/android_and_ios/review-before-rollout-play-store.png) - -When you're ready, click on **Roll out to production** (if it's grayed, then you forgot to complete something, check again everything in the menu on the left). - -## Congratulations! The game is on the Play Store. - -**Congrats!** You've made it and published your game. Some users can have to wait for a few hours before seeing the game in the Play Store. - -Remember to send some Tweets to GDevelop and/or a messages on the forum to let the community know that you've published a game 🚀 diff --git a/docs/fr/gdevelop5/publishing/android_and_ios_with_cordova.md b/docs/fr/gdevelop5/publishing/android_and_ios_with_cordova.md deleted file mode 100644 index 9d9260c3282..00000000000 --- a/docs/fr/gdevelop5/publishing/android_and_ios_with_cordova.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Publication Android et iOS manuel avec Cordova ---- -# Publication Android et iOS manuel avec Cordova - -Depuis GDevelop vous pouvez publier vos jeux sur Android et iOS. Pour exporter notre jeu, cliquez sur Fichier en haut et sélectionnez l'option Exporter. Vous pouvez alors choisir la première **[Android et iOS](/gdevelop5/publishing/android_and_ios)** option, qui utilisera les services en ligne de GDevelop pour créer automatiquement votre jeu pour Android et iOS. - -Si vous voulez plus de contrôle ou si vous avez des besoins particuliers, vous pouvez également choisir l'option **iOS et Android (manuel)**. Cette option exporte votre jeu en tant que projet Cordova. [Cordova](https://cordova.apache.org/), également connu sous le nom de PhoneGap, est une technologie permettant aux jeux et applications HTML5 de fonctionner sur Android et iOS et d'être packagés en tant qu'applications (APK et IPA ), puis distribués sur l'App Store ou Play Store. - -## Choisissez un dossier - -Tout d'abord, choisissez un dossier dans lequel le jeu sera exporté. Il est recommandé de choisir un dossier vide, au moins pour la première fois, afin d'éviter de perdre tout fichier qui pourrait être écrasé par l'exportation. - -## Lancez l'exportation - -Vous pouvez ensuite cliquer sur Exporter. Le jeu sera exporté en comme un projet Cordova. - -Vous pouvez ensuite utiliser [Cordova](https://cordova.apache.org/) ou PhoneGap Build pour conditionner votre jeu sous forme d'application Android ou iOS. - -## Exportation vers d'autres plateformes (Web, Windows, MacOS, Linux) - -Voir [les autres options](/gdevelop5/publishing) d'exportation pour apprendre comment publier votre jeu sur d'autres plateformes! \ No newline at end of file diff --git a/docs/fr/gdevelop5/publishing/choix_type_export_android_gdevelop_fr.png b/docs/fr/gdevelop5/publishing/choix_type_export_android_gdevelop_fr.png deleted file mode 100644 index f0e4c61100d..00000000000 Binary files a/docs/fr/gdevelop5/publishing/choix_type_export_android_gdevelop_fr.png and /dev/null differ diff --git a/docs/fr/gdevelop5/publishing/export_android_gdevelop_fr_choix.png b/docs/fr/gdevelop5/publishing/export_android_gdevelop_fr_choix.png deleted file mode 100644 index 44220230985..00000000000 Binary files a/docs/fr/gdevelop5/publishing/export_android_gdevelop_fr_choix.png and /dev/null differ diff --git a/docs/fr/gdevelop5/publishing/gdevelop_export_fr.png b/docs/fr/gdevelop5/publishing/gdevelop_export_fr.png deleted file mode 100644 index 917739d61df..00000000000 Binary files a/docs/fr/gdevelop5/publishing/gdevelop_export_fr.png and /dev/null differ diff --git a/docs/fr/gdevelop5/publishing/index.md b/docs/fr/gdevelop5/publishing/index.md deleted file mode 100644 index a676a681b31..00000000000 --- a/docs/fr/gdevelop5/publishing/index.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Publier des jeux ---- -# Publier des jeux - -De GDevelop vous pouvez publier vos jeux sur toutes les plateformes modernes! Tout d'abord, elle doit être exportée. - -Pour exporter votre jeu, cliquez sur Fichier en haut de la page et sélectionnez l'option Exporter. -![](/gdevelop5/file-export-menu.png) - -Ensuite, de multiples options vous seront proposées: -![](/gdevelop5/export-options.png) - - * **[Android (et iOS bientôt disponible)](/gdevelop5/publishing/android_and_ios):** cela prépare votre jeu pour Android (et la prise en charge d'iOS arrive bientôt), faites un export en ligne, en utilisant les services de GDevelop, puis envoyez un lien pour que vous puissiez l'installer sur Android et [le publier sur le Play Store](/fr/gdevelop5/publishing/android_and_ios/play-store) (ou l'App Store plus tard pour iOS). - - * **[Facebook Instant Games (Messenger)](/fr/gdevelop5/publishing/publishing-to-facebook-instant-games):​** Préparez votre jeu pour qu'il puisse être téléchargé sur Facebook Instant Games et joué sur Messenger, partagé avec vos amis et ensuite publié dans le monde entier. - - * **[Web (téléchargement en ligne)](/fr/gdevelop5/publishing/web)**: cette option chargera votre jeu sur l'hébergement GDevelop, gratuitement. Vous pouvez ensuite le partager avec n'importe qui en cliquant sur un bouton. - - * **Windows/macOS/Linux(Bientôt disponible)**: Cette option regroupe votre jeu sous forme d'application Windows, MacOS ou Linux, exportez le en ligne, en utilisant les services de GDevelop, puis envoyez un lien pour que vous puissiez distribuer le jeu. - -Il y a aussi des exportations pour les utilisateurs avancés: - - * **[Exportation vers un dossier local](/gdevelop5/publishing/html5_game_in_a_local_folder):** Cette option vous permet d'exporter votre jeu dans un dossier et de le télécharger manuellement vers n'importe quel hôte que vous voulez ou de l'envelopper dans un bureau ou une application mobile manuellement en utilisant n'importe quel outil que vous préférez, comme peut le faire Electron. - * **[iOS & android (manuel)](/fr/gdevelop5/publishing/android_and_ios_with_cordova):** cette option va exporter votre jeu prêt à être utilisé comme un projet Cordova. Vous pouvez ensuite utiliser les outils de ligne de commande Cordova pour créer votre jeu pour Android et iOS. diff --git a/docs/fr/gdevelop5/publishing/install_apk_on_device.png b/docs/fr/gdevelop5/publishing/install_apk_on_device.png deleted file mode 100644 index bc153a9093d..00000000000 Binary files a/docs/fr/gdevelop5/publishing/install_apk_on_device.png and /dev/null differ diff --git a/docs/fr/gdevelop5/publishing/publishing-to-facebook-instant-games.md b/docs/fr/gdevelop5/publishing/publishing-to-facebook-instant-games.md deleted file mode 100644 index e3bdb27fc04..00000000000 --- a/docs/fr/gdevelop5/publishing/publishing-to-facebook-instant-games.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: Publiez votre jeu sur Messenger avec Facebook Instant Games. ---- -# Publiez votre jeu sur Messenger avec Facebook Instant Games. - -Les jeux Facebook Instant Games sont des jeux auxquels vous pouvez jouer avec vos amis sur Facebook Messenger. - -## Créez un compte et une application sur Facebook Developers. - -Allez sur [Facebook Developers](https://developers.facebook.com/apps/) et créez une application : -![](/gdevelop5/publishing/facebook-add-new-app.png) - -Entrez le nom de votre jeu et votre email de contact : -![](/gdevelop5/publishing/facebook-create-app.png) - -Ouvrez les *paramètres de base* de votre application : - -![](/gdevelop5/publishing/facebook-games-settings-basic.png) - -Et choisissez Jeux comme catégorie : - -![](/gdevelop5/publishing/facebook-games-category.png) - -Remplissez également les autres champs nécessaires à la publication de votre jeu. C'est aussi sur cette page que vous pouvez télécharger les icônes et entrer d'autres détails de votre jeu. - -Une fois que vous avez terminé, activez Instant Games. Cliquez sur le bouton + à proximité des produits : - -![](/gdevelop5/publishing/facebook-app-add-product.png) - -et choisissez **Instant Games**. Votre application est maintenant prête à télécharger le jeu ! - -## Exportez et téléchargez votre jeu - -Dans GDevelop, ouvrez la fenêtre d'exportation. Choisissez Facebook Instant Games : - -![](/gdevelop5/publishing/gdevelop-export-facebook.png) - -Dans la fenêtre, cliquez sur **Export**. Après quelques secondes, lorsque l'exportation est terminée, cliquez sur Ouvrir le dossier pour voir le fichier contenant votre jeu : - -![](/gdevelop5/publishing/gdevelop-export-facebook-done-with-file.png) - -Retournez sur Facebook Developers et choisissez **Hébergement Web** dans le menu Instant Games : - -![](/gdevelop5/publishing/facebook-web-hosting-menu.png) - -Cliquez sur le bouton **Upload Version** à droite et choisissez le fichier qui a été créé par GDevelop. -Lorsque le téléchargement est terminé, attendez quelques secondes pour que Facebook traite votre jeu. - -Cliquez sur l'icône Étoile pour marquer la version que vous avez téléchargée comme étant prête pour la production : -![](/gdevelop5/publishing/facebook-instant-game-production.png) - -!!! note - - Il est important de le faire *même si vous ne voulez pas encore publier le jeu* ! Si vous n'avez pas une version marquée avec l'étoile comme étant prête pour la production, vous ne pourrez pas tester votre jeu. - -## (Facultatif) Ajouter des testeurs - -Pour permettre à vos amis ou collègues de tester le jeu, ajoutez-les comme testeurs. Dans le menu de gauche, cliquez sur Rôles : - -![](/gdevelop5/publishing/facebook-games-roles-menu.png) - -Cliquez ensuite sur le bouton **Ajouter des testeurs** et ajoutez vos amis/collaborateurs. - -## Testez votre jeu ! - -Sur votre téléphone, ouvrez Facebook Messenger. Allez à une conversation, cliquez sur le bouton **+** et choisissez **Jeux** : - -![](/gdevelop5/publishing/messenger-games-option.png) - -Choisissez votre jeu dans la liste : - -![](/gdevelop5/publishing/messenger-games-list.jpg) - -**Votre jeu commence ! ** Si pour une raison quelconque, vous ne pouvez pas voir votre jeu, assurez-vous d'avoir correctement rempli les informations et envoyé le fichier zip sur Facebook Developers. Assurez-vous que le téléphone que vous utilisez est connecté à votre compte Facebook ou à celui d'un testeur. - -## Envoyez votre jeu pour l'évaluer et le publier - -Envoyez les nouvelles versions de votre jeu jusqu'à ce que vous en soyez satisfait. Assurez-vous de remplir toutes les informations et d'ajouter des images de haute qualité. Une fois que vous êtes prêt, cliquez sur le menu **Review** pour envoyer votre jeu afin qu'il soit évalué par Facebook. - -Lisez [cette liste de contrôle pour le lancement du jeu avec Facebook](https://developers.facebook.com/docs/games/instant-games/getting-started/launch-checklist) et assurez-vous d'avoir suivi toutes les directives pour maximiser vos chances de voir votre jeu approuvé. \ No newline at end of file diff --git a/docs/fr/gdevelop5/publishing/publishing-to-itch-io.md b/docs/fr/gdevelop5/publishing/publishing-to-itch-io.md deleted file mode 100644 index 2119d2b9e24..00000000000 --- a/docs/fr/gdevelop5/publishing/publishing-to-itch-io.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: Publier votre jeu sur itch.io ---- -# Publier votre jeu sur itch.io - -## Qu'est-ce que itch.io ? - -![](/gdevelop5/publishing/app-iecon_copy.png) [itch.io](https://itch.io) est un site d'hébergement et de vente de jeux ouvert à tous avec une attention particulière portée sur les développeurs indépendants. - -Les développeurs ont accès à une analyse détaillée sur les visites de leurs créations comme le nombre de téléchargement ou les sites de provenance. - ------------------------------------------------------------------------- - -## Pourquoi itch.io ? - -- Il est complètement **gratuit et ouvert à tous**. -- La **préparation du contenu** à envoyer est simple -- Les **mises à jour** de contenu sont tout aussi simple. -- Un carnet de bord "Devlog" est intégré. -- Il laisse le choix **d'activer les commentaire** et de mettre en place un **forum pour la communauté**. -- Il n'y aucune restriction sur la qualité du contenu. -- Le contenu envoyé est optimisé pour les moteurs de recherches. -- Les jeux partagés peuvent être compatible Windows, Linux, Mac, Android ou des jeux HTML5 jouables directement dans un navigateur. -- Il permet de **gagner de l'argent** sans officialiser une structure juridique. itch.io gère les paiements, les demandes de remboursement, paye les taxes pour vous et les bénéfices peuvent être récupéré à tout moment. -- Dans le cas d'une officialisation de structure, itch.io continue de gérer les transactions mais les taxes et les demandes de remboursement sont à votre responsabilité. -- Un **prix** peut être défini pour vos créations mais il est possible de les distribuer **gratuitement** ou d'accepter les dons. La décision du prix peut également être laissé à l'acheteur. -- La part de bénéfice reversé à l'hébergeur est aussi flexible. C'est ce rend itch.io unique en son genre. Cette part peut être de 0%. itch.io hébergera néanmoins vos créations gratuitement en espérant qu'un futur succès vous donnera envie de les remercier. -- **Aucune publicité** ne vient perturber l'exploration des jeux. -- Il est compatible avec Patreon et permet de donner l'accès à votre contenu aux personnes qui vous soutiennent. - -Il est cependant uniquement en anglais : amis non-anglophones, passez votre chemin ! - -## Exporter un projet - -![](/gdevelop5/publishing/screenshot_20190602191918.png) Commençons par exporter notre jeu dans une version prête à être publiée et jouable depuis un navigateur ou exécutable sur un ordinateur. **Cliquez** sur l’icône à gauche de ce texte. Elle est **en haut à gauche** de la fenêtre de GDevelop. - -![](/gdevelop5/publishing/screenshot_20190602192225.png) - -Une boite de dialogue apparait et permet de choisir pour quelle plateforme exporter le jeu. Ce tutoriel se concentre sur l'export HTML5 qui permet de jouer directement depuis un navigateur. Défilez vers le bas si nécessaire jusqu'à voir apparaitre **Advanced** et choisissez **Dossier local**. - -![](/gdevelop5/publishing/screenshot_20190602192758.png) - -Créez un dossier vide sur votre ordinateur et choisissez-le en cliquant sur **Choose Folder**. Ici, le dossier **Endless Runner** a été choisi. - -## Créer une archive Zip du projet exporté - -Préparer un jeu pour itch.io est très simple. La seule chose à faire est d'archiver le dossier exporté dans un fichier ZIP. Il faut tout de même bien veiller à ce que le fichier "index.html" soit dans le dossier archivé et non dans un sous-dossier. - -Pour compresser le dossier au format ZIP, vous aurez besoin d'un logiciel de compression. Il en existe de nombreux. En voici un très couramment utilisé : [7-Zip](http://www.7-zip.org), il est complètement gratuit et facile à utiliser. Téléchargez donc 7-Zip et installez-le. Une fois cela fait, faites un clic droit sur le dossier contenant votre jeu : vous devriez voir apparaitre 7-Zip dans la liste des choix. Cliquez sur "Ajouter à l'archive". - -![](/gdevelop5/7zip-add-to-archive.png) - -Si le clic droit sur le dossier ne permet de faire apparaitre 7-Zip dans la liste de choix, lancez 7-Zip normalement, puis cliquez sur le bouton "Ajouter". - -![](/gdevelop5/7zip-add-button.png) - -Différentes options s'offrent alors à vous, ne vous en préoccupez pas ! Cliquez simplement sur "OK" afin de lancer la création de votre fichier Zip. Une fois cela fait, le fichier Zip obtenu sera prêt à être chargé sur itch.io - -## Envoyer votre projet sur itch.io - -Vous allez ensuite devoir [créer votre compte itch.io](https://itch.io/register). Il s'agit là d'une procédure classique, suivez simplement les instructions qui vous sont données par le site. (nous ne détaillerons pas toute la procédure dans cet article) - -Une fois votre comte itch.io créé, connectez-vous, allez sur la page "Dashboard", puis cliquez sur le bouton "Create new project" - -![](/gdevelop5/itchio-create-new-project-button.png) - -Vous pouvez à présent paramétrer votre projet. Voici les rubriques principales : - -- **Title :** C'est le titre de votre jeu, il doit être unique. -- **Project URL :** C'est l'adresse URL où votre jeu sera sur itch.io. Ordinairement, ce devrait être proche de cela : votrenom.itch.io/nom-de-votre-jeu. Le nom du jeu dans l'URL peut être ce que vous désirez, c'est à vous de choisir librement. -- **Classification :** Vous choisissez ici le type de contenu que vous voulez charger : jeu, livre.... (dans notre exemple, nous choisirons bien entendu "game" ) -- **Kind of project :** vous choisissez ici le type de projet que vous désirez charger : jeu télechargeable, HTML, ... Nous choisirons pour notre exemple "HTML" -- **Pricing :** C'est ici que vous choisissez si votre jeu : accepte les dons, est payant ou est gratuit. -- **Uploads :** C'est grâce à ce bouton que vous pouvez charger votre jeu sur itch.io - -![](/gdevelop5/itchio-upload-files-button.png) - -Cliquez sur le bouton "Uploads", et sélectionnez le fichier ZIP que vous venez de créer : le chargement commence. Une fois terminé, vous aurez le choix entre différentes options : - -![](/gdevelop5/ithio-upload-file-options.png) - -Vous pouvez choisir si le fichier que vous venez de charger est un exécutable, un livre, un code source ou un mode. Vous pouvez également choisir la plateforme et le prix pour chaque fichier que vous aurez chargé. L'option la plus importante pour nous dans notre exemple est "This file will be played in the browser". - -![](/gdevelop5/itchio-play-in-browser-option.png) - -En cochant la case, cela permettra de pouvoir lancer notre jeu HTML dans les navigateurs. - -Enfin, cliquez sur le bouton "Save and view page". - -![](/gdevelop5/itchio-save-view-page-button.png) - -Après avoir chargé un aperçu de la page de notre jeu, le jeu se lancera dans votre navigateur (si vous n'avez pas fait d'erreur !). - -## Partager votre projet - -La dernière chose restante à faire est à présent de rendre le jeu public afin que tout le monde puiss y jouer. Pour faire ceci, cliquez sur le bouton "Edit game" en haut (ou retournez sur le Dashboard) La page de création de projet va s'ouvrir, et vous pourrez activer l'option afin de rendre votre jeu public. - -![](/gdevelop5/itchio-set-public.png) - -Cliquez ensuite sur le bouton "Save". - -Voilà, c'est terminé ! Tout le monde est à présent en mesure de trouver et jouer à votre jeu ! Vous avez également la possibilité de partager un lien afin qu’un maximum de personnes joue à votre jeu ! - -!!! note - - N'oubliez pas de renseigner GDevelop comme moteur utilisé dans les métadonnées. Il apparaitra sur [la page "made with GDevelop"](https://itch.io/games/made-with-gdevelop) diff --git a/docs/fr/gdevelop5/publishing/screenshot_apk_on_android_fr.png b/docs/fr/gdevelop5/publishing/screenshot_apk_on_android_fr.png deleted file mode 100644 index 948f14d0309..00000000000 Binary files a/docs/fr/gdevelop5/publishing/screenshot_apk_on_android_fr.png and /dev/null differ diff --git a/docs/fr/gdevelop5/publishing/web.md b/docs/fr/gdevelop5/publishing/web.md deleted file mode 100644 index e459a1dee71..00000000000 --- a/docs/fr/gdevelop5/publishing/web.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Publier votre jeu sur le web (télécharger en ligne) ---- -# Publier votre jeu sur le web (télécharger en ligne) - -A partir de GDevelop, vous pouvez exporter votre jeu et le publier sur le web, en utilisant les serveurs d'hébergement de GDevelop. Cet hébergement est gratuit et votre jeu sera disponible pour quelques jours ! - -Pour ce faire, dans le menu Fichier, sélectionnez Exporter. Ensuite, choisissez **Web (télécharger en ligne)** et cliquez simplement sur **Exporter et télécharger mon jeu**. - -![](/gdevelop5/publishing/export-online.png) - -Le jeu sera hébergé sur des serveurs d'hébergement GDevelop (soutenus par des services Amazon ) et disponible pour quelques jours gratuitement afin que vous puissiez partager votre jeu. - -Notez que le lien est **privé** par défaut, et n'est partagé nulle part : vous pouvez alors partager le lien vers le jeu à quelques personnes ou à un public plus large selon vos besoins. - -## Exportation vers d'autres plates-formes (iOS, Android, Windows, macOS, Linux) - -Voir les [autres options d'exportation](/fr/gdevelop5/publishing) pour apprendre à publier votre jeu sur d'autres plates-formes ! \ No newline at end of file diff --git a/docs/fr/gdevelop5/tutorials/basic-game-making-concepts.md b/docs/fr/gdevelop5/tutorials/basic-game-making-concepts.md deleted file mode 100644 index f4c59f5496e..00000000000 --- a/docs/fr/gdevelop5/tutorials/basic-game-making-concepts.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: Concepts de base pour créer un jeu - ce dont vous avez besoin pour démarrer avec GDevelop ---- -# Concepts de base pour créer un jeu : ce dont vous avez besoin pour démarrer avec GDevelop - -Les concepts de base de GDevelop sont simples. Lisez les informations suivante pour commencer sereinement avec cette application. Si vous n'avez pas encore GDevelop, [Téléchargez le depuis le site](https://gdevelop.io/download)! - -## Coordonnées - -Les objets sont repérés sur la scène à partir de leurs coordonnées X et Y correspondant respectivement à la position horizontale (axe-X) et la position verticale (axe-Y) sur un plan cartésien. - -Les coordonnées en abscisse (axe des X) sont croissantes de gauche à droite et les coordonnées en ordonnées (axe des Y) sont croissantes de haut en bas. - -![](/wiki/pres_coord1.png) - -Parallèlement, pour déplacer ou tourner des objets, vous avez besoin de spécifier un angle en degré. Observez le schéma suivant pour comprendre comment sont ordonnés les degrés de 0 à 360° (en tournant dans le sens des aiguilles d’une montre à partir de 3h): - -![](/wiki/pres_coord2.png) - -Si vous utilisez des fonctions trigonométriques comme le **sinus** ou le **cosinus**, notez que vous devrez exprimer les angles en **radians** (1 radian =180/Π degrés et 1 degré= Π/180 radians, Π(Pi) étant approximativement égal à 3.14159) - -## Comment les événements affectent les objets - -Les événements, que vous utilisez pour créer les règles et interaction de votre jeu, sont composés de conditions et d’actions. -La majorité des conditions et actions se réfèrent à des objets. Les conditions effectuent des tests sur les objets et les actions les manipulent, les transforment. - - * Une action sans condition s’appliquera à tous les objets. - * Si vous utilisez un objet pour la première fois dans un événement, GDevelop testera et modifiera **tous les objets** qui portent le même nom dans la scène. - * Si vous ré-utilisez cet objet dans le même événement, GDevelop ne testera et ne modifiera que les objets qui ont été affectés par la condition initiale. - -Ce processus est au cœur de la logique de l’application. -Ainsi l’exemple suivant supprimera **tous** les objets nommés "Square" (Carré): - -![](/gdevelop5/tutorials/delete-square.png) - -Tandis que l’événement suivant supprimera **seulement** les objets "Square"(Carré) dont la position X est inférieur à 100 pixels: - -![](/gdevelop5/tutorials/delete-square-condition.png) - -!!! tip - - **À voir en action!** 🎮Ouvrez cet exemple en ligne et allez observer les événements: https://editor.gdevelop.io/?project=example://object-selection - -## Événement: L'importance de l'ordre - -L'ordre dans lequel sont listés les événement est important: Les événement du haut de la liste sont exécutés les premiers. Chaque fois que votre jeu est affiché (appelé "Vue"), 60 fois par seconde les événements sont exécutés. -Les exemples suivantes ne sont pas équivalents: - -![](/gdevelop5/tutorials/create-then-delete-square.png) - -![](/gdevelop5/tutorials/delete-then-create-square.png) - -* La première paire d'événements crée un objet "Square" (Carré) à la position 200;100 et le supprime immédiatement. **Aucun** "Square" n'est affiché à l'écran (car il a été supprimé dans la fraction de seconde de sa création). -* La seconde paire d'événements supprimera tous les objets "Square" de la scène et en créera un à la position 200;100. Ainsi un carré sera visible sur la scène (avant d'être effacé et recréé immédiatement lors du prochain affichage de la vue) - -!!! note - - Par exemple: Un jeu tournant à 60 images par seconde, si vous avez un seul événement, sans condition à l'intérieur et juste une action pour créer un objet sur la scène, alors cette action sera exécuté 60 fois en une seconde. - Vous aurez donc à chaque seconde 60 objets de plus sur la scène. - -## Déplacer les objets en leur intégrant des forces - -Les objets peuvent se déplacer en leur intégrant à des **forces** qui les "poussent". - -Vous pouvez spécifier des coordonnées cartésiennes à une force (par exemple en spécifiant des X et des Y en pixels). Ces coordonnées polaires définissent une longueur et une direction vectorielle (un angle) qui sera soumis à une force de glissement (le contraire d’une force de résistance). Cette **force de glissement** aura un coefficient compris entre 0 et 1. Chaque seconde, la puissance (longueur) de la force est multipliée par ce coefficient. Ainsi si la valeur est de 1, la puissance ne diminue pas et la vitesse reste constante. Au contraire, si le coefficient est 0, la résistance est totale et l’objet stoppe immédiatement. Les valeurs intermédiaires feront que l’objet ralentira de plus en plus jusqu’à s’arrêter. - -Certains [comportements](http://www.wiki.compilgames.net/doku.php/fr/gdevelop5/behaviors) que vous pouvez affecter à des objets pour les déplacer "par défaut" (par exemple un objet déplacé à l’aide de la souris). Vous n’aurez pas besoin d’utiliser les forces (voir plus loin). - -### Exemple - -Comment faire bouger ce personnage vers le bas: - -![](/wiki/pres_vector.png) - -Vous pouvez ajouter une force à l’aide des coordonnées X/Y en indiquant 0 pour X (on ne va ni à droite ni à gauche) et en précisant 150 (pixels) pour Y. Vous pourriez aussi utiliser les coordonnées polaires (vectorielles) en ajoutant une force avec un angle de 90 (degrés) et une longueur de 150 (pixels). - -### Autres façons de déplacer les objets - -Certains comportements, comme le comportement Physique ou le Détecteur de chemin peuvent déplacer les objets eux-mêmes. Dans ces cas, il est préférable de ne pas utiliser les forces "internes" mais de s'en remettre seulement aux actions qui sont gérées au niveau du comportement lui-même. - -!!! tip - - **À voir!** 🎮Ouvrez et décortiquez cet exemple en ligne: https://editor.gdevelop.io/?project=example://move-object-with-physics - -## Les variables - -Les variables vous servent à stocker des **données**, comme des nombres ou du texte. On pourrait les comparer à des tiroirs ou des boites dans lesquels on garderait en mémoire quelques petites notes et informations à réutiliser plus tard. Toutes les données qui peuvent être stockées si on peut les exprimer en _texte_ ou en _nombre_: Nombre de vies restantes, meilleur score, nombre de balles en réserve, nombre d’ennemis neutralisés, pseudo de la personne qui joue… Vous allez probablement souvent utiliser des nombres, mais pas seulement si vous voulez personnaliser l’expérience :) - -![](/wiki/pres_variable.png) - -La _valeur_ d’une variable pourra donc être testée par des conditions ou modifiée par des actions. - -#### Où sont les variables? (Typologie des "variables") - -Il existe plusieurs types de variable qui différencient leur rayon d’utilisation. Il y a trois types de variable dans GDevelop qui détermineront quand et comment elles sont utilisables.: - -* **Globale**: variable accessible par toutes les scènes d’un jeu. Typiquement on les utilisera pour stocker le score du joueur d’un niveau à l’autre ou encore son pseudo tout au long de la partie. -* **Scène** : variable qu’on utilisera uniquement au sein d’une scène (ou d’un niveau). Par exemple pour compter le nombre d’ennemis encore présents dans le niveau, pour gérer le temps qu’il reste pour sortir de la scène.; -* **Objet**: chaque objet peut contenir ses propres variables. Par exemple un compteur de "santé" pour un objet qui à chaque fois qu’il sera touché diminuera. Ainsi si on génère automatiquement une horde d’ennemis, chacun aura sa propre variable "Santé". - -!!! note - - Lisez le chapître des [Variables](/gdevelop5/all-features/variables). Les variables sont très utilisées et de nombreux exemples et tutoriaux illustreront une partie des infinies possibilités qu’elles offrent.. -## Une notion avancée : le "temps écoulé" depuis la dernière image (TimeDelta) - -Le jeu évalue les événements et repeint l'écran plusieurs fois par seconde : on dit que le jeu est _rafraîchi_, _mis à jour_ lors d'un "tick". La fréquence de ce phénomène dépend des ressources de votre ordinateur : un ordinateur lent peut rendre 25 images par seconde, un ordinateur rapide 60. GDevelop peut généralement s'assurer que cette valeur est la même sur tous les ordinateurs. Cependant, la vitesse de certaines opérations peut changer d'un ordinateur à l'autre, par exemple, les opérations mathématiques et le rendu des mouvements. - -Pour rendre la vitesse des changements constante, utilisez l'expression //`TimeDelta()`//, qui retourne le temps en secondes depuis la dernière image. - -Par exemple, ne faites pas : - -![](/gdevelop5/tutorials/update-life-no-timedelta.png) - -Mais plutôt : - -![](/gdevelop5/tutorials/update-life-timedelta.png) - -* Le premier événement consiste à ajouter 20 à la variable à chaque fois que le jeu est rafraîchi (c'est-à-dire autant que possible, jusqu'à 60 fois par seconde). Il n'est **pas correct** d'utiliser un tel événement car la vitesse d'augmentation de la variable ne sera pas la même d'un ordinateur à l'autre : nous ne pouvons pas prédire la valeur de la variable après 10 secondes par exemple - car elle dépend du nombre d'images du jeu peintes. - -* Le deuxième événement est **correct et fiable** : le nombre 300 est multiplié par TimeDelta(). Ainsi, la variable sera augmentée en même temps sur tous les ordinateurs. Comme TimeDelta() renvoie un temps en seconde, il vous permet de quantifier exactement l'accroissement : dans notre cas, la variable augmentera à 300 unités/seconde. Ainsi, nous pouvons prédire que les points de vie augmenteront de 3000 unités en 10 secondes - indépendament du nombre de rafraîchissements effectués durant cette période. - -!!! tip - - Comme GDevelop exécute votre jeu à un maximum de 60 images par seconde, vous ne remarquerez généralement pas de problème si vous utilisez le premier événement. C'est toujours une bonne idée de garder un oeil sur cela et d'utiliser la version avec `TimeDelta()` à la place. - -**Règle de base : ** Utilisez _TimeDelta()_ lorsque vous souhaitez ajouter continuellement un certain montant à une valeur. Si votre action est censée être lancée une seule fois (par exemple, lors d'une collision où vous effacez ensuite l'objet), vous pouvez utiliser une valeur discrète sans TimeDelta - car elle ne dépend pas de la vitesse du jeu. - -!!! danger - - Lorsque vous déplacez un objet en utilisant des forces, il n'est pas nécessaire d'utiliser TimeDelta() car GDevelop l'utilise automatiquement. - -## Et… c’est l’essentiel de ce que vous devez savoir (ou presque) - -➡️ Mais vous pouvez peut-être poursuivre votre lecture par **[les tutoriels](/fr/gdevelop5/tutorials)** pour en savoir un peu plus à propos de la création de jeux interactifs, inventifs et puissants avec GDevelop! \ No newline at end of file diff --git a/docs/fr/gdevelop5/tutorials/beginner-tutorial.md b/docs/fr/gdevelop5/tutorials/beginner-tutorial.md deleted file mode 100644 index b0d5ea5edf7..00000000000 --- a/docs/fr/gdevelop5/tutorials/beginner-tutorial.md +++ /dev/null @@ -1,218 +0,0 @@ ---- -title: beginner-tutorial ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -##Beginner tutorial - -This tutorial will help you to begin to use GDevelop: You will create a very simple game where enemies are moving toward the player, and we can shot the enemies which is going to explode. ![](/gdevelop5/tutorials/beginner-tutorial-screenshot.png) - -To get an overview of the software I recommend to read the [](/gdevelop5/getting_started) page first. - -### Download GDevelop - -If you do not have GDevelop, download it from the official website : [Compilgames.net](http://compilgames.net) Always download GD from this page to be sure to have the latest version. Ounce you have GDevelop installed and launched, the start page is displayed: ![](/gdevelop5/start_page.png) - -### Download the source - -You can download the finished project from here ![](/gdevelop5/tutorials/beginner-tutorial.zip) so you can see how it done in case you get stuck or don't understand something. - -### Create a new project - -Click create new project on the start page. Next you have the option to create a new project using an example or create an empty project. ![](/gdevelop5/create-new-project-window.png) In this case we need an empty project but before select it, we need to choose a folder on the bottom of this page to select where our project is going to be stored. ![](/gdevelop5/tutorials/select-project-folder.png) To select a custom location, we need to click the choose folder button and browse the file system of our computer to find the folder we want to use. ![](/gdevelop5/choose-folder-button.png) - -Once we have a folder selected, just click the blank project option in the list. ![](/gdevelop5/empty-game-button.png) - -### Create a new scene - -The first thing we want to do is create a new scene. Just click the add scene button in the Project manager ![](/gdevelop5/tutorials/add-scene-button.png) - -Next, click on the NewScene we have just created and it should open the scene editor. - -### Get the images and resources - -Before going further, we'll need some images for our game. You can download them here : [Download images](http://www.compilgames.net/dl/BeginnerTutorial2Images.zip) - -Once you have downloaded this file, extract its content in the folder where you created the project. - -### Create the player turret - -The player will be controlling a turret to shot on the enemies. In the Objects editor choose Add a new object. ![](/gdevelop5/tutorials/add_new_object.png) A window pop up so as to choose the type of the object to create: ![](/gdevelop5/objects/object-types.png) - -We want to create a sprite object so let select that one from the list. Next, the object properties panel should be displayed by default. If it not, just right click on the NewObject in the Object editor and select Edit object from the list. - -Next we want to add an animation to the object so let click the add animation button in the properties window. ![](/gdevelop5/tutorials/add-animation.png) - -Now we should see the animation properties of the object. ![](/gdevelop5/objects/animation-properties.png) - -Next we want to add the turret image as an animation, so let click the big plus symbol and browse our project folder for the image aaguntopdown.png. Next the image should be displayed in the window. ![](/gdevelop5/tutorials/turret-animation-window.png) - -Finally, just click apply to save the changes. - -Next, let rename the object if we haven't done it already. Right click on the turret object in the Object editor and select Rename from the list and type the name turret in place so later we can refer to this object using the name turret. ![](/gdevelop5/tutorials/rename-turret.png) - -### Add turret to the scene - -To add the turret to the scene, select the turret in the Object editor then click in the scene editor. It should create a turret in the scene that we can select, move around and rotate. ![](/gdevelop5/tutorials/turret-selected-inscene.png) - -### First events - -We are going to create the events used to animate the whole game. First, the turret must be turned toward the player mouse. - -Go to the events editor by clicking on the events tab: ![](/gdevelop5/tutorials/scene-events-tab.png) - -Than, on the top click the add event button to create a new event. ![](/gdevelop5/add-event-button.png) - -The event is created, with an empty list of condition ( on the left part ) and an empty list of actions ( on the right ). Put your cursor over the action list and click add action: ![](/gdevelop5/tutorials/add-action.png) - -The first action will turn the turret toward the mouse: In the next window, choose the action Common action for all objects \> Angle \> Rotate toward position. ![](/gdevelop5/tutorials/rotate-toward-position-action.png) When selected, the right part of the window show the name of the action as well as the parameters. Fill the first parameter by clicking the parameter and select turret from the available objects. ![](/gdevelop5/tutorials/select-turret-object-parameter.png) For the next parameters, enter MouseX() and MouseY() so that the object turns toward the mouse position. When the game will be launched, these two expressions will get the current X and Y position of the mouse. For the angular speed 0 means immediate rotation which is what we need in this case. But in case you want the turret to slowly rotate toward the position of the mouse, you may want to enter a small value here, something like 100. - -At this point the parameters of this event should look like this: ![](/gdevelop5/tutorials/rotate-toward-pos-event-parameters.png) To save the changes, press OK at the bottom right corner of this page. - -Now we can run preview by pressing the preview button on the top. ![](/gdevelop5/preview-button.png) - -If we did it right, our turret should rotate toward the position of the mouse. ![](/gdevelop5/tutorials/turret-rotate-toward-mouse.png) - -### Shoot bullets with the turret - -The player must be able to shoot some bullets on the enemies. First, we need a bullet object: In the objects list on the right, make a right click on the turret object and choose Add a new object or click the add new object button. ![](/gdevelop5/tutorials/turret-add-new-object.png) Next choose a Sprite, then add an animation and select the bullet.png image, finally rename the object to bullet. Just the way we did with the turret before. - -What we want to do next is create the bullets when the left mouse button is pressed. Go to the events tab, and add a new event just the way we did with the turret. The first action will be a Create a new object action, which is available in Common actions for all objects \> Objects category. ![](/gdevelop5/tutorials/create-object-action.png) On the right side the first parameter must be bullet, as we want to create a bullet object. The other parameters are the position of the turret: Enter Turret.X() and Turret.Y() in the 2nd and 3rd parameters. ![](/gdevelop5/tutorials/create-object-action-parameters.png) - -The layer parameter is not required in this case as we have only one layer in our game. Click on Ok to finalize the action. - -Then add another action after this first action. Do not create another event only click Add action below the first action! ![](/gdevelop5/tutorials/add-second-action.png) This time, choose the action called Common action for all objects \> Movement \> Add a force ( Angle ). ![](/gdevelop5/tutorials/add-force-angle-action.png) GDevelop provide a built-in forces system allowing to easily move the objects. This action will be used to move the bullet toward the mouse when fired. As the first parameter, enter bullet so that GDevelop will move the bullet just created in the last action. As of angle of movement we are going to use the direction of the turret so enter turret.Direction() in the 2nd parameter. For the 3rd parameter, enter 400 so that the bullet will move with a speed of 400 pixels per seconds. Finally, enter 1 in the last parameter so the force is constantly applied to the bullet and the bullet will keep moving after the moment started. ![](/gdevelop5/tutorials/add-force-angle-parameters.png) - -Our two actions must be launched only when the player is firing ( i.e: Pressing the left button of the mouse ). To do that, we need to add a condition to the event, click the Add condition in the event. ![](/gdevelop5/tutorials/add-condition.png) - -Choose the condition Mouse and touch \> Mouse button pressed or touch held. ![](/gdevelop5/tutorials/mouse-button-pressed-condition.png) On the right side click the Button to test parameter and select Left from the list ![](/gdevelop5/tutorials/mouse-button-pressed-parameter.png) Finally, close the window by clicking the OK button. The condition is now added to the event. - -If you preview the game now, you'll see that we have two problems: The bullet are fired too fast, and the appear at the object's origin, which is not very realistic. - -To address the first issue, we're going to use a timer: Add a second condition to the last event we've created. Choose the condition Timers and time \> Value of a timer ![](/gdevelop5/tutorials/timer-value-condition.png) On the right side, enter 0.25 in the first parameter which the elapsed time in seconds, and “firerate” in the second parameter, which is the name of the timer we're going to use ( Do not forget the quotes around the timer's name! ). ![](/gdevelop5/tutorials/timer-value-condition-parameters.png) - -But we are not done yet, as we want to shoot bullets every 0.25 seconds, we need to reset the timer to start from 0 after rich 0.25. So let add an action Timers and time \> Reset a timer just below our movement action in the same event. ![](/gdevelop5/tutorials/reset-timer-action.png) Enter “firerate” as parameter which is the name of our timer ( again, beware of the quotes! ). ![](/gdevelop5/tutorials/reset-timer-action-parameter.png) This pair of condition and action will ensure that the actions used to fire the bullet are repeated when at least 0.25 seconds is elapsed since the last bullet creation : ![](/gdevelop5/tutorials/shoot-bullet-event1.png) - -We must now ensure that the bullets are fired from the canon of the turret. - -In order to do that, we are going to add a custom point to our turret object and create the bullets in position of that point. Let open the object properties by right clicking the turret object on the right side and select Edit object from the list. It brings up the window where we can add animations to our objects and we should see button called EDIT POINTS. ![](/gdevelop5/tutorials/edit-point-button.png) - -After clicking the button, we can see that our object currently has 2 points by default, the Origin point and the Centre point. ![](/gdevelop5/tutorials/default-points.png) We can not rename these points but we can change their default position if we need to. But what we are here for is to add one more point to the object. - -Let click the add button (plus symbol) to add a custom point to our turret object. We immediately see the new point added to the list with the name Point and position 0,0. Let rename this point to Canon and set the X position to be 110 and the Y position to be 35 ![](/gdevelop5/tutorials/custom-point-name-position.png) - -Now in the preview on the top we should see our custom point is located at the end of our canon ![](/gdevelop5/tutorials/custom-point-preview.png) Now we can close the window and apply the changes we made. - -The only thing is left to do is to tell GDevelop to fire the bullets from the Canon point of the turret. So in our create bullet action we need to change turret.X() and turret.Y() expressions, to turret.PointX(Canon) and turret.PointY(Canon). We can change them by clicking the expressions inside the editor. ![](/gdevelop5/tutorials/replace-expression-in-editor.png) Don't forget the capital C in Canon as the name of the points are case sensitive. - -If we run the preview now, our bullets should be fired from the canon of the turret. - -### Creating enemies attacking the turret - -First, we must create the objects used for the enemies: Add an object to the object list ( Right click on an existing object \> Add an object. Choose a Sprite object as before. ). Name it enemy. - -Edit the object (right click in the list and select Edit object from the list) next add an animation to the object and two images: tank2fr1.png and tank2fr2.png. ![](/gdevelop5/tutorials/enemy-animation.png) Then, change the time between the images to 0.05 and change the animation to Loop to make the animation repeat. ![](/gdevelop5/tutorials/enemy-animation-speed.png) - -Click Apply when you done. - -### Stop! Save time! - -Before going any further, remember to save frequently: Click File and then Save to save your project. ![](/gdevelop5/tutorials/save-project.png) - -### Enemy AI - -Let's go back to the game. We want the enemies moving toward the turret: Go to the event editor and add a new event. What we want to do is creating an enemy every second: Let add a condition Timers and time \> Value of a timer. Enter 1 in the first parameter and “EnemyCreation” for the name of the timer. Don't forget the quotes when you enter the name of the timer. - -Next let add the action to create an enemy object: Add an action Common action for all objects \> Objects \> Create an object. Select enemy in the first parameter. For the second parameter, the X position of the new object to be created, enter the expression Random(800): This will return a random number between 0 and 800, so that each enemy we create will have a different position when they are created. For the Y position, enter -50. This will create the enemy outside the screen, so that the player won't have the feeling that an enemy tank just appeared from nowhere. - -Finally, let add the action to reset the timer ( Timers and time \> Reset a timer with “EnemyCreation” as parameter ). Again, don't forget the quotes when you enter the name of the timer. At this point, our event should look like this: ![](/gdevelop5/tutorials/create-enemy-event.png) - -If we run a preview now, probably we won't notice anything as the enemy is created outside the screen. Let move the enemies toward the player. Add another event without any condition and choose the action Common action for all objects \> Movement \> Add a force to move toward an object. ![](/gdevelop5/tutorials/move-object-toward-other-event.png) On the right side, for the first parameter, select enemy, and select turret for the second parameter. Enter 150 pixels per second for speed, and damping is 0, as the force will be continuously applied. ![](/gdevelop5/tutorials/move-object-toward-another-parameters.png) - -Now if we run a preview we should see that our enemies are moving toward the turret, but you may notice that they don't actually rotate toward the turret so let do something about that. Let add a second action after the movement which is the Common action for all objects \> Angle \> Rotate toward position and for the first parameter on the right select enemy as we are rotating the enemy and for the X and Y position we are going to use an expression to get the Centre point of the turret and make the enemies rotate toward that point and the angular speed is 0 so it is going to rotate immediately. ![](/gdevelop5/tutorials/rotate-object-toward-position.png) At this point our enemy event should look like this: ![](/gdevelop5/tutorials/create-rotate-move-enemies-event.png) - -If we run the preview now, our enemies should move and rotate toward the turret. ![](/gdevelop5/tutorials/turret-screenshot-enemies-moving.png) - -### Adding explosions - -It time to destroy the tanks. The first thing we want to do is create an explosion in position of the tanks when they are collided with the bullet. So let add a new sprite object, name it explosion and add all the images to an animation beginning with Explosion_ ![](/gdevelop5/tutorials/select-all-explosion-images.png) - -After all the images are added to the animation, set the time between the images to 0.01 seconds. ![](/gdevelop5/tutorials/explosion-animation-speed.png) - -Save it by clicking Apply. - -Next, we want to create the explosion when the bullet is in collision with the enemy. Let add a new blank event and add the condition Common conditions for all objects \> Collision \> Collision ![](/gdevelop5/tutorials/collision-check-event.png) And on the right side for the first parameter select bullet and the second parameter select enemy ![](/gdevelop5/tutorials/collision-between-object-condition-parameters.png) - -When it done, let add an action to create the explosion object just the way we have created the bullets and the enemies before but for X and Y position let use the expression enemy.X() and enemy.Y() which is going to get the X and Y position of the enemy object that is in collision with the bullet. ![](/gdevelop5/tutorials/create-explosion-event-parameters.png) - -Finally, add the action after creating the explosion Common actions for all objects \> Object \> Delete an object and on the right side for parameter select the object enemy as we want to delete the enemy. Add the same action again, to also delete the bullet right after the enemy is deleted. At this point our event should look like this ![](/gdevelop5/tutorials/enemy-moving-rotating-exploding.png) - -If we run a preview now, we should notice a few problems. Our explosion objects are not created exactly in the position of the enemy and once it created the explosion object remain in the scene. To solve the second problem, let delete the explosion object after the animations is finished. Add a new empty event and the condition Sprite \> Animations and Images \> Animation finished ![](/gdevelop5/tutorials/animation-finished-event.png) For the parameter on the right select the explosion object as we want to do something if the animation of the explosion object is finished. ![](/gdevelop5/tutorials/check-animation-finished-event-parameter.png) And what we want to do is delete the explosion object so next let add the action, delete the explosion object. - -To solve the first problem we need to understand what is the cause of the problem. When we create the explosion object by using the expression enemy.X() and enemy.Y() we are creating the objects at the origin point of the enemy object which is the top left corner of the enemy and we also creating the explosions from their origin point which is the top left corner of the explosion object. - -To solve the problem, what we need to do is, change the position of the Origin point of the explosion to be in the middle of the object. Let edit the explosion object by right clicking the explosion object and select Edit object from the list. In the next window, select EDIT POINTS. Next we want to change the X and Y position of the Origin point to 120 which is right in the middle of the image ![](/gdevelop5/tutorials/change-origin-point-position.png) - -Next, what we want to do, instead of creating the explosion object at the Origin point of the enemy, we want to create the object at the Centre point. So let change the expression in the create explosion action from enemy.X() to enemy.PointX(Centre) and form enemy.Y() to enemy.PointY(Centre) ![](/gdevelop5/tutorials/create-explosion-new-expression.png) - -If we run a preview now, our enemies should explode and it should also look right. ![](/gdevelop5/tutorials/turret-screenshot-enemies-are-exploding.png) - -### Adding more explosions and a Game Over - -Until now, the player could not die. We want the player's turret to be destroyed when an enemy tank is hitting it. First, add a new event, and do as we did for the event used to destroy the enemies: Add a condition testing for a collision between a tank and the turret. Then create an explosion at the turret position. Finally, add an action to destroy the turret: ![](/gdevelop5/tutorials/delete-turret-on-collision-event.png) - -It would be also interesting to display a “Game Over” text when the turret is destroyed: Add an object to the object list. This time, choose a Text object and name it GameOver. ![](/gdevelop5/tutorials/select-text-object-from-list.png) - -Edit the object by right clicking on the object and and select Edit object from the list. Let change the text to Game Over, the text color to red and the text size to 40. ![](/gdevelop5/tutorials/edit-text-object.png) Finally, let add a text object to our scene. - -What we want to do next, is hide the text object and display it if there is no turret in the scene meaning the turret is destroyed. Let add a new blank event and add the condition Scene \> At the beginning of the scene ![](/gdevelop5/tutorials/at-the-beginning-of-the-scene-condition.png) - -This condition has no parameters because the only thing it does is execute the action only once at the beginning of the scene. Next, add the action to the same event Common Actions for all objects \> Visibility \> Hide ![](/gdevelop5/tutorials/hide-object-event.png) For parameter select the GameOver object as we want to hide this object ![](/gdevelop5/tutorials/hide-object-event-parameter.png) - -Now what we want to do is show the text object if there is no turret in the scene Add a new empty event and add the condition Common conditions for all objects \> Objects \> Objects count ![](/gdevelop5/tutorials/objects-count-condition.png) - -For the first parameter on the right side select the turret object, for sign of test select the equal sign and for value of test enter 0 as we want to test if the number of turret in the scene is 0. ![](/gdevelop5/tutorials/object-count-condition-parameters.png) - -And what we want to do is show the text GameOver if there is no turret in the scene, so add the action Common action for all objects \> Visibility \> Show and for parameter we want to select the GameOver object. ![](/gdevelop5/tutorials/destroy-turret-event.png) - -Finally, an interesting effect is to stop the game and display Game Over with a little delay. Add a second condition Timers and time \> Value of a timer for time parameter enter 0.1 and for name parameter enter "GameOver". Then, add a second action: Timers and time \> Change time scale and enter 0 as parameter to stop the game and display the Game Over text after 0.1 seconds. - -This is what all the events should look like at this point. ![](/gdevelop5/tutorials/all-events.png) You can preview the game and should see that once the turret is destroyed, with a little delay the Game Over text is displayed and the game is stopped. ![](/gdevelop5/tutorials/gameover-screenshot.png) - -### Optimizing the game - -When a bullet get outside the screen, we no longer need that bullet but we still apply movement to it and we are checking collision between the bullet and the tank. Every device has limited resources such as memory and processing power and we are wasting this valuable resources that we need to address otherwise our game may slow down, crash and become unplayable when it rich the limit of the device we are playing our game on. You want your game to be playable on as many devices as possible so you always need to optimize your game and one way to do that is to delete objects that no longer required in our game and this way limit the amount of memory and processing power used by the game. - -We could add an event to destroy the bullets when they are too far from the turret, that is quite easy. But we can also use a behavior. A behavior in GDevelop is adds a certain behavior and feature to an object, in this case we are going to add the Destroy outside screen behavior to the bullets so they get destroyed outside the screen. - -Make a right click on the object in the object list and choose Edit object from the list. In the next window on the top, click the Behaviors tab, this tab going to display all the behaviors we have added to our object. It is empty now. ![](/gdevelop5/behaviors-tab.png) - -Click on the add behavior button ![](/gdevelop5/add-behavior-button.png) - -Next select from the list the Destroy outside screen behavior ![](/gdevelop5/behaviors/destroy-outside-screen-behavior-inlist.png) - -Next you are going to see the behavior is added to the list. Normally if the behavior has any parameters it is also display here so you can change it, but this behavior has no parameters as the only think it does is destroy the object when it outside the screen. Click Apply and we are done. - -If you run the preview now, probably you won't notice any difference as the game is very simple and you most likely using a device with at least 2GB of RAM and a dual core CPU. So there is plenty of resources for our simple game but in case we would create hundreds and thousands of bullets that you are free to try you may notice a little slow down after a while without destroying them. - -### Adding a background - -One last thing to make the game good looking is to add a background. - -Add a Sprite object, name it background and add the background.jpg image to the object. Next, you can add the object to the scene as usual and make sure it fills the entire scene. To make it easier, you can enable the grid using the button on the top and it should help with positioning the object. ![](/gdevelop5/toggle-grid-button.png) But you may notice the background object cover all the other objects, to solve this problem we need to change the Z-order of the object. While the background object is selected, on the left you should notice the object properties. In case you have closed this tab, you can re-open it using the button on the top. ![](/gdevelop5/object-properties-button.png) We can change all kind of properties here such as the positon, angle and size of the object but what we are interested in is the Z-order. ![](/gdevelop5/objects/object-zorder-properties.png) Change the value of the Z-order to a low number, in this case we need a negative number something like - 1. The reason for the negative value is that when we are creating the bullets, enemies and explosions we are creating them at Z-order 0 by default and so we need to position the background below 0 otherwise we won't see anything but the turret in our game. An other way to fix it is to tell GDevelop to position the tanks and explosions and bullets on a higher Z-order so we can position the background at 0 but it is something that you the developer need to decide for your self how you want to do it. Every problem can have number of different solutions. - -And we are done. The game is complete and ready to be shared. - -### Add comments - -So, our game is done and playable but what if you want to share the source with someone else? Let say you are working in a team and someone else would like to make modifications to the game. How that person know where to look for the events for enemies, bullets, the turret? Of course it may sound silly to you as most of the events in GDevelop are self explaining and our game is simple enough to see it through but imagine the situation you have a game made out of hundreds and thousands of events. This is where comments come in handy as we can leave reminders in our game for others and also for our self. Trust me, even though you are the one who made it, in a big complex game, even you won't remember where to find different things especially months later. So always use comments regardless how small or big your project is. - -To add comments, you can simply click the add comment button on the top. ![](/gdevelop5/add-comment-button.png) After you should see a yellow box in the events editor, by clicking in the box you can start writing a comment ![](/gdevelop5/tutorials/comment.png) - -You can change the position of each event and comment by moving the mouse over the blue edge on the left and drag it up and down. Once you done it, you should have something like this: ![](/gdevelop5/tutorials/all-events-with-comments.png) - -### Let's discover GDevelop by yourself - -You can browse the other [](/gdevelop5/tutorials) and read the [](/gdevelop5/getting_started) page. There is also lots of examples and templates bundled with GDevelop and you can find more by visiting: [gametemplates.itch.io](https://gametemplates.itch.io) And you can also ask questions on the [official forum](http://forum.compilgames.net/) diff --git a/docs/fr/gdevelop5/tutorials/breakout.md b/docs/fr/gdevelop5/tutorials/breakout.md deleted file mode 100644 index b15b71b0bad..00000000000 --- a/docs/fr/gdevelop5/tutorials/breakout.md +++ /dev/null @@ -1,650 +0,0 @@ ---- -title: Comment faire un jeu de casse-briques ---- -# Comment faire un jeu de casse-briques - -!!! warning - - Avant de commencer ce tutoriel, vous devriez lire [Commencer](/fr/gdevelop5/getting_started) et [Concepts de base pour créer un jeu](/fr/gdevelop5/tutorials/basic-game-making-concepts) pour avoir un aperçu de GDevelop et une compréhension des principaux concepts. - -Avec ce tutoriel, vous apprendrez quelques tâches de base dans GDevelop tout en créant un jeu amusant. Comme dans le jeu d'arcade classique Breakout, vous allez créer un ensemble de briques qui peuvent être brisées par une balle rebondissante. Le joueur contrôle la balle avec une raquette - une fois que la balle est tombée, c'est la fin du jeu. - -![](/gdevelop5/tutorials/breakout-game/breakout_game_shot.png) - - ----- - -## Créer un nouveau jeu - -Cliquez sur **Create a new project** sur la page d'accueil. Faites défiler vers le bas et choisissez un dossier pour votre projet, puis sélectionnez **Empty game**. - -## Ajouter des ressources de jeu - -!!! tip - - Vous rencontrerez souvent le terme " ressources" lorsque vous travaillerez avec GDevelop. En langage de développement de jeux vidéo, les _ressources_ sont les fichiers qui constituent le contenu du jeu - des choses comme les personnages, les plateformes, les fichiers audio, etc. - -Pour un jeu de casse-briques, vous aurez besoin des ressources suivantes : - - * Fichier image d'une balle - * Fichier image d'une raquette - * Fichier image d'une barrière - * Fichiers d'images de différentes briques - -Téléchargez-les en cliquant sur le lien ci-dessous et extrayez les fichiers dans votre dossier de projet. (Merci à Eric Matyas de soundimage.org pour l'image de la barrière !) -http://www.wiki.compilgames.net/lib/exe/fetch.php/gdevelop5/tutorials/breakout-game/breakout-images.zip - - ----- - -## Ajouter une nouvelle scène - -Les _scènes_ sont les écrans de votre jeu. Par exemple, les différents niveaux d'un jeu sont souvent créés comme des scènes différentes, tout comme les menus de démarrage ou de pause. - -Les scènes contiennent des _objets_ affichés à l'écran en tant que contenu du jeu. Chaque objet que vous placez sur une scène est appelé une _instance_. Votre jeu de casse-briques aura plusieurs instances de l'objet brique sur une scène de niveau de jeu. Les scènes contiennent également des _événements_ - des actions qui se produisent dans des conditions spécifiques - pour animer la scène. - -Pour ajouter une nouvelle scène : - - - Dans le panneau **Project** sur la gauche, cliquez sur **+** pour ajouter une scène. - -![](/gdevelop5/tutorials/breakout-game/newscene.jpg) - - - Une nouvelle scène est ajoutée à la liste. Cliquez sur **NewScene** pour l'ouvrir. - -![](/gdevelop5/tutorials/breakout-game/blank_scene.jpg) - - ----- - -## Créer l'objet raquette -Commencez par ajouter la raquette à la scène. Le joueur déplace cette raquette en ligne droite vers la gauche et vers la droite afin de faire rebondir la balle et d'éviter qu'elle ne tombe hors du jeu. - - - Dans le panneau **Objects** sur la droite, cliquez sur **+** pour ajouter un objet. - -![](/gdevelop5/tutorials/breakout-game/add-object.jpg) - -Une fenêtre apparaîtra, affichant les différents types d'objets que vous pouvez ajouter. Chaque type d'objet possède son propre ensemble de caractéristiques. - -![](/gdevelop5/tutorials/object_types.jpg) - - - Pour la raquette, vous avez besoin du type d'objet Sprite. Cliquez sur **Sprite**. -!!! tip - - Les _Sprites_ sont des objets animés qui sont utilisés pour de nombreux éléments de jeu courants (joueurs, plateformes, ennemis, briques, etc.). - -Le nouvel objet est ajouté à votre scène et la boîte de dialogue de l'éditeur d'objet s'ouvre. - -![](/gdevelop5/tutorials/empty_object_editor.jpg) - -Pour l'instant, votre objet sprite n'a pas d'animations, ni d'images associées. - - - Cliquez sur **+** pour ajouter une animation. - - Cliquez sur **+** dans la vignette vierge pour ajouter une image à l'animation. - - Sélectionnez l'image appelée "paddle.png" dans votre dossier de projet et cliquez sur **Ouvrir**. L'image est ajoutée à l'objet. - -![](/gdevelop5/tutorials/paddle_animation.jpg) - - - - Dans le champ **Object Name**, tapez **Paddle** pour renommer votre objet. - - - Cliquez sur **Apply** pour enregistrer et fermer l'éditeur. - -!!! warning - - Les noms d'objets sont sensibles à la casse, tout comme les autres éléments de GDevelop. Soyez cohérent dans votre dénomination pour éviter les erreurs fréquentes comme taper "Paddle" quand vous voulez dire "paddle". Il en va de même pour les noms d'animation comme "Run" ou "run" - peu importe la convention de nommage que vous utilisez tant que vous êtes cohérent. - - ----- - -### Ajouter l'objet raquette à la scène - -Pour afficher la raquette dans votre jeu, vous devez l'ajouter à votre scène. Comme une seule raquette est nécessaire, on l'appelle une instance _unique_. D'autres objets, comme les briques, auront plusieurs instances dans votre scène. - - - Pour ajouter la raquette à la scène, cliquez et faites-la glisser du panneau **Objets** vers la scène. Placez-la près du fond. - -![](/gdevelop5/tutorials/paddle_drag.gif) - ----- - -## Créer l'objet barrière - -Ensuite, vous ajouterez une barrière visuelle qui apparaîtra pour empêcher la balle de rebondir sur l'écran. La barrière sera faite avec un sprite en mosaïque. Les sprites en mosaïque sont des objets répétables et évolutifs, utiles pour créer des plateformes, des murs et d'autres objets inanimés. - -Pour créer l'objet barrière : - - - Dans le panneau **Objects** à droite, cliquez sur **+** pour ajouter un objet. - - Cliquez sur **Tiled Sprite**. - - Dans la boîte de dialogue **Object Editor**, cliquez sur **+** pour ajouter une animation. - - Cliquez sur **+** dans la vignette vierge pour ajouter une image. - - Sélectionnez "barrier.jpg" dans le dossier de votre projet et cliquez sur **Open**. - - Dans le champ **Object Name**, renommez votre objet "Barrier". - - Cliquez sur **Apply** pour enregistrer et fermer l'éditeur d'objet. - ----- - -### Ajouter l'objet barrière à la scène - -Vous devrez ajouter trois instances de votre objet barrière à votre scène - une barrière gauche, une barrière droite et une barrière supérieure. La taille par défaut de la fenêtre du jeu est de 800 x 600 pixels, ce qui correspond au contour gris de votre vue de la scène. Créez votre barrière légèrement à l'intérieur de ces limites. - -!!! note - - Déplacez et redimensionnez les objets avec précision en utilisant le **panneau des propriétés** qui s'ouvre lorsque vous cliquez sur une instance d'objet. - - - - Glissez et déposez la première instance de la barrière sur la scène. - - Cliquez sur la barrière. Redimensionnez-la à 15 x 585 avec le panneau Propriétés ou en faisant glisser la poignée en bas à droite. Placez-la sur le côté gauche de l'écran à (15, 15). - - Créez une barrière correspondante sur le côté droit et positionnez-la à (770,15). - - Ajoutez une dernière barrière en haut pour relier les deux. Redimensionnez-la à 770 x 15, et positionnez-la à (15, 15). - -![](/gdevelop5/tutorials/breakout-game/barriers_added.jpg) - ----- - - -## Faire bouger la raquette - -Le joueur contrôlera la raquette en utilisant les flèches gauche et droite du clavier. Vous pouvez créer ces contrôles à l'aide d'_événements_ (actions qui se produisent si les conditions sont vraies). - -Créez un événement pour lequel si le joueur appuie sur la flèche gauche du clavier, la raquette se déplace vers la gauche : - - - Cliquez sur l'onglet **NewScene (Events)** pour ouvrir l'**Events Editor**. - - Cliquez sur **Add a new empty event** ![](/gdevelop5/tutorials/breakout-game/empty_event_button.jpg). - - Cliquez sur **Add condition**. -![](/gdevelop5/tutorials/breakout-game/add-condition.jpg) - - - Cliquez sur **Keyboard > Key pressed**. -![](/gdevelop5/tutorials/breakout-game/keyboard-key-pressed.jpg) - - - Dans le champ **Key**, tapez **Left** et cliquez sur **OK**. Cette condition est vraie si le joueur appuie sur la flèche gauche du clavier. - -Vous devez maintenant ajouter une action correspondante à la condition. La raquette doit se déplacer vers la gauche sur un axe horizontal si la condition est remplie. - -!!! tip - - Pour déplacer des objets avec une force appliquée, vous devez spécifier un angle. L'image ci-dessous illustre comment GDevelop comprend l'angle de rotation. - Sur un axe horizontal, la gauche est de 180°, la droite est de 0°. - ![](/gdevelop5/tutorials/breakout-game/angles.png) - - - Cliquez sur **Add action**. - - - Cliquez sur **Common actions for all objects > Movement > Add a force (angle).** - - - Sélectionnez **Paddle** dans le champ **Object**. - - - Dans le champ **Angle**, tapez **180**. - - - Dans le champ **Speed (in pixels per second)**, tapez **300**. - - - Cliquez sur **Instant**. - - - Cliquez sur **OK**. - -![](/{ /gdevelop5/tutorials/breakout-game/add_force_to_paddle.jpg) - -!!! tip - - C'est le bon moment pour sauvegarder votre travail. Prenez l'habitude de sauvegarder régulièrement. Vous pouvez appuyer sur **Ctrl+S** pour sauvegarder votre jeu, ou utiliser votre souris et aller sur **File>Save**. - ----- - - -Utilisez la fonction de prévisualisation pour vérifier votre travail. Cliquez sur le bouton **Launch a preview of the scene** ![](/{/gdevelop5/tutorials/breakout-game/preview-button.jpg) - -Appuyez sur votre flèche gauche pour déplacer la raquette. Vous verrez que la raquette ne s'arrête pas lorsqu'elle atteint la barrière - elle continue juste hors de l'écran. Vous pouvez y remédier en fermant la fenêtre de prévisualisation et en ajoutant une autre condition au mouvement de la raquette. - -Pour ajouter une autre condition pour arrêter la raquette : - - - Dans le même condition, sous votre première condition, cliquez sur **Add condition**. - - - Cliquez sur **Common conditions for all objects > Position > Compare X position of an object**. - - - Dans le champ **Objet**, sélectionnez **Paddle**. - - - Dans le champ **Sign of the test**, sélectionnez **> (greater than)**. - - - Dans le champ **X Position**, saisissez la coordonnée X du côté droit de la barrière gauche. Dans cet exemple, il s'agit de 30. - - - Cliquez sur **OK**. - -![](/gdevelop5/tutorials/breakout-game/x_position.jpg) - - -Prévisualisez à nouveau votre jeu. La raquette doit s'arrêter au moment où elle heurte la barrière de gauche. - -Vous devez maintenant créer le même événement pour le côté droit. Essayez-le vous-même avant de lire le processus ci-dessous. - - * Cliquez sur **Add a new empty event**. - * Cliquez sur **Add condition**. - * Cliquez sur **Keyboard > Key pressed**. - * Dans le champ **Key**, tapez **Right**. - * Cliquez sur **OK**. ----- - - * Cliquez sur **Add action**. - * Cliquez sur **Common actions for all objects > Movement > Add a force (angle).** - * Dans le champ **Object**, sélectionnez **Paddle**. - * Dans le champ **Angle**, tapez **0**. - * Dans le champ **Speed (in pixels per second)**, tapez **300**. - * Dans le champ **OK**, tapez **OK**. ----- - - * Cliquez sur **Add condition**. - * Cliquez sur **Common conditions for all objects > Position > Compare X position of an object**. - * Dans le champ **Object**, sélectionnez **Paddle**. - * Dans le champ **Sign of the test**, sélectionnez **< (less than)**. - * Dans le champ **X position**, saisissez la coordonnée X du côté gauche de la barrière droite. Dans cet exemple, il s'agit de 770. - * Cliquez sur **OK**. - - -Prévisualisez votre jeu pour vous assurer qu'il fonctionne. - -!!! tip - - Trouvez-vous que votre raquette passe toujours la barrière de droite ? C'est parce que GDevelop utilise le point le plus haut à gauche d'un objet pour comparer les positions X. Une façon simple de résoudre ce problème est de soustraire la largeur de la raquette de la coordonnée X de votre barrière. Dans notre exemple, la raquette a une largeur de 58 px, donc la nouvelle position X pour arrêter la raquette sur le côté droit devrait être **< 712** (770 - 58). Modifiez-la maintenant. - - ----- - - -## Ajouter des commentaires dans l'éditeur d'événements -Lorsque vous travaillez dans votre éditeur d'événements, il est bon d'ajouter des commentaires pour chaque série d'événements. Vous pourrez trouver et comprendre rapidement vos événements au fur et à mesure de l'évolution de votre jeu si vous les commentez au fur et à mesure de votre travail. - - - Pour ajouter une ligne de commentaire, cliquez sur **Add a comment**. ![](/gdevelop5/tutorials/breakout-game/add_a_comment.jpg) - - - Saisissez le texte de votre commentaire et utilisez la barre bleue à gauche du commentaire pour le faire glisser et le déposer où vous le souhaitez. - -![](/gdevelop5/tutorials/breakout-game/moved_comment.jpg) - - ----- - - -## Bougez la balle - Partie 1 - -La prochaine étape consistera à ajouter l'objet en forme de balle à la scène. Comme vous l'avez fait avec la raquette, ajoutez l'objet balle comme un sprite en utilisant ball-1.png comme animation. Glissez et déposez la balle juste au-dessus de la raquette dans la scène. - -Lorsque vous pensez au jeu, la balle devra faire quatre choses : - - * Se déplacer lorsque le joueur commence le jeu - * Rebondir lorsqu'elle entre en collision avec la raquette ou avec la barrière - * Casser les briques et rebondir lorsqu'elle entre en collision avec des briques - * Fin du jeu quand elle tombe de l'écran sous la raquette - - -### Mettre la balle en mouvement - - -Pour faire bouger la balle lorsque le joueur appuie sur la barre d'espace pour démarrer : - - - * Dans l'onglet **NewScene (Events)**, cliquez sur **Add a new empty event**. - - * Cliquez sur **Add condition**. - - * Cliquez sur **Keyboard > Key pressed**. - - * Dans le champ **Key**, tapez **Space** et cliquez sur **OK**. - - -![](/gdevelop5/tutorials/breakout-game/space_bar.jpg) - ----- - - * Cliquez sur **Add action**. - * Cliquez sur **Common actions for all objects > Movement > Add a force (angle)**. - * Dans le champ **Object**, sélectionnez **Ball**. - * Dans le champ **Angle**, tapez **-45+RandomInRange(-5, 5)**. Cela lancera la balle à un angle de -45 degrés, avec une variation aléatoire supplémentaire de 5 degrés dans les deux sens pour ajouter un défi au joueur. - -!!! tip - - Vous n'avez pas besoin de mémoriser toutes les expressions. Vous pouvez ouvrir l' **Éditeur d'expressions** pour vous aider à remplir les champs. ![](/gdevelop5/tutorials/breakout-game/expression_editor_button.jpg) Dans ce cas, vous pourriez taper **-45** dans le champ **Angle** puis cliquer sur **Expression Editor** et rechercher par **Random**. L'expression **Random integer in range** avec une valeur minimale de -5 et une valeur maximale de 5 générera RandomInRange(-5, 5) dans votre champ. Vous pouvez l'utiliser dans votre calcul de vitesse comme vous le souhaitez. - - * Dans le champ **Speed (in pixels per second)**, tapez **300**. Ajustez cela comme vous le souhaitez ; plus le chiffre est élevé, plus l'objet est rapide. - * Cliquez sur **Permanent**, car vous voulez que la balle continue à se déplacer tout au long du jeu. - * Cliquez sur **OK**. - -![](/{ /gdevelop5/tutorials/breakout-game/ball-start-movement.jpg) - -C'est le bon moment pour ajouter un commentaire, enregistrer et prévisualiser votre jeu. La balle doit se déplacer lorsque vous appuyez sur la barre d'espace. - - ----- - - -### Faire rebondir la balle sur la barrière et la raquette - -Pour une bonne jouabilité, votre balle doit rebondir de manière réaliste chaque fois qu'elle entre en collision avec la barrière, la raquette ou une brique. GDevelop a un comportement de rebond facile que vous pouvez appliquer à n'importe quel objet pour simuler un rebond réel. - -#### Ajouter un comportement de rebond - -Pour ajouter un comportement de rebond à votre objet balle : - - * Dans l'onglet **NewScene**, cliquez sur **⋮** à côté de votre objet "Balle" et cliquez sur **Edit object**. - * Cliquez sur l'onglet **Behaviors**. - * Cliquez sur **+** pour ajouter un nouveau comportement à l'objet. - * Le comportement de rebond n'est pas un comportement installé, vous devez donc le trouver. Cliquez sur l'onglet **Recherche de nouveaux comportements**. - * Dans la liste du bas, sélectionnez **Bounce** et cliquez sur **Install in project**. -![](/gdevelop5/tutorials/breakout-game/add_bounce_behaviour.png) - - * Vous pouvez maintenant ajouter le nouveau comportement à l'objet. Faites défiler vers le bas, sélectionnez **Bounce**, et cliquez sur **Apply**. - -![](/gdevelop5/tutorials/apply_bounce.png) - -Votre balle est maintenant prête à rebondir ! - ----- - -#### Ajouter les événements de collision - -Ensuite, ajoutez des événements pour faire rebondir la balle sur la barrière et la raquette. Il est temps d'ajouter une condition que vous utiliserez beaucoup dans la création de jeux : une condition de _collision_. - -Pour créer une condition de collision entre la balle et la barrière : - - * Dans l'onglet **NewScene (Events)**, cliquez sur **Add a new empty event**. - * Cliquez sur **Add condition**. - * Cliquez sur **Common conditions for all objects > Collision > Collision**. - * Dans le premier champ **Object**, sélectionnez **Ball**. Dans le deuxième champ **Object**, sélectionnez **Barrier**. - * Cliquez sur **OK**. - ----- - -Pour ajouter l'action qui fait que la balle rebondit sur la barrière en cas de collision : - - * Cliquez sur **Add action**. - * Cliquez sur **Bounce > Bounce > Bounce off another object**. - * Dans le champ **Object**, sélectionnez **Ball**. - * Dans le champ **Object to bounce on**, sélectionnez **Barrier**. - * Cliquez sur **OK**. - -![](/gdevelop5/tutorials/breakout-game/add_bounce_action_in_event.png) - ----- - -Vous devez maintenant faire exactement la même chose pour faire rebondir la balle sur la raquette. Créez un nouvel événement, définissez votre condition de collision et ajoutez l'action pour faire rebondir la balle. - -!!! tip - - Vous pouvez faire un clic droit et copier une condition ou une action précédente, puis faire un clic droit pour la coller dans un nouvel événement. C'est un moyen facile d'économiser du temps et des efforts, surtout lorsque vous avez affaire à des événements similaires ! - - -Enregistrez et prévisualisez votre jeu. Ça commence à devenir amusant... - - ----- - -## Ajoutez les briques - - -Votre balle doit casser quelque chose ! La prochaine étape consistera à ajouter des briques à la scène. Pour en apprendre plus sur les calques externes, ce tutoriel fera apparaître les briques dans différents calques. - -Pour ajouter vos briques : - - * Cliquez sur l'onglet **NewScene** pour accéder à l'éditeur de scène. - * Dans le panneau **Object**, cliquez sur **+** pour ajouter un nouvel objet. - * Nommez cet objet **Brick**. Donnez-lui trois animations séparées en utilisant les fichiers brick-green.png, brick-red.png et brick-yellow.png de votre dossier de projet. Nommez les animations en conséquence. - * Cliquez sur **Appliquer**. - -![](/gdevelop5/tutorials/brick_colours.png) - ----- - -### Créer des mises en page externes - -Vous pouvez utiliser des mises en page externes pour créer différents niveaux avec différentes formations de briques. - Une _mise en page externe_ est une couche d'objets qui est créée en dehors d'une scène, mais qui peut être insérée dynamiquement à n'importe quel endroit. - -Pour créer une mise en page externe : - - * Cliquez sur le bouton **Project manager** en haut à gauche. ![](/{/gdevelop5/tutorials/breakout-game/project_manager.jpg) - * Cliquez sur **External layouts** et **+** pour ajouter une mise en page externe. - * Cliquez sur **⋮** à côté de votre nouvelle mise en page et renommez-la **Layout1**. - -![](/gdevelop5/tutorials/breakout-game/external_layout_add.png) - - * Cliquez sur **Layout1**. Il vous sera demandé de choisir la scène dans laquelle il sera inclus. Choisissez **NewScene** - c'est la scène où se déroule tout le jeu. Un nouvel onglet s'ouvrira et ressemblera à votre NewScene existante. - * Ajoutez des briques dans la configuration de votre choix. Amusez-vous bien avec cette partie - soyez créatif ! - -!!! tip - - Pour accélérer les choses, cliquez ou sélectionnez des objets puis maintenez la touche Ctrl enfoncée, cliquez et faites glisser pour reproduire les instances à l'écran. En maintenant Ctrl+Maj enfoncé, les nouvelles instances restent sur le même axe X ou Y. - - - ![](/gdevelop5/tutorials/breakout-game/duplating_objects.gif) - - - * Créez deux ou plusieurs nouvelles mises en page et nommez-les Layout1, Layout2, etc. - -!!! warning - - Suivez la convention d'appellation Layout1, Layout2, etc. Elle sera bientôt liée à une variable. - - ----- - -### Faire apparaître une disposition aléatoire des briques - -Pour faire apparaître une disposition aléatoire au début de chaque scène, ajoutez d'abord votre condition : - - * Cliquez sur l'onglet **NewScene (Events)** pour retourner dans votre éditeur d'événements. - * Cliquez sur le bouton **Add a new empty event** (Ajouter un nouvel événement vide). - * Cliquez sur le bouton **Add condition**. - * Cliquez sur **Scene > At the beginning of the scene** (Scène > Au début de la scène). - - ---- - -Plutôt que d'attacher des actions à cette condition, vous allez maintenant créer des sous-événements qui se produisent au début de la scène. - -Pour commencer, créez une nouvelle variable de scène appelée Random_layout : - - * Cliquez sur un espace vide dans l'événement que vous venez de créer et cliquez sur le bouton **Add a sub-event to the selected event**. ![](/gdevelop5/tutorials/breakout-game/subevent_button.jpg) - * Dans le nouveau sous-événement, cliquez sur **Add action**. - * Cliquez sur **Variables > Value of a scene variable**. - * Dans le champ **Variable**, tapez **Random_layout** pour créer une nouvelle variable de scène. - * Dans le champ **Modification's sign**, sélectionnez **= (set to)**. - * Dans le champ **Valeur**, tapez **Random(2)+1**. - * Cliquez sur **OK**. - -![](/gdevelop5/tutorials/breakout-game/modify_scene_variable_value.jpg) - -!!! tip - - Essayez d'utiliser l'éditeur d'expression pour créer vos expressions. ![](/gdevelop5/tutorials/breakout-game/expression_editor_button.jpg) - - Plus vous jouerez avec les expressions, plus vous comprendrez la logique qui les sous-tend. N'ayez pas peur d'expérimenter ! - ----- - -Vous allez maintenant associer votre numéro de variable au nom de la mise en page externe Layout. Ce nom déterminera la mise en page qui apparaîtra à l'écran. (C'est pourquoi il était important d'être cohérent en les nommant plus tôt). - -Pour ajouter une disposition aléatoire de briques au début de la scène : - - * Ajoutez un autre sous-événement pour le début de la scène, puis cliquez sur **Add action**. - * Cliquez sur **External layouts > Create objects from an external layout**. - * Dans le champ **Name of the external layout**, tapez **" Layout " + ToString(Variable(Random_layout))**. Cela ajoutera aléatoirement un des modèles externes à la scène. - * Cliquez sur **OK**. - -![](/gdevelop5/tutorials/breakout-game/random_layout_selection.jpg) - - ----- - -Vous pouvez ajouter de l'intérêt en rendant la couleur de la brique aléatoire au début de chaque scène. - -Pour choisir une couleur de brique aléatoire : - - * Ajoutez un autre sous-événement pour le début de la scène, puis cliquez sur **Add action**. - * Cliquez sur **Variables > Value of a scene variable**. - * Dans le champ **Variable**, tapez **Brick_colour**. - * Dans le champ **Signe de modification**, sélectionnez **= (set to)**. - * Dans le champ **Value**, tapez **Random(2)**. - * Cliquez sur **OK**. - -![](/gdevelop5/tutorials/modify_scene_variable_value2.png) - - ----- - - * Ajoutez un dernier sous-événement pour le début de la scène, puis cliquez sur **Add action**. - * Cliquez sur **Sprite > Animations et images > Change the animation**. - * Dans le champ **Object**, sélectionnez **Brick**. - * Dans le champ **Modification's sign**, sélectionnez **= (set to)**. - * Dans le champ **Value**, tapez **Variable( Brick_colour)**. - * Cliquez sur **OK**. - -![](/gdevelop5/tutorials/breakout-game/brick_colour_change.jpg) - -Enregistrez et prévisualisez votre jeu. Un joueur verra maintenant une disposition externe choisie au hasard avec des briques d'une couleur aléatoire à chaque fois que le jeu sera lancé. - - ----- - -## Déplacez la balle - Partie 2 -### Faire rebondir la balle sur les briques - -Maintenant que vous avez des briques sur la scène, vous voulez que la balle rebondisse sur les briques lorsqu'elle les frappe. Exactement comme vous l'avez fait avec la raquette et la barrière, vous devrez : - - - Créer un nouvel événement. - - Ajouter une condition de collision entre la balle et la brique. - - Faire rebondir votre balle loin des briques. - - Objects > Delete an object**. - * Dans le champ Objet, sélectionnez **Brick**. - * Cliquez sur **OK**. - -![](/gdevelop5/tutorials/breakout-game/delete_a_brick.jpg) - -Enregistrez et prévisualisez votre jeu. Vous devriez être capable de faire rebondir la balle sur la raquette et de détruire les briques. C'est le bon moment pour vérifier à nouveau votre vitesse - voulez-vous que la balle ou la raquette soit plus rapide ou plus lente ? Si oui, jouez avec vos valeurs de vitesse jusqu'à ce que vous soyez satisfait du jeu. - ----- -## Gagner ou perdre le jeu - -Si le joueur casse toutes les briques, le jeu doit le féliciter en lui offrant la possibilité de jouer à nouveau. Si le joueur rate la balle avec la raquette, il doit dire au joueur qu'il a perdu et lui donner la possibilité de jouer à nouveau. - -### Créer un message de félicitations - -Vous voulez que le message de félicitations soit caché, pour n'apparaître que lorsque toutes les briques ont disparu. - -Pour ajouter un objet texte à la scène : - - * Cliquez sur l'onglet **NewScene**. - * Dans le panneau **Objects**, cliquez sur **+** pour ajouter un nouvel objet et sélectionnez **Text**. - * Dans le champ **Nom de l'objet**, tapez **Congratulations**. - * Dans le champ **Text**, tapez un message de félicitations (par exemple : Félicitations ! Vous avez effacé tous les blocs !). Incluez également une ligne disant au joueur "Appuyez sur Entrée pour rejouer". - * Cliquez sur **Apply**. - -![](/gdevelop5/tutorials/breakout-game/congratulations_message.jpg) - - * Glissez et déposez votre objet Congratulations au milieu de la scène. - - ----- - -Pour cacher votre objet texte au début de la scène : - - * Cliquez sur **NewScene (Events)**. - * Allez à l'événement existant contenant la condition "At the beginning of the scene" et cliquez sur **Add action**. - * Cliquez sur **Common actions for all objects > Visibility > Hide**. - * Dans le champ **Object**, sélectionnez **Congratulations**. - * Cliquez sur **OK**. - -![](/{ /gdevelop5/tutorials/breakout-game/hide_congratulations.jpg) - - ----- - -Pour faire apparaître votre objet texte lorsque toutes les briques sont détruites : - - * Cliquez sur le bouton **Add a new empty event**. - * Cliquez sur **Add condition**. - * Cliquez sur **Common conditions for all objects > Objects > Number of objects**. - * Dans le champ **Object**, sélectionnez **Brick**. - * Dans le champ **Sign of the test**, sélectionnez **= (égal à)**. - * Dans le champ **Value**, tapez **0**. - * Cliquez sur **OK**. - ----- - -S'il y a 0 brique, la balle doit être supprimée et l'objet de félicitations doit être rendu visible. -Ces deux actions sont communes à tous les objets. Ajoutez-les maintenant. - -![](/gdevelop5/tutorials/breakout-game/if_no_bricks.png) - ----- - -Vous voulez également donner au joueur la possibilité de commencer une nouvelle partie : - - * Créer un nouveau sous-événement ![](/gdevelop5/tutorials/breakout-game/subevent_button.jpg) à l'événement que vous venez de créer où le nombre d'objets brique est =0. - * Cliquez sur **Add Condition**. - * Cliquez sur **Keyboard > Key pressed**. - * Dans le champ **Key**, tapez **Return**. (N'oubliez pas que le message de félicitations indique au joueur d'appuyer sur la touche Entrée pour recommencer). - * Cliquez sur **OK**. - ----- - -Ajoutez une action pour revenir à la première scène : - - * Cliquez sur **Add action**. - * Cliquez sur **Scene > Change the scene**. - * Dans le champ **Name of the new scene**, tapez **"NewScene"**. N'oubliez pas les guillemets ! - * Cliquez sur **OK**. - -Maintenant, lorsque le joueur casse toutes les briques, il recevra un message de félicitations et la possibilité de recommencer ! - ----- - -### Créer un message de fin de partie - -Si le joueur rate la balle, la partie est terminée. Tout comme si un joueur gagne, il s'agira de rendre un message visible au moment opportun et de donner au joueur la possibilité de rejouer. - -Tout d'abord, ajoutez un objet texte à la scène qui restera caché à moins que le joueur ne rate la balle. - -Suivez les mêmes étapes que pour créer l'objet Félicitations à l'écran, mais changez le message en "Game Over". Incluez la ligne concernant le fait de recommencer. Appelez cet objet texte **GameOver**. - -Glissez et déposez votre objet GameOver au milieu de la scène. C'est bon s'il est au-dessus de l'objet Congratulations. - ----- - -Ensuite, allez dans l'éditeur d'événements pour cacher votre objet GameOver au début de la scène. - -Suivez les mêmes étapes pour cacher l'objet GameOver que pour l'objet Congratulations. Ajoutez-le comme deuxième action à l'événement. -![](/gdevelop5/tutorials/breakout-game/gameover_hide.png) - ----- - -L'étape suivante consistera à faire réapparaître le message si le joueur rate la balle. Pour ce faire, vous avez besoin d'une condition qui vérifie si la position Y de la balle se trouve en dehors de la fenêtre de jeu. - -Pour ajouter une condition permettant de vérifier si le joueur a manqué la balle : - - * Cliquez sur le bouton **Add a new empty event**. - * Cliquez sur le bouton **Add condition**. - * Cliquer sur **Common conditions for all objects > Position > Compare Y position of an object**. - * Dans le champ **Object**, sélectionnez **Ball**. - * Dans le champ **Sign of the test**, sélectionnez **> (greater than)**. - * Dans le champ **Value**, tapez **600**. (600 est la hauteur de la fenêtre de jeu par défaut, ce qui signifie que la balle est hors écran). - * Cliquez sur **OK**. - -Ajoutez une action correspondante pour rendre l'objet GameOver visible. Vous devez également ajouter un sous-événement qui entraîne la suppression de la balle et le redémarrage du jeu si le joueur appuie sur Entrée. Ajoutez-les maintenant. - -![](/gdevelop5/tutorials/breakout-game/player_misses_ball.png) - - -Enregistrez et prévisualisez votre jeu. - ----- - -#### C'est bon ! Vous avez terminé votre premier jeu de base. - -Maintenant que vous avez appris les bases, essayez de changer les vitesses, la disposition des briques, etc. pour le rendre plus difficile. Vous pouvez ajouter un système de points où les points augmentent avec chaque brique détruite, ou vous pouvez faire en sorte que la balle augmente de vitesse avec chaque scène. Comme le comportement de rebondissement dépend de l'angle et de la vitesse de la force appliquée, vous pouvez aussi vous amuser à jouer avec la forme de la raquette, à ajouter des obstacles plus difficiles, etc. - -Ce serait également un bon exercice d'ajouter des instructions au début de la scène qui disparaissent lorsque le jeu commence (voir la toute première image de ce tutoriel). - -**D'autres tutoriels seront bientôt disponibles, mais en attendant, expérimentez et jouez ! \ No newline at end of file diff --git a/docs/fr/gdevelop5/tutorials/endless-runner.md b/docs/fr/gdevelop5/tutorials/endless-runner.md deleted file mode 100644 index a303a0e3655..00000000000 --- a/docs/fr/gdevelop5/tutorials/endless-runner.md +++ /dev/null @@ -1,392 +0,0 @@ ---- -title: Un tutoriel pour débutants de jeu de course infinie ---- -# Un tutoriel pour débutants de jeu de course infinie - -> ![](/gdevelop5/tutorials/endlessrunnergame_intro.png) Ce tutoriel vous aidera à vous familiariser avec le fonctionnement de GDevelop. Dans ce tutoriel, nous allons créer un jeu de course sans fin très basique où **les plateformes sont générées de manière aléatoire** et où le joueur doit se déplacer pour éviter d'être poussé hors de l'écran. Il y a également un **système de score** qui met à jour le score lorsque le joueur est en action. -> -> Pour connaître les bases du fonctionnement du logiciel, vous pouvez vous référer à la page [Commencer](/fr/gdevelop5/getting_started) pour plus d'informations. -> - - -## Télécharger GDevelop - -Si vous n'avez pas encore installé GDevelop, téléchargez-le depuis le site officiel : [GDevelop App](https://gdevelop.io/fr-fr/download/). - -Il est conseillé de toujours vérifier la page ci-dessus pour les dernières versions de GDevelop et de garder le logiciel à jour à tout moment. Une fois que vous avez téléchargé et installé le logiciel, lorsque vous lancez le programme, vous serez accueilli par un écran "Start". - -![](/gdevelop5/tutorials/gdevelopstartscreen.png) - -Pour plus de confort, vous pouvez changer la langue par défaut pour le français. - -## Principaux éléments du jeu - -#### ☆Player Sprite - -![](/gdevelop5/tutorials/p1_stand.png) C'est le personnage principal que l'utilisateur va contrôler. Le sprite joueur doit "sauter" pour éviter les obstacles et rester dans l'écran. Il possède des animations **Idle**, **Run** et **Jump**. - -#### ☆Platformes/Obstacles - -![](/gdevelop5/tutorials/endlessrunnerplatform.png) Ce sont les blocs mobiles que le sprite du joueur doit éviter. Ces blocs seront rencontrés par le joueur de manière aléatoire. - -#### ☆Affichage du score - -Ce bloc de texte met à jour et affiche le score pendant que le Sprite joueur est en action. - -> -> -> #### Télécharger les ressources -> -Vous aurez besoin d'images que vous pourrez utiliser pour créer les personnages, les plateformes et les arrière-plans du jeu. Trouvez toutes les ressources dont vous avez besoin pour ce jeu par ![ici](/gdevelop5/tutorials/endless_runner_resources.rar). - -## Étape 1 : Créer un nouveau projet - -Une fois sur l'écran de démarrage, cliquez sur le bouton "Créer un nouveau projet". - -Une boîte de dialogue "Créer un nouveau jeu" apparaît. - -Vous pouvez choisir de personnaliser l'emplacement de votre projet. - -![](/gdevelop5/tutorials/store_location_for_endless_runner.png) - -Cliquez sur l'option "Choisir un dossier" pour choisir l'emplacement de votre choix. Les fichiers du projet de jeu seront stockés à cet emplacement. - -Ensuite, faites défiler la liste et trouvez l'onglet "Jeu vide". Cliquez dessus pour ouvrir un nouveau projet. - -![](/gdevelop5/tutorials/screeenshot_na_test.png) - -## Etape 2 : Création d'une nouvelle scène - -Un jeu repose sur des scènes pour différents scénarios de jeu. Nous pouvons créer et utiliser plusieurs scènes, mais pour ce tutoriel, nous n'avons besoin que de **1 Scène**. Créons une nouvelle scène. - -![](/gdevelop5/tutorials/new_scene_creation_for_endless_runner.png) - -Cliquez sur la zone où il est indiqué `Cliquez pour ajouter une Scène` pour créer votre première scène vide. - -Vous pouvez personnaliser le nom de votre scène en cliquant sur les trois points à côté de la scène créée et en cliquant sur `Renommer`. - -> Vérifiez que vous avez déjà téléchargé l'archive mentionnée précédemment. Vous en aurez besoin pour les sprites du jeu.tip - -## Étape 3 : travailler sur la nouvelle scène - -Cliquez sur la scène que nous avons créée à l'étape précédente pour ouvrir l' **Éditeur de scène**. C'est ici que nous allons créer les éléments du jeu. - -![](/gdevelop5/tutorials/new_scene_for_endless_runner.png) - -Vous devriez voir l'onglet **Objet** et l'onglet **Propriétés**. ![](/gdevelop5/tutorials/screenshot_20190523182052.png) ![](/gdevelop5/tutorials/screenshot_20190523182628.png) Si par hasard, vous ne voyez pas ces onglets, cliquez sur l'icône affichée à gauche pour ouvrir l'onglet "Objets". De même, cliquez sur l'icône de droite pour ouvrir l'onglet "Propriétés". - -> La dernière version de GDevelop vous avertira si vous essayez de charger une ressource qui n'est pas dans l'emplacement de votre projet de jeu. Veillez à toujours placer vos images dans le même dossier que le jeu (ou un sous-dossier). Sinon, si vous déplacez votre jeu, cela brisera les liens vers les images. Décompressez l'archive fournie dans le dossier du jeu et utilisez ces images. tip - -## Etape 4 : Création d'un sprite de joueur - -Comme mentionné dans la section **Éléments principaux du jeu**, nous avons besoin d'un personnage que l'utilisateur peut contrôler. Notez que, comme il s'agit d'un jeu de course sans fin, nous voulons seulement que le personnage saute pour éviter les obstacles qui se présentent sur son chemin afin de rester en vie. - -![](/gdevelop5/tutorials/screenshot_20190523183140.png) - -Cliquez sur la zone `Ajouter un nouvel objet` dans l'onglet Objets pour créer votre premier objet. Une boîte de dialogue s'ouvre et présente les différents types d'objets. cliquez sur l'onglet "Nouvel objet à partir de zéro". Pour notre personnage, nous avons besoin d'un objet de type **Sprite**, où nous pouvons ajouter des animations pour que le personnage soit **Idle**, **Jump**, ou **Running**. - -![](/gdevelop5/tutorials/screenshot_20190523183646.png) - -En cliquant sur "Sprite(image animée)", une boîte de dialogue permettant de modifier les propriétés de l'objet Sprite apparaît. Nous allons maintenant ajouter des animations pour notre personnage. Pour ajouter votre première animation, cliquez simplement sur le bouton "+Ajouter une animation". - -![](/gdevelop5/tutorials/screenshot_20190523184135.png) - -Un nouvel emplacement Animation vide apparaît. Nous allons maintenant charger nos images Sprite pour créer notre animation. Comme vous pouvez le remarquer, notre animation a un identifiant `0`. Nous pouvons également donner un nom à notre animation. - -Pour notre première animation, nous voulons créer une animation Idle. Cliquez sur le gros bouton **+Ajouter** qui ouvrira une boîte de dialogue pour charger une image. Notez que nous pouvons également ajouter plusieurs images, mais pour cette animation, nous n'en avons besoin que d'une seule. - -Choisissez l'image `p1_stand.png` dans l'archive que vous avez téléchargée et décompressée. Après avoir choisi le fichier, le placeholder de l'animation ressemble maintenant à ceci. - -![](/gdevelop5/tutorials/screenshot_20190523184730.png) - -Notez que j'ai donné à notre objet Sprite le nom "Player". De la même manière, j'ai également attribué un nom à notre animation : " Idle ". L'attribution d'un nom est facultative, mais le fait de nommer les sprites dans votre projet permet de l'organiser et de le rendre plus facile à utiliser. - -Notre première animation est terminée. Maintenant, ajoutons les animations **Jumping** et **Running**. Essayez de le faire en utilisant les images fournies dans l'archive que vous avez téléchargée. Il y aura plusieurs images pour l'animation Running, tandis que l'animation Jumping n'aura qu'une seule image selon le fichier archivé fourni. Une fois que vous aurez terminé les trois animations, cela ressemblera un peu à ceci. - -![](/gdevelop5/tutorials/screenshot_20190523185739.png) - -Comme vous pouvez le voir, l'animation **Run** comporte plusieurs images. ![](/gdevelop5/tutorials/output_xfxzmp.gif) Chaque image a un fichier image séparé. Lorsqu'elles sont exécutées, toutes les images sont lues séquentiellement, créant ainsi une animation en cours. L'animation Run ressemblera à l'action montrée dans l'image de gauche. - -Nous allons maintenant ajouter un **Comportement** à notre Sprite de joueur. Les comportements ajoutent des capacités supplémentaires aux objets. Cliquez sur l'onglet Comportements dans la boîte de dialogue Player Sprite. Créez ensuite un comportement en cliquant sur la zone " Ajouter un comportement à l'objet ". Sélectionnez ensuite le type de comportement **Objet se déplaçant sur des plateformes**. - -![](/gdevelop5/tutorials/screenshot_20190524121809.png) - -Le menu de l'éditeur de comportement va s'ouvrir. Ici, assurez-vous de décocher la fonction **Touches par défaut** pour ce comportement. La propriété des contrôles par défaut ajoute tous les mouvements nécessaires pour un personnage de plateforme, y compris le déplacement à gauche, à droite et le saut. Puisque nous ne voulons pas que notre personnage se déplace à gauche ou à droite, mais que nous avons seulement besoin de l'action Sauter, nous désactivons cette propriété et créons le mouvement Sauter en utilisant les événements. - -![](/gdevelop5/tutorials/screenshot_20190524122246.png) - -Nous avons maintenant terminé de créer notre Sprite de joueur. N'oubliez pas d'activer la fonction **Loop** pour les animations où plusieurs images ont été utilisées, c'est-à-dire pour l'animation Running dans notre cas. Si nous ne la mettons pas en boucle, l'animation sera jouée une fois et s'arrêtera à la dernière image. - -## Étape 5 : Création d'une plateforme - -Une plateforme est un objet avec lequel un personnage peut entrer en collision et/ou sur lequel il peut marcher. Pour notre jeu, la plateforme sera les obstacles que le Sprite du joueur doit éviter. Pour créer un objet Plate-forme, cliquez pour ajouter un nouvel objet dans l'onglet Objets et choisissez un type d'objet **Mosaïque**. Il s'agit d'une image qui se répète comme une mosaïque. - -![](/gdevelop5/tutorials/tiled_sprite_for_endless_runner.png) - -Nous obtenons une boîte de dialogue similaire à celle du Sprite Player que nous avons créé. Cliquez sur la zone "Selectionnez une image" pour choisir l'image de notre plateforme/obstacle. Une fois que vous avez fini de charger l'actif `Platform.png`, la boîte de dialogue ressemblera à ceci. - -![](/gdevelop5/tutorials/screenshot_20190615205900.png) - -Remarquez que j'ai également changé le nom de l'objet par défaut en "Platform". Changez votre largeur par défaut à *193* et votre hauteur par défaut à *40*, pour le moment. Maintenant, nous devons ajouter un **Comportement** pour cet objet, de la même manière que nous avons ajouté un comportement pour notre Sprite de joueur. Allez dans l'onglet Comportements, cliquez pour "Ajouter un comportement à l'objet" et choisissez le type de comportement **Platforme**. - -![](/gdevelop5/tutorials/screenshot_20190524122730.png) - -Cliquez sur **Appliquer**, une fois que vous avez terminé. Il est maintenant temps de placer nos objets créés dans l'espace **Scène**. - -## Etape 6 : Ajout d'objets à la scène - -Glissez et déposez les sprites **Platform** et **Player** de l'onglet Objets et placez-les dans votre scène. - -![](/gdevelop5/tutorials/screenshot_20190523193203.png) - -Voici à quoi ressemble l'espace Scène après que j'ai placé les deux objets. Notez que la bordure noire que vous pouvez voir est la taille de la **Fenêtre de jeu**. Seuls les éléments situés dans cet espace sont visibles par le joueur. Nous pouvons modifier la taille de la fenêtre en allant dans le **Gestionnaire de projet**-\>**Propriétés**, mais pour l'instant, laissons-la telle quelle. - -Cliquez sur l'objet Platform dans l'espace de la scène et faites un **Clic droit**-\>**Copie** ou **Ctrl**+**C** (pour Windows) pour copier l'objet. Nous allons créer plusieurs plateformes pour remplir l'espace de la scène. Après avoir copié, faites **Clic droit**-\>**Coller** pour dupliquer l'objet dans la scène. Faites-le plusieurs fois pour remplir la scène. La scène ressemble maintenant à ceci. - -![](/gdevelop5/tutorials/screenshot_20190523193924.png) - -Nous devons créer quelques Obstacles/Plateformes supplémentaires vers la droite de l'espace de la scène pour une génération aléatoire plus douce des obstacles. Enfin, nous ajoutons une **Skybox** ou un fond pour notre jeu. Il s'agit d'un objet de type **Sprite**. Essayez d'ajouter cet objet par vous-même. L'objet utilisé ici est `background2.png`. La scène ressemble maintenant à ceci. Remarquez les obstacles supplémentaires créés. Pour placer l'image de fond **derrière** tous les autres objets, nous voulons que son **Z-Order** soit minimal. L'ordre Z peut être modifié dans l'onglet **Propriétés** à gauche. - -![](/gdevelop5/tutorials/screenshot_20190523194718.png) - -Maintenant vient la partie la plus intéressante. Il est maintenant temps de rendre notre jeu fonctionnel. Apprenez quelques trucs sur les [événements](http://wiki.compilgames.net/doku.php/fr/gdevelop5/events) avant de passer à l'étape suivante. - -## Étape 7 : créer des événements/ Rendre le jeu fonctionnel - -Les événements sont ce que nous utilisons pour créer les règles de n'importe quel jeu dans GDevelop. C'est ce qui rend GDevelop spécial par rapport aux moteurs de jeu traditionnels. Les événements dans GDevelop vous permettent de programmer visuellement votre jeu sans aucune connaissance ou expérience de programmation, ainsi les personnes de n'importe quel niveau seront capables de créer le jeu réel et de permettre aux joueurs d'interagir avec le jeu. - -![](/gdevelop5/tutorials/screenshot_20190523232323.png) - -![](/gdevelop5/tutorials/screenshot_20190523232911.png) Ceci étant dit, créons notre premier événement. Cliquez sur l'onglet **NewScene(Events)**. Cliquez ensuite sur l'icône affichée à gauche pour créer un **Evénement** vide. - -Pour notre premier événement, nous voulons que notre sprite joueur saute lorsque la touche flèche **Haut** est pressée. Pour ce faire, nous devons ajouter une condition pour détecter si la touche Up est enfoncée ou non. Cliquez sur **Add a condition** et recherchez la catégorie "Keyboard". Choisissez la condition **Key pressed** et faites-lui vérifier la touche Up comme indiqué ci-dessous. - -![](/gdevelop5/tutorials/screenshot_s20190523235134.png) - -Cliquez sur **OK** pour confirmer et nous aurons notre première condition d'événement. Ensuite, nous devons "Ajouter une action" qui aura lieu si la condition est remplie. Nous voulons que notre personnage saute lorsque la condition spécifiée est remplie. Pour ajouter cette action, cherchez et cliquez sur **Comportement de la plate-forme**-\>**Contrôle**-\>**Simuler la pression sur la touche de saut**. - -![](/gdevelop5/tutorials/screenshot_20190524000351.png) - -Notez que l'objet doit être défini sur Player car nous voulons que le joueur effectue l'action. Maintenant, nous voulons également que l'animation de saut soit jouée lorsque le Sprite du joueur saute. Pour ce faire, nous ajoutons une autre action pour la même condition d'événement. Cliquez sur **Ajouter une action**-\>**Sprite**-\>**Animation et images**-\>**Changer l'animation** et définissez-la comme indiqué. Notez qu'au lieu d'utiliser des numéros d'identifiant, vous pouvez également utiliser le nom de l'animation. Pour faire référence aux animations en utilisant leur nom, vous devez utiliser l'option **Changer l'animation (par son nom)**. Le nom doit être entre guillemets. - -![](/gdevelop5/tutorials/screenshot_20190524000821.png) - -![](/gdevelop5/tutorials/screenshot_20190524001313.png) L'onglet Événements ressemblera à quelque chose comme ceci maintenant. - -> Ajouter des **Commentaires** est un bon moyen de garder l'éditeur d'événements organisé. Pour ajouter un commentaire, cliquez sur l'icône affichée à gauche. Les commentaires sont utilisés pour décrire ce qui est vérifié et exécuté dans cet événement particulier pour le débogage plus tard.tip - -![](/gdevelop5/tutorials/screenshot_20190524001533.png) - -![](/gdevelop5/tutorials/screenshot_20190524003448.png) Il est maintenant temps de voir comment l'événement créé fonctionne. Cliquez sur le bouton `Play` pour **Prévisualiser** le projet. Une fenêtre de prévisualisation s'ouvre, dans laquelle nous pouvons tester les différentes fonctions de notre jeu. La fenêtre de prévisualisation nous montre exactement comment le jeu se présente et se comporte lorsqu'il tourne. - -![](/gdevelop5/tutorials/bandicam20190524002201609.gif) Pour l'instant, nous voulons tester l'événement que nous venons de créer, c'est-à-dire faire sauter notre personnage et jouer l'animation de saut en sautant. Utilisez la touche de déplacement vers le haut pour tester l'action de saut. - -Nous pouvons voir notre personnage sauter et l'animation a maintenant changé pour l'animation de saut spécifiée. Notez que le personnage reste dans l'état d'animation de saut même après être revenu au sol. Nous traiterons ce problème lorsque nous créerons d'autres événements. - -## Faire bouger les obstacles - -Pour le deuxième événement, nous allons maintenant faire en sorte que les obstacles/plates-formes se déplacent vers la gauche de l'écran. Pour ce faire, nous devons spécifier une force grâce à laquelle les obstacles se déplacent à une certaine vitesse. Tout d'abord, cliquez pour ajouter un nouvel événement comme vous l'avez fait pour notre premier événement. Il n'est pas nécessaire de spécifier une quelconque condition pour l'instant. Concentrons-nous sur les actions. - -![](/gdevelop5/tutorials/screenshot_20190604123755.png) - -![](/gdevelop5/tutorials/bandicam201905gg24124850768.gif) Pour notre première action, choisissez l'objet **Plateforme** puiscliquez sur l'action **Mouvement**-\>**Ajouter une Force(Angle)**. et attribuez-lui un angle **180** (en spécifiant la direction gauche) et une vitesse **250**. Vous pouvez tester l'action que nous venons de créer en utilisant le bouton Play pour voir un aperçu. Vous pouvez voir les obstacles se déplacer vers la gauche. Remarquez que lorsque le Sprite du joueur entre en contact avec la Plate-forme/Obstacle, il se déplace également (glisse) vers la gauche. Nous ne voulons pas que notre personnage bouge lorsqu'il **est sur le sol** de la plateforme. Notre prochain événement s'occupe de cela. - ------------------------------------------------------------------------- - -Comme mentionné ci-dessus, nous devons résoudre le problème de glissement du Player Sprite. Pour ce faire, nous allons utiliser un nouvel événement. Cliquez pour ajouter un nouvel événement, et "Ajouter une condition", **Comportement de la plateforme**-\>**Options**-\>**Is on floor**. Choisissez l'objet **Player** car c'est ce que nous essayons de vérifier, c'est-à-dire si le personnage "st "sur le sol". - -![](/gdevelop5/tutorials/screenshot_20190524130158.png) - -Maintenant, nous devons ajouter une action correspondante. Ajoutez une action à cet événement, similaire à celle que nous avons ajoutée pour l'obstacle/plateforme pour le faire se déplacer vers la gauche. Cette fois, nous devons faire en sorte que notre personnage se déplace vers la droite lorsqu'il se trouve sur le sol de la plate-forme. Nous disons "se déplacer vers la droite" mais notre personnage ne se déplace pas vraiment. Il équilibre simplement le mouvement négatif de la plate-forme ou de l'obstacle afin que le personnage ne glisse pas. Essayez d'ajouter cette action vous-même. - -> Introduction : Cliquez sur Ajouter une action. Trouvez **Actions communes à tous les objets**-\>**Mouvement**-\>**Ajouter une Force(Angle)**. Puis choisissez **Joueur** comme objet et attribuez-lui un angle **0**(spécifiant la direction de droite) et une vitesse **250**.tip - -![](/gdevelop5/tutorials/screenshot_20190604124748.png) - -![](/gdevelop5/tutorials/bandicam201fg90524131437905.gif) Maintenant vous pouvez lancer l'aperçu des événements que nous avons créés. Vous pouvez voir que le problème de glissement a été résolu et que la mécanique de base du jeu a été créée avec succès, c'est-à-dire que le personnage peut sauter pour éviter les obstacles et que les obstacles se déplacent constamment vers le personnage. Notez qu'à ce stade, les obstacles sont limités et le personnage se retrouve rapidement à court de plateformes sur lesquelles sauter. Nous allons travailler sur ce problème lors de notre prochaine étape. - ------------------------------------------------------------------------- - -Nous devons également faire en sorte que le personnage joue l'animation **Run** lorsqu'il est au sol. Puisque nous avons déjà créé un événement pour vérifier la condition "Is on floor", nous pouvons simplement ajouter une autre action pour ce même événement. Cliquez sur **Ajouter une action**-\>**Sprites**-\>**Animation et images**-\>**Changer l'animation**. Indiquez ensuite l'objet et l'identifiant d'animation correct pour jouer cette animation particulière. Pour ce jeu, nous avons enregistré notre animation Run avec l'identifiant `2`. Vous pouvez également utiliser le nom de l'animation comme identifiant. Pour faire référence aux animations en utilisant leur nom, vous devez plutôt utiliser l'option **Changer l'animation (par son nom)**. Si vous utilisez un nom, n'oubliez pas de le mettre entre guillemets (") car il s'agit d'une chaîne de caractères. - -![](/gdevelop5/tutorials/screenshot_20190524155500.png) - -## Rendre le jeu infini - -Créez un nouvel événement. Dans cet événement, nous allons rendre les plateformes **infinies**. Avant de continuer, retournez dans l'espace de la scène et analysez la position X de la **dernière** tuile de plateforme/obstacle. - -![](/gdevelop5/tutorials/screenshot_20190524165044.png) - -Comme vous pouvez le voir, la position X de la dernière tuile est *1550* pour moi. Ne vous inquiétez pas si c'est différent pour vous. Quelle que soit la valeur, nous l'utiliserons pour rendre les plateformes infinies. Maintenant, `Ajoutez une condition` pour ce nouvel évènement. Trouvez **Conditions communes à tous les objets**-\>**Position**-\>**Comparez la position X d'un objet**. Choisissez l'objet "Plateforme" avec le signe de modification **≤ (inférieur ou égal à)** et la valeur disons **-200**. - -Nous vérifions et **comparons** la position X de la **première** tuile de la plateforme. La condition est que si la position X de la plateforme est ≤-200, alors l'action correspondante sera exécutée. Maintenant, vous vous demandez peut-être pourquoi la valeur __ -200__ ? Eh bien, notre espace de scène position X commence à partir de la valeur *0*. Nous devons détecter quand la tuile la plus à gauche de notre plateforme sort de l'espace de scène. Nous avons choisi -200 comme position X arbitraire, qui est hors de l'espace de la scène. - -![](/gdevelop5/tutorials/screenshot_20190614211353.png) - -Une fois que la condition est en place, nous allons **Ajouter une action**. Trouvez **Les conditions communes à tous les objets**-\>**Position**-\>**Changer la position X d'un objet**. Maintenant, nous utilisons la valeur de la position X de la dernière tuile que je vous ai demandé de mémoriser. Pour moi, c'était *1550*. Maintenant, nous choisissons "Platform" comme objet, le signe de modification est **= (égal)** et la valeur est **1550**. Cliquez sur **OK** pour confirmer et voilà notre événement terminé. - -![](/gdevelop5/tutorials/bandicam20190614211720602_1_.gif) Ce que nous avons fait dans cet événement, c'est que nous avons mis en place une **Loop** pour nos tuiles Obstacle/Plateforme. Dès qu'une tuile sortait des limites, c'est-à-dire de l'espace de la scène, elle était **téléportée** à une position X (*1550* dans mon cas) vers la droite. Ainsi, les tuiles Obstacle continuent à tourner en boucle et le jeu tourne sans fin. - -## États de jeu - -Nous allons maintenant ajouter des **états** à notre jeu. Les états décrivent le statut de notre jeu. Il peut être considéré comme un drapeau, pour détecter quand le personnage est en action ou quand le personnage est tombé de la plate-forme. Cela est nécessaire pour décider d'un état de "Game Over" et donc de redémarrer le jeu. Nous pouvons enregistrer l'état en créant simplement une **variable de scène**. Il y aura 3 états pour notre jeu. - -- Le premier état ou l'état initial est celui où le jeu n'a pas encore commencé et où l'utilisateur doit le démarrer. Nous allons nous référer à cet état en utilisant la valeur **0**. - -  - -- Le deuxième état est celui où le personnage ou Player Sprite est en action. Nous allons nous référer à cet état en utilisant la valeur **1**. - -  - -- Le troisième état est l'état "Game Over" lorsque le personnage tombe de la plate-forme. Nous allons nous référer à cet état en utilisant la valeur **2**. - -![](/gdevelop5/tutorials/0endlessrunner_flow.jpg) - -Tout d'abord, nous devons configurer une variable pour stocker l'état actuel du jeu. Créez un nouvel événement. **Ajoutez une condition**-\>**Scène**-\>**Au début de la scène**. - -Ensuite, **Ajoutez une action**-\>**Variables**-\>**Valeur d'une variable de scène**. Donnez un nom à votre variable, **Etat** par exemple, et attribuez-lui la valeur **0**. Cela place le jeu dans l'état initial d'avant le jeu au début de la scène. - -![](/gdevelop5/tutorials/screenshot_20190621003505.png) - -Nous ne voulons pas que notre jeu commence immédiatement. Nous voulons qu'il démarre après que l'utilisateur ait appuyé sur une touche. - -En d'autres termes, nous voulons que le jeu **démarre** lorsque la valeur de la variable de scène state est à **1**. Modifions nos événements. - -> Introduction : dans l'événement où nous avons spécifié une force pour que la plate-forme se déplace, nous allons maintenant ajouter une condition. Cliquez sur **Ajouter une condition**-\>**Variables**-\>**Valeur d'une variable de scène**. Définissez-la pour vérifier si la valeur est égale à **1**.tip - -![](/gdevelop5/tutorials/screenshot_20190621000230.png) - -Voyez les modifications que j'ai apportées à nos événements : j'ai ajouté une nouvelle condition et créé quelques **sous-événements**. La condition d'un sous-événement n'est testée que si la condition de l'événement parent donne un résultat `vrai`. Dans notre cas, si le jeu est dans l'état **initial** (événement), ce n'est qu'alors que les sous-événements vérifieront les conditions respectives et effectueront les actions correspondantes. - -Pour convertir un événement en sous-événement, vous devez faire glisser cet événement pour le placer sous un événement parent auquel il est associé. Vous remarquerez une indentation dans l'échelle événement-sous-événement qui confirme que les événements en indentation sont des "sous-événements" par rapport à l'événement parent. - -Les sous-événements **fonctionnent** uniquement si la condition de l'événement est vraie. Si la condition de l'événement parent résulte en `faux`, les conditions des sous-événements ne seront pas vérifiées et donc, leurs actions correspondantes ne seront pas exécutées même si les conditions des sous-événements résultent en `vrai`. - -> ![](/gdevelop5/tutorials/screenshot_20190621002408.png) Pour ajouter un nouveau sous-événement au complet, cliquez pour choisir l'événement pour lequel nous créons les sous-événements. Ensuite, cliquez sur l'icône affichée à gauche. Vous pouvez trouver cela dans le menu de navigation de GDevelop. - -Maintenant, à moins que la valeur de la variable scène soit **1**, le jeu ne démarrera pas, c'est-à-dire que les plateformes ne bougeront pas et que le joueur ne pourra pas sauter. - -Nous avons besoin que l'utilisateur démarre le jeu en appuyant sur une touche. Pour ce faire, ajoutez un nouvel événement. Nous avons besoin de deux conditions ici. Une pour vérifier la valeur de la variable scène et une autre pour détecter si la touche est pressée ou non. Ces deux conditions ont déjà été ajoutées sous une forme ou une autre dans les autres événements. Essayez de le faire vous-même ;-) - -![](/gdevelop5/tutorials/screenshot_20190524233235.png) - -> Astuce : Pour la première condition, nous devons vérifier la valeur de l'état de la variable de scène. Cliquez sur **Ajouter une condition**→**Variables**→**Valeur d'une variable de scène**. Paramétrez-la pour vérifier si la valeur est égale à **0**. Pour la deuxième condition, **Ajoutez une condition**-\>**Clavier**-\>**Touche enfoncée**, puis paramétrez-la pour vérifier si la touche **Haut**. tip - -Maintenant, nous ajoutons l'action pour changer l'état du jeu. Nous voulons changer la valeur de la variable de scène à 1. Cliquez sur **Ajouter une action**-\>**Variables**-\>**Valeur d'une variable de scène**. Puis donnez un nom à votre variable, **Etat** par exemple, et attribuez-lui la valeur **1**. Cela ressemblera à quelque chose comme ceci. - -![](/gdevelop5/tutorials/screenshot_20190524234531.png) - -Vous pouvez maintenant tester le fonctionnement du jeu. Vous remarquerez que le jeu ne démarre pas dès que vous cliquez sur le bouton Play. Vous devez appuyer sur la touche Haut pour lancer le jeu. Revoyez ce que nous avons fait ci-dessus si vous n'avez pas compris ce qui s'est passé :-P - -Maintenant, nous devons travailler sur le troisième état, c'est-à-dire lorsque le jeu se termine parce que le personnage tombe de la plate-forme. Nous devons vérifier les positions X et Y de notre personnage, c'est-à-dire vérifier si le personnage est à l'intérieur de l'espace scénique. S'il se trouve à l'extérieur, il est évident qu'il est tombé de la plate-forme ou qu'il a été poussé hors de l'écran. Nous vérifions ces conditions et changeons l'état du jeu en état **Game Over**. - -![](/gdevelop5/tutorials/screenshot_20190614213834.png) - -Dans cet événement, nous utilisons le concept d'une condition et d'une sous-condition. Avant d'entrer plus avant dans la logique, mettons d'abord en place cette échelle condition-sous-condition. **Ajouter une condition**-\>**Avancé**-\>**Or**. C'est la condition principale que nous utilisons. Après avoir confirmé et établi cette condition, vous remarquerez que vous pouvez maintenant ajouter des **sous-conditions**. Essayez de le faire vous-même en regardant l'image ci-dessus. - -> Conseil : Trouvez les **conditions communes à tous les objets**-\>**Position**-\>**Comparez la position X d'un objet**. Choisissez l'objet "Player" avec le signe de modification **≤ (inférieur ou égal à)** et la valeur disons **-69**. De même, pour la sous-condition suivante, trouvez **Conditions communes à tous les objets**-\>**Position**-\>**Comparez la position Y d'un objet**. Choisissez l'objet "Joueur" avec le signe de modification **≥ (supérieur ou égal à)** et la valeur disons **-550**. tip - -Maintenant, comprenons ce que nous avons fait ici. La condition que nous avons ajoutée spécifie une règle telle que si même une des sous-conditions est vraie, alors l'action associée à cet événement sera exécutée. Puisque le jeu se termine s'il tombe (position Y) **ou** est poussé en dehors de l'écran (position X), nous vérifions donc la position X et la position Y. - -Maintenant nous voulons changer l'état du jeu quand cela se produit, donc nous ajoutons une action pour changer la valeur de la variable de scène en **2**, le troisième état requis. - -![](/gdevelop5/tutorials/bandicam20190525005610196.gif) Vous pouvez maintenant tester le jeu. Vous remarquerez que si vous tombez ou êtes poussé, le mouvement des obstacles s'arrête. Cela montre que le jeu a atteint avec succès l'état **Game Over**. Dans notre prochain événement, nous allons travailler sur le **redémarrage** du jeu, lorsque l'utilisateur appuie sur une touche. - ---- - -## Redémarrer le jeu - -![](/gdevelop5/tutorials/screenshot_20190526175455.png) Nous voulons que le jeu redémarre lorsque l'utilisateur appuie sur un bouton après avoir atteint l'état **Game Over**. Pour ce faire, créons un nouvel événement. Nous voulons vérifier si l'état du jeu est **2**. Si c'est le cas, nous voulons que l'utilisateur appuie sur la touche **Entrée/Retour** pour redémarrer le jeu. Pour cela, nous ajoutons deux conditions, une pour vérifier la valeur de la variable d'état et une autre pour vérifier si la touche Entrée est enfoncée. Essayez d'ajouter les conditions vous-même ou consultez l'astuce si vous êtes bloqué. - -> Astuce : Pour la première condition, nous devons vérifier la valeur de la variable d'état de la scène. Cliquez sur **Ajouter une condition**→**Variables**→**Valeur d'une variable de scène**. Paramétrez-la pour vérifier si la valeur est égale à **2**. Pour la deuxième condition, **Ajoutez une condition**-\>**Clavier**-\>**Touche enfoncée**, puis paramétrez-la pour vérifier si la touche **Retour** est enfoncée. tip - -Ensuite, nous devons ajouter une action pour redémarrer le jeu ou la **scène**. Pour ce faire, **Ajouter une action**-\> **Scène**-\> **Changer la scène**. Puis indiquez le nom de notre scène entre guillemets. Sélectionnez l'option **Stop any other paused scenes**. Cette option n'est pas nécessaire pour notre jeu puisqu'il ne contient qu'une seule scène, mais elle peut être bénéfique pour augmenter les performances des jeux ayant un grand nombre de scènes. - -![](/gdevelop5/tutorials/screenshot_20190526174010.png) - -Maintenant, après avoir atteint l'état **Game Over**, lorsque l'utilisateur appuie sur la touche **Entrée**, le jeu redémarre et passe à l'état **initial**, c'est-à-dire l'état où l'utilisateur doit appuyer sur le bouton Up pour démarrer le jeu. - -Vous pouvez maintenant tester votre jeu et remarquer le changement d'état. Il ne reste plus qu'à ajouter un système de **score** et quelques **instructions textuelles** pour aider l'utilisateur à connaître les états du jeu. - ------------------------------------------------------------------------- - -## Ajout d'un système de score - -Un système de score est un élément nécessaire dans chaque jeu. L'ajouter à notre jeu est très facile car nous n'avons pas besoin d'ajouter de nouveaux événements. Nous allons modifier certains des événements que nous avons déjà créés pour les adapter à ce système. Nous voulons que le score commence à 0 à chaque fois que le jeu commence. Le score continue de s'actualiser jusqu'à ce que l'état Game Over soit atteint. Tout d'abord, créons une variable **objet** pour stocker cette valeur de score. - -> Vous pouvez également utiliser d'autres types de variables comme les **variables de scène** et les **variables globales** au lieu des variables d'objet que nous utilisons ici. La façon dont ces variables diffèrent est qu'elles ont des *scopes* différents pour le jeu. Vous pouvez en savoir plus sur les variables [ici](/gdevelop5/all-features/variables). tip - -Allez dans l'onglet Objets du panneau de l'éditeur de scène. Choisissez l'objet de votre choix. Nous choisissons ici **Platform**. Cliquez sur les **trois points** à côté de l'onglet Objet Plateforme et choisissez **Modifier les variables de l'objet**. Une nouvelle boîte de dialogue s'ouvre dans laquelle nous pouvons ajouter et configurer des variables pour un objet. Cliquez sur le gros bouton Plus pour ajouter une nouvelle variable. Puis personnalisez le nom et la valeur de la variable comme indiqué ci-dessous. - -![](/gdevelop5/tutorials/screenshot_20190526181228.png) - -Comme vous pouvez le voir, nous avons fixé sa valeur par défaut à 0. Maintenant, nous devons créer une action pour mettre à jour le score. Trouvez l'événement montré ci-dessous que nous avions déjà créé auparavant. - -![](/gdevelop5/tutorials/screenshot_20190621000502.png) - -Nous allons ajouter cette action ici. Cliquez sur **Add an action**. Trouvez **Actions communes à tous les objets**-\>**Variables**-\>**Modifier une variable d'un objet**. Puis faites comme indiqué ci-dessous. - -![](/gdevelop5/tutorials/screenshot_20190526204732.png) - -Nous voulons modifier la variable de l'objet que nous venons de créer. En ajoutant cette action, nous demandons au jeu de mettre à jour la valeur en continu pendant que le personnage est en action. - -Nous avons besoin d'un objet Text pour montrer ce changement de valeur. Allez dans l'éditeur de scène. Ajoutez un nouvel objet de type **Text**. - -![](/gdevelop5/tutorials/screenshot_20190526205106.png) - -Faites les modifications nécessaires comme indiqué ci-dessus. Vous pouvez le personnaliser comme vous le souhaitez. Une fois que vous avez terminé de modifier le texte, cliquez sur Appliquer. Ensuite, il suffit de faire glisser et de déposer l'objet texte dans l'espace de la scène. Ce sera quelque chose comme ceci. - -![](/gdevelop5/tutorials/screenshot_20190526205123.png) - -Revenons à l'événement que nous étions en train de modifier. Nous devons ajouter une autre action pour mettre à jour ce texte. - -Une fois que nous sommes de retour à cet événement particulier, cliquez sur **Add an Action**-\>**Text Object**-\>**Modify the text**. Maintenant, regardez attentivement l'image ci-dessous. Maintenant, l'objet texte a une valeur de type String mais notre variable score stocke des valeurs numériques. Nous devons utiliser une fonction de la bibliothèque pour convertir cet Integer en String et ensuite mettre à jour le texte de l'objet Text. - -![](/gdevelop5/tutorials/screenshot_20190526205906.png) - -![](/gdevelop5/tutorials/bandicam20190526210601391.gif) Nous utilisons la fonction `VariableString(variable)` pour faire notre travail. Vous pouvez en apprendre davantage sur les fonctions des bibliothèques dans leurs tutoriels respectifs. Vous pouvez maintenant tester le jeu. Vous pouvez voir le score se mettre à jour pendant que le joueur est en action. Dès que l'état Game Over est atteint, le score cesse de s'actualiser. - -L'événement que nous avons modifié ressemblera à ceci maintenant. - -![](/gdevelop5/tutorials/screenshot_20190526210158.png) - ------------------------------------------------------------------------- - -Maintenant nous allons ajouter d'autres objets texte nécessaires à notre jeu comme un texte **Game Over**, un texte **Score**, un texte **Press Enter to Restart** et **Press Up to Start**. Pour chacun d'entre eux, nous allons créer des objets **Texte** distincts. Comme pour l'étape précédente, ajoutez de nouveaux objets texte et modifiez le texte dans l'éditeur d'objets. Il suffit de les faire glisser et de les déposer dans votre espace de scène pour les afficher. - -![](/gdevelop5/tutorials/screenshot_20190526211448.png) - -Remarquez comment j'ai créé des objets texte séparés pour des textes séparés. Mais nous ne voulons pas que notre jeu affiche le texte `Game Over` au début. Le texte Game Over ne doit être visible qu'à l'état **Game Over**, c'est-à-dire lorsque la valeur de la variable d'état est **2**. De même, nous voulons que le texte Appuyer sur la touche Entrée pour redémarrer apparaisse également à ce stade, tandis que les autres textes doivent être masqués. À l'étape 0, le texte Appuyer sur le haut pour entrer doit être visible. Lorsque le joueur est en mouvement, nous voulons cacher les textes. Pour cela, nous devons agir sur la visibilité de ces objets texte. - -Pour cette modification de visibilité, nous utilisons l'action **Action commune à tous les objets**-\> Action **Visibilité**. Après avoir ajouté toutes les actions à leurs endroits respectifs comme indiqué ci-dessus, la page de l'éditeur d'événements ressemblera à ceci. - -![](/gdevelop5/tutorials/screenshot_20190526212127.png) - -Ici, au début de l'événement de scène, que nous avons déjà fait, nous ajoutons deux nouvelles actions pour cacher les textes Game Over et Restart. Pour ajouter ces actions, cliquez sur **Add an action**-\> **Common action for all objects**-\> **Visibility**-\> Puis Hide ou Show en conséquence. - -![](/gdevelop5/tutorials/screenshot_20190526212329.png) - -Maintenant, nous voulons aussi cacher le texte Start, quand le jeu a déjà commencé. Pour cela, nous ajoutons une autre action à l'action déjà créée ci-dessus. - -![](/gdevelop5/tutorials/screenshot_20190614213634.png) - -Enfin, nous ajoutons deux événements pour **montrer** le texte **Game Over** et **Restart** lorsque le jeu se termine, c'est-à-dire lorsque l'état Game Over est atteint. - -![](/gdevelop5/tutorials/bandicam20190gg526213134987.gif) Voilà, c'est fait ! Tu as appris avec succès comment créer un jeu Endless Runner. Créer des jeux avec GDevelop est très facile une fois que vous avez compris comment utiliser les fonctionnalités. Il m'a fallu environ trois jours pour écrire ce tutoriel en détail, alors qu'il ne m'a fallu qu'une heure pour créer ce jeu. Oui, c'est aussi simple que cela de créer des jeux avec GDevelop💓. - -## Bonus : Rendre le jeu plus stimulant - -Le jeu est-il trop facile à jouer ? Vous voulez que votre jeu soit un peu plus difficile ? Ne vous inquiétez pas. Travaillons-y ensemble. - -Nous allons travailler sur la vitesse des plateformes/obstacles mobiles. Nous voulons qu'ils se déplacent plus rapidement à mesure que le score augmente. - -Tout d'abord, nous voulons ajouter une nouvelle variable de scène pour stocker la vitesse initiale à laquelle les plates-formes se déplacent. Pour ajouter une variable de scène, allons à l'événement qui a la condition `Au début de la scène`. Comme nous l'avons fait précédemment, ajoutez une nouvelle variable. Cliquez sur Ajouter une action→Variables→Valeur d'une variable de scène. Ensuite, nommez votre variable quelque chose, **vitesse** par exemple et donnez-lui la valeur **250** qui est la vitesse initiale. - -Maintenant, nous voulons modifier l'événement : où nous avons spécifié la valeur de la force avec laquelle les plateformes se déplacent. Au lieu de spécifier une valeur, nous allons utiliser la variable de scène **speed**. Pour utiliser la variable de scène ici, nous devons suivre cette syntaxe : `Variable(speed)`, où speed est la variable de scène spécifiée. - -Faites la même chose pour l'action où nous avons spécifié la vitesse du sprite du joueur pour éviter qu'il ne glisse. Maintenant, nous pouvons travailler sur le changement de vitesse au fur et à mesure que le score augmente. - -Maintenant, nous voulons vérifier la valeur de la variable objet `score`, et changer la valeur de la variable scène `speed` en conséquence. Ajoutez de nouveaux événements et spécifiez les conditions pour augmenter la vitesse des plateformes. Un exemple est présenté ci-dessous : - -![](/gdevelop5/tutorials/screenshot_20190615230009.png) diff --git a/docs/fr/gdevelop5/tutorials/geometry-monster/1-install-and-setup.md b/docs/fr/gdevelop5/tutorials/geometry-monster/1-install-and-setup.md deleted file mode 100644 index 981d966ab00..00000000000 --- a/docs/fr/gdevelop5/tutorials/geometry-monster/1-install-and-setup.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: 1-install-and-setup ---- -FIXME **Cette page est entièrement traduite. Veuillez cependant corriger toutes les erreurs et les éventuelles imprécisions.**_(supprimer ce paragraphe une fois les modifications terminées)_ - -➡️ **[Étape suivante : 2. Création de la première scène](/fr/gdevelop5/tutorials/geometry-monster/2-creating-first-scene)** - -# 1. Installation et configuration - -**GDevelop** est un moteur de jeu multiplateforme gratuit et open source pour tout le monde - vous n'avez pas besoin de savoir comment coder pour créer votre premier jeu. Il peut être utilisé à la fois pour des projets de loisirs et pour la création de jeux à but lucratif. - -Pour obtenir une copie de GDevelop, il vous suffit de vous rendre sur la [page de téléchargement](https://gdevelop.io/download/) où les versions pour Windows, Mac OS et Linux sont disponibles. - -Vous pouvez également essayer [l'éditeur en ligne](https://editor.gdevelop.io/) directement dans votre navigateur si vous ne souhaitez pas installer le logiciel. Pour ce tutoriel, il est cependant recommandé de télécharger la version complète. - -Continuons avec l'installation de la version pour Windows - cliquez sur le bouton "**Windows**" pour commencer à télécharger le programme d'installation pour ce système d'exploitation. - -![](/gdevelop5/tutorials/geometry-monster/01_5.png) Cliquez sur "**Enregistrer**" dans la fenêtre contextuelle qui apparaît après avoir cliqué sur ce bouton - pour lancer le téléchargement réel du fichier `exe`. Une fois le programme d'installation téléchargé, accédez au dossier où il a été enregistré et cliquez deux fois dessus pour lancer le processus d'installation. - -![](/gdevelop5/tutorials/geometry-monster/04.png) - -Attendez la fin du processus. Accédez alors à l'emplacement d'installation de tous vos nouveaux programmes et double-cliquez sur l'application `GDevelop` pour lancer l'éditeur. - -![](/gdevelop5/tutorials/geometry-monster/05.png) - -Vous serez accueilli avec l'écran d'accueil sur la page d'accueil. - -![](/gdevelop5/tutorials/geometry-monster/06.png) - -De là, vous pouvez soit ouvrir un projet déjà existant "(**OPEN A PROJECT**", soit en créer un nouveau "**CREATE A NEW PROJECT**" — Sélectionnez cette deuxième option. - -![](/gdevelop5/tutorials/geometry-monster/07.png) - -À côté de l'onglet "**STARTERS**" (en haut de la fenêtre contextuelle) vous pouvez consulter les exemples et les tutoriels dans leurs onglets respectifs . - -![](/gdevelop5/tutorials/geometry-monster/09.png) - -Après avoir cliqué sur le bouton **Empty Game** 640(Jeu vide), le nouveau projet nous est présenté et la fenêtre **Project** devrait apparaître dans le panneau de gauche. Dans celui-ci, sélectionnez **Game settings** (Paramètres du jeu) puis **Properties** pour accéder à la configuration de base de notre jeu. - -![](/gdevelop5/tutorials/geometry-monster/10.png) - -Le nom de notre jeu **Game name** est `Geometry Monster`, la largeur de la fenêtre est de `640` pixels (**Game resolution width**) et sa hauteur `960` pixels (**Game resolution height**). Ces commandes créeront une zone de jeu qui convient au mode portrait sur un appareil mobile, choix que nous confirmerons dans une seconde. Vous pouvez entrer votre nom ou votre pseudo dans le champ **Author name** situé en dessous. - -![](/gdevelop5/tutorials/geometry-monster/11.png) - -Okus bas dans la fenêtre, vous avez une option pour spécifier le mode **Device orientation (for iOS and Android)** (Orientation de l'appareil) - Sélectionnez **Portrait** afin que nous puissions jouer sur nos téléphones en les tenant d'une seule main et en touchant l'écran. - -Nous devons également changer l'option **Change width ...** en **No changes to the game size** (Aucune modification de la taille du jeu). Ce paramètre sera traité plus tard. - -Une fois toutes ces informations entrées dans les champs respectifs, vous pouvez cliquer sur **APPLY** (Appliquer) pour enregistrer ces paramètres. - -![](/gdevelop5/tutorials/geometry-monster/12_5.png) - -➡️ **[Étape suivante : 2. Création de la première scène](/fr/gdevelop5/tutorials/geometry-monster/2-creating-first-scene)** diff --git a/docs/fr/gdevelop5/tutorials/geometry-monster/10-more-lives.md b/docs/fr/gdevelop5/tutorials/geometry-monster/10-more-lives.md deleted file mode 100644 index 434ade0db51..00000000000 --- a/docs/fr/gdevelop5/tutorials/geometry-monster/10-more-lives.md +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: 10-more-lives ---- -FIXME **Cette page est entièrement traduite. Veuillez cependant corriger toutes les erreurs et les éventuelles imprécisions.**_(supprimer ce paragraphe une fois les modifications terminées)_ - -⬅️ **[Étape précédente : 9. Ajout de bombes](/fr/gdevelop5/tutorials/geometry-monster/9-adding-bombs)** ➡️ **[Étape suivante : 11. Jeu terminé](/fr/gdevelop5/tutorials/geometry-monster/11-game-over)** - -# 10. Plus de vies - -Avec des ***vies supplémentaires***, le joueur ne sera pas immédiatement pénalisé par un ***jeu terminé*** (Game over) lorsqu'il est touché par une bombe au lieu de l'être par une forme. Cette collision ne sera plus fatale mais supprimera une vie parmi celles disponibles, nombre que nous allons définir à 3. - -Ce sera également une bonne occasion d'utiliser des ***des extensions***, qui ont l'avantage de faire que nous n'avons pas besoin de tout créer nous-mêmes. - -!!! note - - Saviez-vous que les extensions sont également faites d'événements ? Vous pouvez inspecter la façon dont elles sont construites et fonctionnent en cliquant sur l'une d'entre-elles dans le gestionnaire de projets et en inspectant ses comportements, qui sont composés d'événements pour créer les conditions et les actions du comportement. - -Cliquez sur l'icône **Project manager** (Gestionnaire de projet) qui se trouve dans le coin supérieur gauche de l'éditeur. - -![](/gdevelop5/tutorials/geometry-monster/136.png) - -Cette action ouvre un panneau où la barre de recherche est dans le bas. Cliquez sur **Search for new extensions** (Rechercher de nouvelles extensions). - -![](/gdevelop5/tutorials/geometry-monster/137.png) - -L'extension que nous recherchons s'appelle **life** (la vie). - -![](/gdevelop5/tutorials/geometry-monster/138.png) - -Cette extension contient un **behavior** (comportement) appelé **Health** (Santé), que nous pouvons ensuite manipuler dans le jeu pour gérer la vie d'un objet. Cliquez sur **INSTALL IN PROJECT** (Installer dans le projet) pour pouvoir l'utiliser. - -![](/gdevelop5/tutorials/geometry-monster/139.png) - -!!! note - - Les comportements (behaviors) permettent d'ajouter de nouvelles fonctionnalités et de la logique aux objets. Elles sont utiles pour créer des objets en assemblant quelques comportements que l'on peut ensuite manipuler avec des événements. - -Pendant que nous y sommes, ajoutons une autre extension utile : **Flash**. Lorsque le monstre est touché par une bombe et perd une vie, nous le faisons cligner des yeux pendant une courte période pour donner au joueur des informations supplémentaires sur ce qui s'est passé. - -![](/gdevelop5/tutorials/geometry-monster/140.png) - -Installez-le également. - -![](/gdevelop5/tutorials/geometry-monster/141.png) - -Maintenant que nous avons installé les deux extensions, elles doivent être répertoriées dans le panneau de gauche, sous **Functions/Behaviors** (Fonctions/Comportements). - -![](/gdevelop5/tutorials/geometry-monster/142.png) - -Cliquez sur l'onglet **LEVEL1** pour revenir dans l'éditeur de scène puis, dans le panneau de droite **Objects**, double-cliquez sur **Monster**, ce qui ouvre une fenêtre contextuelle. - -![](/gdevelop5/tutorials/geometry-monster/143.png) - -Dans celle-ci, cliquez sur l'onglet **BEHAVIORS** (Comportements), car nous voulons ajouter ces comportements à l'objet ... - -![](/gdevelop5/tutorials/geometry-monster/144.png) - -... en cliquant sur **Add a behavior to the object**. - -![](/gdevelop5/tutorials/geometry-monster/145.png) - -Les deux extensions personnalisées que nous venons d'ajouter doivent être répertoriées dans la fenêtre **Ad a new behavior to the object** et disponibles pour utilisation. Cliquez sur l'extension **Health**. - -![](/gdevelop5/tutorials/geometry-monster/146.png) - -Nous fixons **Damage cooldown** (Temps de recharge des dégâts) à `0,8` secondes (durée pendant laquelle le monstre touché est indestructible afin qu'il ne soit pas immédiatement touché à nouveau par une autre bombe), **Health** (Santé) à `3` (nombre actuel de vies), et **Maximum health** (Santé maximale)n aussi à `3` (le monstre aura donc trois vies au total). - -Cliquez finalement sur **Add behavior to the object** (Ajouter un comportement à l'objet) pour en activer un autre. - -![](/gdevelop5/tutorials/geometry-monster/147.png) - -Ce second comportement est **Flash**. - -![](/gdevelop5/tutorials/geometry-monster/148.png) - -Le paramètre **Half period** (demi-période) spécifie la durée pendant laquelle l'objet est invisible, et nous allons la fixer à `0,1` secondes. Dans le champ juste en dessous, vous pouvez voir le comportement **Health** que nous avons entré précédemment. Cliquez sur **APPLY** pour les enregistrer. - -![](/gdevelop5/tutorials/geometry-monster/149.png) - -Cliquez maintenant sur l'onglet **Level1 (Events)**, puis sur le label **Collision** (un commentaire) pour vous assurer que c'est bien celui qui est actif. Dans le menu en haut à droite, cliquez sur l'icône **Choose and add an event** (Choisir et ajouter un événement), puis sur **For each object** (Pour chaque objet) dans la liste déroulante qui s'est ouverte. - -![](/gdevelop5/tutorials/geometry-monster/150.png) - -Cela nous permet d'avoir la condition spécifique **Repeat for each Obstacle object** (Répéter pour chaque objet Obstacle). - -![](/gdevelop5/tutorials/geometry-monster/152.png) - -Cliquez sur **Add condition**. Sélectionnez **Obstacle**, **Collision** et **Monster** puis cliquez **OK**. De cette façon, les bombes entreront en collision avec le monstre, et nous pourrons soustraire le nombre actuel de vies lorsque cela se produira. - -![](/gdevelop5/tutorials/geometry-monster/153.png) - -Toujours pour **Obstacle**, sélectionnez l'action **Delete an object** (Supprimer un objet) pour supprimer la bombe. Chaque fois qu'une bombe frappe le monstre, elle est supprimée du jeu. - -![](/gdevelop5/tutorials/geometry-monster/154.png) - -Une autre action va être utilisée pour que le monstre soit endommagé par la bombe. Cliquez sur **Add action**. Sélectionnez **Monster**, **Damage the object** (Endommager l'objet), en entrez `1` dans le champ **Value of the damage to do** (Valeur du dommage). Cela signifie que chaque fois que la bombe frappe le monstre, il perd une vie. - -![](/gdevelop5/tutorials/geometry-monster/155.png) - -Dans l'onglet **OTHER ACTIONS**, ajoutons un son différent lorsque cela se produit. Sélectionnez **Audio**, **Play a sound** (Jouer un son), et **Choose a new audio file** (Choisir un nouveau fichier audio) pour ouvrir la fenêtre de l'explorateur de fichiers. - -![](/gdevelop5/tutorials/geometry-monster/156.png) - -Sélectionnez le fichier `kill.wav` et ouvrez-le pour l'ajouter au projet. - -![](/gdevelop5/tutorials/geometry-monster/157.png) - -Assurez-vous que le nom du fichier est bien là puis cliquez **OK**. - -![](/gdevelop5/tutorials/geometry-monster/158.png) - -Bien que les événements fonctionnent, ils ne font que changer la vie du monstre en mémoire. Affichons donc un compteur de vie à l'écran ! - -Cliquez sur l'onglet **LEVEL1**, puis dans la liste **Objects** sur **Add a new object** (Ajouter un nouvel objet). - -![](/gdevelop5/tutorials/geometry-monster/160.png) - -Faites-en un autre **Sprite**. - -![](/gdevelop5/tutorials/geometry-monster/161.png) - -Le nom de l'objet **Object Name:** est `Life`, l'animation **Animation \#0** s'appelle `Life3` (puisque l'état initial de l'animation a trois vies), puis ajoutez l'image avec 3 cœurs. - -![](/gdevelop5/tutorials/geometry-monster/162.png) - -Répétez l'opération pour l'animation `Life2` ... - -![](/gdevelop5/tutorials/geometry-monster/163.png) - -... et encore une fois pour `Life1`. - -![](/gdevelop5/tutorials/geometry-monster/164.png) - -Le dernier est **Life0** (sans images) lorsque toutes les vies sont perdues. Appliquez (**APPLY**) les modifications. - -![](/gdevelop5/tutorials/geometry-monster/165.png) - -Faites glisser et déposez l'objet **Life** sur la scène et placez-le dans le coin supérieur droit. Nous verrons au chapitre suivant comment animer cet objet en créant un écran **game over** lorsqu'il atteindra zéro. - -![](/gdevelop5/tutorials/geometry-monster/166.png) - -⬅️ **[Étape précédente : 9. Ajout de bombes](/fr/gdevelop5/tutorials/geometry-monster/9-adding-bombs)** ➡️ **[Étape suivante : 11. Jeu terminé](/fr/gdevelop5/tutorials/geometry-monster/11-game-over)** diff --git a/docs/fr/gdevelop5/tutorials/geometry-monster/11-game-over.md b/docs/fr/gdevelop5/tutorials/geometry-monster/11-game-over.md deleted file mode 100644 index 25441fe80ca..00000000000 --- a/docs/fr/gdevelop5/tutorials/geometry-monster/11-game-over.md +++ /dev/null @@ -1,192 +0,0 @@ ---- -title: 11-game-over ---- -FIXME **Cette page est entièrement traduite. Veuillez cependant corriger toutes les erreurs et les éventuelles imprécisions.**_(supprimer ce paragraphe une fois les modifications terminées)_ - -⬅️ **[Étape précédente : 10. Plus de vies](/fr/gdevelop5/tutorials/geometry-monster/10-more-lives)** ➡️ **[Étape suivante : 12. Menu principal](/fr/gdevelop5/tutorials/geometry-monster/12-main-menu)** - -# 11. Jeu terminé - -Avec le monstre ayant [plus de vies](/fr/gdevelop5/tutorials/geometry-monster/10-more-lives), capable de [détecter les collisions](/fr/gdevelop5/tutorials/geometry-monster/6-collision-detection) et devant faire au danger de [bombes](/fr/gdevelop5/tutorials/geometry-monster/9-add-bombs) tombant avec les formes, nous arrivons à un point où le joueur peut perdre toutes les vies : qu'advient-il alors ? C'est **Jeu terminé** ! - -Ajoutons un nouvel objet, qui sera à nouveau un sprite. - -![](/gdevelop5/tutorials/geometry-monster/167.png) - -Appelez-le `GameOver`, ajoutez l'image respective et enregistrez-la. - -![](/gdevelop5/tutorials/geometry-monster/168.png) - -Faites-la glisser du panneau des objets sur la scène. - -![](/gdevelop5/tutorials/geometry-monster/169.png) - -Ajoutez un autre sprite, qui sera le bouton permettant de rejouer. Nommez-le `ButtonTryAgain` (Bouton réessayer) et nommez l'animation `TryAgainNormal` pour l'état du bouton par défaut. Importez l'image. - -![](/gdevelop5/tutorials/geometry-monster/171.png) - -Ajoutez une deuxième animation appelée `Try AgainHover` (RéessayerSurvol) qui sera utilisée pour indiquer que l'utilisateur a positionné le curseur de la souris sur le bouton. - -![](/gdevelop5/tutorials/geometry-monster/172.png) - -La troisième et dernière animation est `TryAgainPressed` (RéessayerPressé), montrant que le joueur veut recommencer. - -![](/gdevelop5/tutorials/geometry-monster/173.png) - -Faites glisser le bouton sur la scène. - -![](/gdevelop5/tutorials/geometry-monster/174.png) - -Répétez cette opération pour le `ButtonMainMenu` (BoutonMenuPrincipal) qui amènera le lecteur au menu principal que nous allons créer bientôt en tant que scène séparée. - -![](/gdevelop5/tutorials/geometry-monster/176.png) - -Après **MainMenuNormal**, le deuxième nom de l'animation est `MainMenuHover` (MenuPrincipalSurvol) ... - -![](/gdevelop5/tutorials/geometry-monster/177.png) - -... et le troisième `MainMenuPressed`, appliquez les modifications. - -![](/gdevelop5/tutorials/geometry-monster/178.png) - -Faites glisser le bouton du menu principal sur la scène. - -![](/gdevelop5/tutorials/geometry-monster/179.png) - -Double-cliquez sur le monstre et ajoutez-lui une deuxième animation (bouton **ADD AN ANIMATION**). - -![](/gdevelop5/tutorials/geometry-monster/180.png) - -C'est l'animation `MonsterDead` qui sera utilisée lorsque le monstre est à court de vies disponibles. - -![](/gdevelop5/tutorials/geometry-monster/181.png) - -Créez un commentaire `Health` dans le panneau de l'onglet **Level1 (Events)**. - -![](/gdevelop5/tutorials/geometry-monster/182.png) - -Ajoutez ensuite un nouvel événement avec une nouvelle condition. - -![](/gdevelop5/tutorials/geometry-monster/183.png) - -Sélectionnez **Monster**, puis **Is just damaged** (Vient juste d'être endommagé) et **OK**. - -![](/gdevelop5/tutorials/geometry-monster/184.png) - -!!! note - - Cette condition **Is just damaged** se trouve ici car elle fait partie du comportement **Health** que nous avions précédemment ajouté à l'objet. - -Cliquez ensuite sur **Life**, **Change the animation (by name)** (Changer l'animation (par son nom), entrez `"Vie" +` dans le champ **Animation name**, puis cliquez sur le bouton **ABC** à droite. Choisissez **Conversion**, puis **Nombre \> Text** (parce que nous voulons transformer la santé du joueur, qui est un nombre, en un texte qui sera utilisé pour choisir l'animation à afficher). - -![](/gdevelop5/tutorials/geometry-monster/185_1.png) - -Dans la fenêtre contextuelle, cliquez sur le bouton **123** ... - -![](/gdevelop5/tutorials/geometry-monster/185_2.png) - -... puis choisissez **Health**. - -![](/gdevelop5/tutorials/geometry-monster/185_3.png) - -Vous serez ensuite invité à entrer le nom de l'objet et le comportement (qui est automatiquement rempli pour vous après avoir sélectionné l'objet). - -![](/gdevelop5/tutorials/geometry-monster/185_4.png) - -Optez pour **Monster**. **Health** est automatiquement écrit dans le deuxième champ. Cliquez sur **APPLY**. - -![](/gdevelop5/tutorials/geometry-monster/185_5.png) - -!!! note - - Il est possible d'avoir plusieurs comportements de même nature pour un objet ! Par exemple, un énorme vaisseau spatial dans un jeu de tir peut avoir plusieurs comportements de santé, correspondant à différentes parties du vaisseau. En général cependant, un seul comportement suffit ! - -GDevelop vous présente la fonction **Monster.Health::Health()** qui retourne la variable de santé. Cette expression sera convertie en texte. - -![](/gdevelop5/tutorials/geometry-monster/185_6.png) - -!!! note - - Confus par la notation `Monster.Health::Health()` ? Le premier **Health** est le nom du comportement, tandis que le second **Health** correspond à la fonction à appeler sur le comportement. - -La valeur finale de **Animation name** sera `"Life" + ToString (Monster.Health::Health())`. - -![](/gdevelop5/tutorials/geometry-monster/185_7.png) - -!!! note - - La fonction **ToString()** est importante, car elle convertit la valeur de la santé (un nombre) en un texte. Sinon, GDevelop essaiera d'ajouter un texte à un nombre, ce qui n'a pas de sens. - -De retour à **Monster**, recherchez l'action **Flash (blink)** (Flash (clignotement)), puis réglez la durée du clignotement sur `1,5` secondes, et cliquez **OK**. - -![](/gdevelop5/tutorials/geometry-monster/186.png) - -Sous le commentaire **Health**, ajoutez une autre condition. - -![](/gdevelop5/tutorials/geometry-monster/187.png) - -Sélectionnez **Monster**, puis **Is dead** (Est mort), et **OK**. - -![](/gdevelop5/tutorials/geometry-monster/188.png) - -!!! note - - Il s'agit là encore d'une condition fournie par le comportement **Health**. - -Cliquez **Add action**. Sélectionnez **Life**, **Change the animation (by name)** (Changer l'animation (par son nom)), puis `"Life0"`. Ainsi, quand le monstre meurt, l'image de vie montre qu'il n'y a plus de cœurs disponibles. - -![](/gdevelop5/tutorials/geometry-monster/189.png) - -Ajoutez encore une autre action, cette fois pour **Monster**, puis **Change the animation (by name)**, et **MonsterDead**. Cela montre l'image du monstre lorsqu'il est à court de vies. - -![](/gdevelop5/tutorials/geometry-monster/190.png) - -L'action suivante dont nous avons besoin consiste à supprimer le groupe **Shapes** en en activant **Delete an object** (Supprimer un objet) ... - -![](/gdevelop5/tutorials/geometry-monster/191.png) - -... et faire de même avec **Obstacle**. - -![](/gdevelop5/tutorials/geometry-monster/192.png) - -Sélectionnez ensuite le sprite **GameOver** et affichez-le à l'écran avec **Show**. - -![](/gdevelop5/tutorials/geometry-monster/193.png) - -Faites de même avec le sprite **ButtonTryAgain** ... - -![](/gdevelop5/tutorials/geometry-monster/194.png) - -... et le sprite **ButtonMainMenu**. - -Tous ces sprites seront affichés en fin de partie, mais nous devons les cacher au début du jeu. - -![](/gdevelop5/tutorials/geometry-monster/195.png) - -Créez un nouveau commentaire appelé **Game Over**, un nouvel événement et ajoutez-y une condition. - -![](/gdevelop5/tutorials/geometry-monster/196.png) - -Recherchez **At the beginning of the scene** (Au début de la scène). - -![](/gdevelop5/tutorials/geometry-monster/198.png) - -Créez ensuite une action où **Hide** (Masquer) est appliqué à l'objet **GameOver**. - -![](/gdevelop5/tutorials/geometry-monster/199.png) - -Faites de même pour le sprite **ButtonTryAgain** ... - -![](/gdevelop5/tutorials/geometry-monster/200.png) - -... et pour le sprite **ButtonMainMenu**. - -![](/gdevelop5/tutorials/geometry-monster/201.png) - -De cette façon, lorsque vous lancez le jeu et perdez toutes vos vies, les cœurs sont presque entièrement transparents, les formes et les bombes disparaissent, l'animation de Monster devient inerte et le message **"Game Over"** est affiché avec le bouton avec une maison et le bouton Réessayez. - -![](/gdevelop5/tutorials/geometry-monster/202.png) - -Le gameplay lui-même est terminé, mais nous aimerions ajouter plus de possibilités dans le jeu. Il serait bien d'introduire plus de scènes dans le jeu en ayant un [Menu principal](/fr/gdevelop5/tutorials/geometry-monster/12-main-menu) au début, et permettre au joueur de démarrer le jeu par lui-même. - -⬅️ **[Étape précédente : 10. Plus de vies](/fr/gdevelop5/tutorials/geometry-monster/10-more-lives)** ➡️ **[Étape suivante : 12. Menu principal](/fr/gdevelop5/tutorials/geometry-monster/12-main-menu)** diff --git a/docs/fr/gdevelop5/tutorials/geometry-monster/12-main-menu.md b/docs/fr/gdevelop5/tutorials/geometry-monster/12-main-menu.md deleted file mode 100644 index 2afe64dcd15..00000000000 --- a/docs/fr/gdevelop5/tutorials/geometry-monster/12-main-menu.md +++ /dev/null @@ -1,162 +0,0 @@ ---- -title: 12-main-menu ---- -FIXME **Cette page est entièrement traduite. Veuillez cependant corriger toutes les erreurs et les éventuelles imprécisions.**_(supprimer ce paragraphe une fois les modifications terminées)_ - -⬅️ **[Étape précédente : 11. Jeu terminé](/fr/gdevelop5/tutorials/geometry-monster/11-game-over)** ➡️ **[Étape suivante : 13. Améliorations !](/fr/gdevelop5/tutorials/geometry-monster/13-juice-it)** - -# 12. Menu principal - -Pour compléter l'expérience de jeu, nous devrions avoir au moins les écrans du menu principal et du gameplay. Si vous pouvez créer plus d'une scène, en avoir des distinctes concernant les paramètres, les crédits ou toute autre chose ne devrait pas être un problème. Créons donc la scène du menu principal, différente de celle du gameplay. - -Cliquez sur le boutoin **Project manager** (Gestionnaire de projet) pour ouvrir le panneau de gauche. - -![](/gdevelop5/tutorials/geometry-monster/203.png) - -Ensuite, sous la section **Scènes**, où apparaît **Level1**, sélectionnez **Click to add a scene** (Cliquez pour ajouter une scène). - -![](/gdevelop5/tutorials/geometry-monster/204.png) - -Le nom par défaut de la nouvelle scène est **NewScene**, mais vous pouvez cliquer avec le bouton droit sur les trois points verticaux à droite pour ouvrir le menu contextuel et sélectionner **Rename** (Renommer). - -![](/gdevelop5/tutorials/geometry-monster/205.png) - -Nommez notre nouvelle scène `MainMenu`. - -![](/gdevelop5/tutorials/geometry-monster/206.png) - -Cliquez sur l'onglet **MAIN MENU** (Menu principal), puis cliquez avec le bouton droit sur la scène et sélectionnez **Scene properties** (Propriétés de la scène). - -![](/gdevelop5/tutorials/geometry-monster/207.png) - -Changez la couleur de la scène à l'aide du sélecteur de couleurs : dans notre cas, c'est `#560921`. - -![](/gdevelop5/tutorials/geometry-monster/208.png) - -Elle devrait ressembler à cela. Cliquez sur le panneau de droite (**Objects**) pour ajouter un nouvel objet et sélectionnez **Sprite**. - -![](/gdevelop5/tutorials/geometry-monster/209.png) - -Le nom de l'objet est `GameTitle` et celui de l'animation `GeometryMonster`. Ajoutez l'image du titre et cliquez sur **BEHAVIORS** (Comportements). - -![](/gdevelop5/tutorials/geometry-monster/211.png) - -Cliquez sur le bouton **ADD A BEHAVIOR TO THE OBJECT**. - -![](/gdevelop5/tutorials/geometry-monster/212.png) - -Cliquez ensuite sur l'onglet **SEARCH NEW BEHAVIORS** ... - -![](/gdevelop5/tutorials/geometry-monster/213.png) - -... et recherchez et sélectionnez **movement**. Nous utiliserons le mouvement **Sine (or ellipsis) movement** (Mouvement sinusoïdal (ou elliptique)) pour animer l'image du titre, qui ne sera donc pas statique, et tout le menu principal aura meilleure allure. - -![](/gdevelop5/tutorials/geometry-monster/214.png) - -Cette extension fonctionne de la même manière que les extensions que nous avons déjà utilisées. Installez-le dans le projet. - -![](/gdevelop5/tutorials/geometry-monster/215.png) - -Parcourez la liste des comportements et cliquez sur le nouveau **Sine movement** (Mouvement sinusoïdal). - -![](/gdevelop5/tutorials/geometry-monster/216.png) - -Configurez-le comme suit : (**Object name**) a pour nom `GameTitle`, **Amplitude of the movement on the X axis to** (Amplitude du mouvement sur l'axe X) à `20`, **Amplitude of the movement on the Y axis** (Amplitude du mouvement sur l'axe Y) à `10` et **Speed** (Vitesse) à `60` degrés par seconde, puis cliquez sur **APPLY**. - -![](/gdevelop5/tutorials/geometry-monster/217.png) - -Il est maintenant temps d'ajouter le bouton Démarrer. Créez un nouvel objet (**New object**) de type **Sprite**. Nommez-le `ButtonStart` et l'animation `StartNormal` pour l'animation et l'image du bouton lui-même. - -![](/gdevelop5/tutorials/geometry-monster/219.png) - -Ajoutez deux autres animations avec leurs images respectives : `StartHover` et `StartPressed`. - -![](/gdevelop5/tutorials/geometry-monster/221.png) - -Faites glisser le titre sur la scène puis faites de même avec le bouton. - -![](/gdevelop5/tutorials/geometry-monster/222_5.png) - -Activez l'onglet **MAINMENU (EVENTS)**, et créez un nouvel événement (bouton en haut à droite). - -![](/gdevelop5/tutorials/geometry-monster/224.png) - -Ajoutez une nouvelle condition : cliquez sur **OTHER CONDITIONS** (Autres conditions), puis sur **The cursor/touch is on an object** (Le curseur/toucher est sur un objet), et affectez-le à `ButtonStart`. N'oubliez pas de sélectionner **Invert condition** (Inverser la condition) pour que cela fonctionne comme nous le voulons. - -![](/gdevelop5/tutorials/geometry-monster/226.png) - -Ajoutons les animations à ce bouton. Sélectionnez **ButtonStart** dans le panneau de gauche, cliquez sur **Change the animation (by name)** (Modifier l'animation (par son nom)) dans celui du milieu et entrez `StartNormal` dans le panneau de droite. - -![](/gdevelop5/tutorials/geometry-monster/227.png) - -Ajoutez une nouvelle condition. - -![](/gdevelop5/tutorials/geometry-monster/228.png) - -Dans le panneau **OTHER CONDITIONS**, sélectionnnez **The cursor/touch is on an object** entrez `ButtonStart`. - -![](/gdevelop5/tutorials/geometry-monster/230.png) - -Répétez ces étapes pour **Change the animation (by name)** et entrez `"StartHover"`. - -![](/gdevelop5/tutorials/geometry-monster/231.png) - -Créez un sous-événement (bouton **Add a sub-event...**), ajoutez la condition **Mouse button pressed or touch held** (Bouton de la souris enfoncé ou touché maintenu), le bouton à tester (**Button to test**) est **Left (primary)** (Gauche (principal)). - -![](/gdevelop5/tutorials/geometry-monster/232.png) - -Maintenant **ButtonStart**, **Change the animation (by name)**, `"StartPressed"` ... - -![](/gdevelop5/tutorials/geometry-monster/232_1.png) - -... et **Mouse button released**, **Left (primary)**. - -![](/gdevelop5/tutorials/geometry-monster/232_2.png) - -L'action que ce bouton va effectuer consiste à changer de scène pour passer à celle du jeu proprement dit. Recherchez **Change the scene** (Changer la scène), puis sélectionnez `"Level1"`. - -![](/gdevelop5/tutorials/geometry-monster/233.png) - -Lancez le jeu et voyez si le menu principal se comporte comme prévu (titre en vol stationnaire, bouton Démarrer fonctionnel), et le gameplay réel est lancé après avoir cliqué sur le bouton. - -![](/gdevelop5/tutorials/geometry-monster/234.png) - -Puisque nous savons maintenant comment passer d'une scène à l'autre, faisons-le pour le bouton Réessayer que nous avons créé plus tôt, mais pour lequel nous n'avons pas encore implémenté l'action réelle. Cliquez sur l'onglet **Level1 (Events)** et **Add condition**. - -![](/gdevelop5/tutorials/geometry-monster/235.png) - -Cliquez sur **OTHER CONDITIONS**, **The cursor/touch is on an object**, puis spécifiez l'objet `ButtonTryAgain`, activez **Invert condition** et finalement pressez **OK**. - -![](/gdevelop5/tutorials/geometry-monster/236.png) - -Maintenant ajoutez une action : **ButtonTryAgain**, **Change the animation (by name)**, et `"TryAgainNormal"`. - -![](/gdevelop5/tutorials/geometry-monster/236_1.png) - -Répétez pour `"TryAgainHover"`. - -![](/gdevelop5/tutorials/geometry-monster/237.png) - -Créez un sous-événement et sa condition. Sélectionnez le **ButtonTryAgain** puis **OTHER CONDITIONS**, **Mouse button pressed or touch held**, `Left (primary)`. - -![](/gdevelop5/tutorials/geometry-monster/238.png) - -Répétez l'action : **ButtonTryAgain**, **Change the animation (by name)**, `"TryAgainPressed"`. - -![](/gdevelop5/tutorials/geometry-monster/239.png) - -Un autre sous-événement, la condition **Left mouse button was released** puis l'action : **Change the scene** pour `"Level1"`, de sorte que le bouton pour réessayer le jeu redémarre le gameplay. - -![](/gdevelop5/tutorials/geometry-monster/240.png) - -Maintenant, pour vous laisser un peu faire par vous-même, compte tenu de ce que vous avez appris jusqu'à présent, essayez d'ajouter de l'interactivité au bouton **ButtonMainMenu**, de sorte qu'il changera son animation pour planer une fois survolé, détecter la pression du bouton gauche, changer l'animation en **MainMenuPressed**, détectez le relâchement du bouton et changez la scène en **MainMenu**. - -![](/gdevelop5/tutorials/geometry-monster/241.png) - -À la fin, cela devrait ressembler à cette capture d'écran ci-dessus. - -Ça marche ! La prochaine étape sera consacrée à l'ajout de la touche finale au jeu : [Améliorations !](/fr/gdevelop5/tutorials/geometry-monster/13-juice-it). - -![](/gdevelop5/tutorials/geometry-monster/247.png) - -⬅️ **[Étape précédente : 11. Jeu terminé](/fr/gdevelop5/tutorials/geometry-monster/11-game-over)** ➡️ **[Étape suivante : 13. Améliorations !](/fr/gdevelop5/tutorials/geometry-monster/13-juice-it)** diff --git a/docs/fr/gdevelop5/tutorials/geometry-monster/13-juice-it.md b/docs/fr/gdevelop5/tutorials/geometry-monster/13-juice-it.md deleted file mode 100644 index 88616639b2f..00000000000 --- a/docs/fr/gdevelop5/tutorials/geometry-monster/13-juice-it.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: 13-juice-it ---- -FIXME **Cette page est entièrement traduite. Veuillez cependant corriger toutes les erreurs et les éventuelles imprécisions.**_(supprimer ce paragraphe une fois les modifications terminées)_ - -⬅️ **[Étape précédente : 12. Menu principal](/fr/gdevelop5/tutorials/geometry-monster/12-main-menu)** ⬅️ **[Retour à l'index](/fr/gdevelop5/tutorials/geometry-monster)** - -# 13. Améliorations ! - -Dans cette dernière partie, nous allons programmer de petites choses qui peuvent rendre le jeu vraiment intéressant : augmenter progressivement le niveau de difficulté et engendrer des effets de particules lorsque Monster collecte les formes. - -Nous allons commencer par la première. Ajoutez un commentaire et intitulez-le `Progressively increase game speed` (Augmenter progressivement la vitesse de jeu). - -![](/gdevelop5/tutorials/geometry-monster/291.png) - -Créez un nouvel événement, ajoutez-y une action **Value of a scene variable** (Valeur d'une variable de scène), appelez cette variable `"GameSpeed"` (Vitesse de la scène) , réglez le signe des modifications sur **+ (add)** et sa valeur à `7 * TimeDelta()`. - -![](/gdevelop5/tutorials/geometry-monster/293.png) - -Ajoutez un autre commentaire, mais plus haut dans la liste des événements, juste en dessous de **Shapes**. Intitulez-le `Move shape according to the game speed` (Déplacer la forme en fonction de la vitesse du jeu). L'augmentation du niveau de difficulté fera tomber les formes plus rapidement. - -![](/gdevelop5/tutorials/geometry-monster/294.png) - -Modifiez l'action et remplacez `100` pixels par `Variable(GameSpeed)`. - -![](/gdevelop5/tutorials/geometry-monster/295.png) - -Cette modification doit être répétée pour l'obstacle bombe. Ajoutez le commentaire `"Déplacer l'obstacle en fonction de la vitesse de jeu"` ... - -![](/gdevelop5/tutorials/geometry-monster/296.png) - -... puis remplacez `100` pixels par `1.5 * Variable(GameSpeed)`, afin que les bombes tombent plus vite que les formes. - -![](/gdevelop5/tutorials/geometry-monster/297.png) - -Testez le jeu et jouez un peu pour voir si cela fonctionne vraiment comme prévu. - -![](/gdevelop5/tutorials/geometry-monster/298.png) - -!!! note - - Vous pouvez rendre le jeu plus facile ou plus difficile en modifiant vous-même la variable **GameSpeed**. - -Passons maintenant aux particules. Cliquez sur **Add a new object** dans le panneau de droite ... - -![](/gdevelop5/tutorials/geometry-monster/299.png) - -... est sélectionnez **Particles emitter** (Émetteur de particules). - -![](/gdevelop5/tutorials/geometry-monster/300.png) - -Ces émetteurs engendrent de petites formes sous l'aspect de particules dès que le monstre ramasse une forme. Le nom de l'objet (**Object name:**) est `Shape1Explosion`, le type de particules : `Textured` (texturé). Sélectionnez ensuite l'image `geometry1.png` et entrez les valeurs des différents paramètres. **Particles start width** (largeur initiale des particules) : `20`, **Particles start height** (hauteur initiale des particules) : `20` pixels, l'opacité du début et de la fin **Start opacity** et **End opacity** est de `255` ; elles seront donc toujours entièrement visibles. - -![](/gdevelop5/tutorials/geometry-monster/301.png) - -Faites défiler vers le bas pour entrer d'autres valeurs. Assurez-vous de sélectionner **Delete when out of particles** (Supprimer quand il n'y a plus de particules) : l'émetteur fera apparaître toutes les particules qui lui sont attribuées et elles seront ensuite supprimées si elles ne sont plus nécessaires. Réglez le nombre maximum de particules (**Maximum number of particles displayed**) à `10`, le nombre de particules dans le réservoir (**Number of particles in tank**) à `5`, le débit (**Flow of particles**) à `45` particules par seconde, la force d'émission minimale appliquée sur les particules (**Minimum emitter force applied on particles**) également à `45`, et le maximum à `85`, l'angle du cône de pulvérisation à `360` degrés (de sorte que l'émetteur génère les particules dans toutes les directions) et le rayon de l'émetteur (**Radius of the emitter**) à `10`. - -![](/gdevelop5/tutorials/geometry-monster/302.png) - -Faites défiler encore plus vers le bas. Réglez la gravité des particules (**Gravity on particles**) sur les axes X et Y à `0` (nous n'avons pas besoin de la gravité dans ce jeu), le frottement sur les particules (**Friction on particles**) à `2`, la durée de vie minimale des particules (**Particle minimum lifetime**) à `0,5` secondes et la durée maximale (**Particle maximum lifetime**) à `1,5` secondes, la taille initiale des particules (**Particle start size**) à `100` pourcent et taille finale (**Particle start size**) à `80` pourcent (elles deviennent donc un peu plus petites après leur apparition), la vitesse de rotation minimale (**Particle minimum rotation speed**) à `0` degrés par seconde et la vitesse maximale à `40` degrés par seconde (donc certains d'entre-elles peuvent tourner un peu). - -Confirmez le tout cela en cliquant sur **APPLY**. - -![](/gdevelop5/tutorials/geometry-monster/303.png) - -Répétez ces étapes pour les trois autres formes : **geometry2**, **geometry3** et **geometry4**. - -![](/gdevelop5/tutorials/geometry-monster/304.png) - -Créez un sous-commentaire pour générer les particules (`CREATE PARTICLES`), puis ajoutez une nouvelle condition. - -![](/gdevelop5/tutorials/geometry-monster/305.png) - -Sélectionnez **Shape1** dans la liste des objets, recherchez et sélectionnez **Number of objects** (Nombre d'objets), puis `≠(not equal to)` (différent de) et comparez à `0` dans le panneau de droite. - -![](/gdevelop5/tutorials/geometry-monster/307.png) - -Ajoutez une nouvelle action `Shape1Explosion` qui apparaît dans la liste des objets, recherchez et sélectionnez **Create and object** (Créer un objet), puis positionnez X (**X position**) sur `Shape1.PointX("Center")` et positionnez Y (**Y position**) sur `Shape1.PointY("Center")`. Elles apparaissent donc au milieu de la forme qu'elles vont remplacer. - -![](/gdevelop5/tutorials/geometry-monster/309.png) - -Ajoutez une autre action **Shape1Explosion**, avec **Size, parameter 1** (Taille, paramètre 1) puis `= (set to)` avec pour valeur `Shape1.Width()`. Confirmez avec **OK** - -![](/gdevelop5/tutorials/geometry-monster/311.png) - -Répétez ces étapes pour les trois autres formes. - -![](/gdevelop5/tutorials/geometry-monster/312.png) - -Nous allons maintenant, ajouter le sous-commentaire de la section concernant la suppression de la forme lorsqu'elle est récoltée, et ensuite déplacer la partie responsable de l'augmentation du score. - -![](/gdevelop5/tutorials/geometry-monster/313.png) - -Faites glisser la partie **Delete object Shapes** (Supprimer les formes des objets) vers le bas ... - -![](/gdevelop5/tutorials/geometry-monster/314.png) - -... pour que cela ressemble à ça. - -![](/gdevelop5/tutorials/geometry-monster/315.png) - -C'est ça ! Les treize étapes sont maintenant terminées et vous avez construit le jeu **Geometry Monster** à partir de zéro. **Félicitations !** - -![](/gdevelop5/tutorials/geometry-monster/316.png) - -Le jeu propose une quantité infinie de formes à collecter, des bombes pour le rendre un peu plus difficile, des vies pour contrer ces difficultés et "adoucir" les erreurs, suivre le score, terminer le jeu lorsque Monster est à court de vies, basculer entre le menu principal et les scènes de gameplay , augmentant le niveau de difficulté, les effets de particules et bien plus encore! - -N'hésitez pas à l'utiliser comme base et à le compléter. Ajoutez des fonctionnalités, modifiez celles existantes et jouez pour en apprendre le plus possible. - -⬅️ **[Étape précédente : 12. Menu principal](/fr/gdevelop5/tutorials/geometry-monster/12-main-menu)** ⬅️ **[Retour à l'index](/fr/gdevelop5/tutorials/geometry-monster)** diff --git a/docs/fr/gdevelop5/tutorials/geometry-monster/2-creating-first-scene.md b/docs/fr/gdevelop5/tutorials/geometry-monster/2-creating-first-scene.md deleted file mode 100644 index e0029f951a4..00000000000 --- a/docs/fr/gdevelop5/tutorials/geometry-monster/2-creating-first-scene.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: 2-creating-first-scene ---- -FIXME **Cette page est entièrement traduite. Veuillez cependant corriger toutes les erreurs et les éventuelles imprécisions.**_(supprimer ce paragraphe une fois les modifications terminées)_ - -⬅️ **[Étape précédente : 1. Installation et configuration](/fr/gdevelop5/tutorials/geometry-monster/1-install-and-setup)** ➡️ **[Étape suivante : 3. Création du personnage principal](/fr/gdevelop5/tutorials/geometry-monster/3-introducing-main-character)** - -# 2. Création de la première scène - -Maintenant, quand nous avons [installé l'éditeur GDevelop](/fr/gdevelop5/tutorials/geometry-monster/1-install-and-setup) et que la configuration de base est terminée, nous pouvons commencer à créer. Pour ajouter des composants au jeu, nous devons commencer par une scène - celle-ci fonctionnera comme un panier contenant divers objets et fera en sorte de les montrer à l'écran. - -Pour ajouter une nouvelle scène, cliquez sur le menu déroulant **Scenes** dans le panneau de gauche et lorsque son contenu est développé, cliquez le bouton **Click to add a scene** (Cliquez pour ajouter une scène), qui est suffisamment explicite puis cliquez sur les trois points à gauche et sélectionnez **Rename**. - -![](/gdevelop5/tutorials/geometry-monster/14.png) - -Appelons notre première scène `Level1`. - -![](/gdevelop5/tutorials/geometry-monster/15.png) - -Après la création réussie de la scène, nous y sommes directement dirigés. Remarquez les onglets **Level1** et **Level1 (Events)** (événements) dans le haut de l'éditeur, onglets que vous pouvez sélectionner séparément. Dans le panneau de gauche, vous pouvez configurer les propriétés de n'importe laquelle des instances sélectionnées dans la scène, dont le contenu réel est visible dans la partie centrale de l'écran (la zone de jeu est déjà en mode portrait), et dans le panneau de droite s'affiche la liste des objets (**Objects**). - -![](/gdevelop5/tutorials/geometry-monster/16.png) - -⬅️ **[Étape précédente : 1. Installation et configuration](/gdevelop5/tutorials/geometry-monster/1-install-and-setup)** ➡️ **[Étape suivante : 3. Création du personnage principal](/fr/gdevelop5/tutorials/geometry-monster/3-introducing-main-character)** diff --git a/docs/fr/gdevelop5/tutorials/geometry-monster/3-introducing-main-character.md b/docs/fr/gdevelop5/tutorials/geometry-monster/3-introducing-main-character.md deleted file mode 100644 index bde425f2363..00000000000 --- a/docs/fr/gdevelop5/tutorials/geometry-monster/3-introducing-main-character.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: 3-introducing-main-character ---- -FIXME **Cette page est entièrement traduite. Veuillez cependant corriger toutes les erreurs et les éventuelles imprécisions.**_(supprimer ce paragraphe une fois les modifications terminées)_ - -⬅️ **[Étape précédente : 2. Création de la première scène](/fr/gdevelop5/tutorials/geometry-monster/2-creating-first-scene)** ➡️ **[Étape suivante : 4. Commandes pour ordinateurs et téléphones mobiles](/fr/gdevelop5/tutorials/geometry-monster/4-desktop-and-mobile-controls)** - -# 3. Création du personnage principal - -Maintenant que la scène elle-même est prête, elle est plutôt vide - ajoutons-y quelque chose ! - -Nous pouvons le faire en cliquant sur le bouton **Add a new object** (Ajouter un nouvel objet) dans le panneau **Objects** à droite. - -![](/gdevelop5/tutorials/geometry-monster/17.png) - -Il ouvre une fenêtre contextuelle où une liste des options disponibles est affichée. Celles-ci vont des **Sprites** à l'option **Text entry** (Entrées de texte) en passant par l'option **Tiled Sprite**, **Text**, **Particles emitter** (émetteurs de particules), **Panel Sprite** et **Shape painter** (dessinateur de formes). Sélectionnez **Sprite**, vocable utilisé pour désigner les objets animés qui peuvent être utilisés pour la plupart des éléments d'un jeu. - -![](/gdevelop5/tutorials/geometry-monster/18.png) - -Une autre fenêtre apparaît alors, mais contenant cette fois-ci les options pour personnaliser le nouvel objet. Nous l'appellerons `Monster`. Il sera notre personnage principal dans le jeu, chargé de collecter des objets et tout en étant en même temps *mignon*. - -![](/gdevelop5/tutorials/geometry-monster/19.png) - -Après lui avoir donné un nom, ajoutons quelques images qui le représenteront sur la scène et dans le jeu. Cliquez sur le bouton **ADD AN ANIMATION** (Ajouter une animation) puis sur le gros bouton **ADD** à gauche pour ouvrir une fenêtre de sélection de fichier. - -![](/gdevelop5/tutorials/geometry-monster/20.png) - -Accédez au dossier où se trouvent les images (vous pouvez les télécharger à partir de ![ici](/gdevelop5/tutorials/geometry-monster-sources.zip)), sélectionnez tout ce que vous souhaitez ajouter (Ici` **monster-idle1.png**` à `monster-idle11.png`), puis cliquez sur **Ouvrir**. - -![](/gdevelop5/tutorials/geometry-monster/21.png) - -Si vos images ne se trouvent pas dans le dossier du projet, GDevelop affiche un message disant que ces fichiers sont en dehors du dossier du projet, donc la prochaine étape recommandée est de permettre de les copier dans le dossier du projet avant de faire quoi que ce soit avec eux. Cliquez sur **OK** pour le faire. - -![](/gdevelop5/tutorials/geometry-monster/22.png) - -Toutes les images que nous venons d'importer serviront pour animer le personnage inactif – celle qui est lue lorsque rien ne se passe. L'animation étant en boucle, il semblera que le monstre ferme et ouvre les yeux de temps en temps, et ce indéfiniment. - -Nous nommerons cette animation `MonsterIdle` (Monstre au repos), et chaque nouvelle image sera rendue après chaque dixième de seconde. - -!!! note - - N'oubliez pas de sélectionner l'option **Loop** (Boucle) pour que l'animation se répète indéfiniment. - -![](/gdevelop5/tutorials/geometry-monster/23.png) - -Vous pouvez également modifier des images dans Piskel (**EDIT IN PISKEL**) ou prévisualiser (**PREVIEW**) l'animation si vous le souhaitez. - -Lorsque tout est terminé, cliquez sur **APPLY** (Appliquer) pour enregistrer les modifications. - -![](/gdevelop5/tutorials/geometry-monster/24.png) - -Vous pouvez maintenant voir l'icône de notre petit monstre dans le panneau de droite, sous la liste **Objects**. N'est-il pas mignon ? - -Pour rendre la scène un peu plus intéressante, ajoutons-lui une couleur d'arrière-plan. Faites un clic droit sur la scène et sélectionnez **Scene properties** (Propriétés de la scène) dans le menu contextuel. - -![](/gdevelop5/tutorials/geometry-monster/25.png) - -Cette commande ouvre une fenêtre contextuelle avec quelques options. Nous sommes intéressés à définir une couleur d'arrière-plan de la scène (**Scene background color**) de sorte que le monstre ait l'air élégant. - -Cliquez sur le sélecteur de couleurs à droite et choisissez une couleur - la nôtre est `#560921`. - -![](/gdevelop5/tutorials/geometry-monster/26.png) - -Après confirmation, la couleur d'arrière-plan de la scène changera pour celle qui a été sélectionnée - succès ! - -![](/gdevelop5/tutorials/geometry-monster/27.png) - -⬅️ **[Étape précédente : 2. Création de la première scène](/fr/gdevelop5/tutorials/geometry-monster/2-creating-first-scene)** ➡️ **[Étape suivante : 4. Commandes pour ordinateurs et téléphones mobiles](/fr/gdevelop5/tutorials/geometry-monster/4-desktop-and-mobile-controls)** diff --git a/docs/fr/gdevelop5/tutorials/geometry-monster/4-desktop-and-mobile-controls.md b/docs/fr/gdevelop5/tutorials/geometry-monster/4-desktop-and-mobile-controls.md deleted file mode 100644 index 36de6bbacbc..00000000000 --- a/docs/fr/gdevelop5/tutorials/geometry-monster/4-desktop-and-mobile-controls.md +++ /dev/null @@ -1,174 +0,0 @@ ---- -title: 4-desktop-and-mobile-controls ---- -FIXME **Cette page est entièrement traduite. Veuillez cependant corriger toutes les erreurs et les éventuelles imprécisions.**_(supprimer ce paragraphe une fois les modifications terminées)_ - -⬅️ **[Étape précédente : 3. Création du personnage principal](/fr/gdevelop5/tutorials/geometry-monster/3-introducing-main-character)** ➡️ **[Étape suivante : 5. Ajout et déplacement de formes](/fr/gdevelop5/tutorials/geometry-monster/5-adding-and-moving-shapes)** - -# 4. Commandes pour ordinateurs et téléphones mobiles - -Maintenant que nous avons créer Monster, ce serait bien de pouvoir le contrôler. - -Faites glisser le monstre du panneau de droite (contenant les objets) sur la scène et cliquez sur l'onglet **Level1 (Events)** pour passer à l'édition des événements. - -![](/gdevelop5/tutorials/geometry-monster/28_5.png) - -La liste des événements est videpar défaut – le message contextuel explique que les événements sont composés de **conditions **et d'**actions**. - -![](/gdevelop5/tutorials/geometry-monster/30.png) - -Dans la partie supérieure droite de l'éditeur sont affichées maintenant quelques icônes. Cliquez sur la troisième à partir de la gauche : un carré bleu clair avec un signe **+** blanc sur fond bleu foncé. Lorsque vous lui passez la souris dessus, l'infobulle indique **Add a new empty event** (Ajouter un nouvel événement vide). - -![](/gdevelop5/tutorials/geometry-monster/31.png) - -Quand l'événement vide est ajouté, cliquez sur **Add condition** (Ajouter une condition), ce qui ouvre une fenêtre contextuelle. - -![](/gdevelop5/tutorials/geometry-monster/32.png) - -Dans la fenêtre contextuelle, vous voyez que notre monstre figure dans la liste des objets. Mais, pour le moment, il ne nous intéresse pas. Cliquez sur l'onglet **OTHER CONDITIONS** (Autres conditions) pour développer la liste des options. - -![](/gdevelop5/tutorials/geometry-monster/33.png) - -!!! note - - Vous n'avez pas l'onglet **OTHER CONDITIONS** ? Pas de panique ! Allez dans les préférences de GDevelop (cliquez sur le menu **File**, ou **GDevelop 5** sur macOS, puis sur **Preferences**). Activez **Use the new action/condition editor** (Utiliser le nouvel éditeur d'action/condition). Vous pouvez ensuite revenir au didacticiel. - - ![](/gdevelop5/tutorials/geometry-monster/activate_new_editor.png) - -Les conditions incluent entre autres les collisions, les opérations sur les variables, la souris et les commandes tactiles. Cliquez sur l'option **Keyboard** (Clavier) pour développer la liste, puis sélectionnez **Key pressed** (Touche pressée). - -![](/gdevelop5/tutorials/geometry-monster/34.png) - -Cette condition teste si une touche spécifique a été pressée. Entrez **Left** (Gauche) dans le champ **Key** (Touche), puis cliquez sur **OK**. - -![](/gdevelop5/tutorials/geometry-monster/35_5.png) - -Revenons maintenant à notre Monster. Cliquez sur **Add an action** (Ajouter une action). - -![](/gdevelop5/tutorials/geometry-monster/37.png) - -Sélectionnez **Monster** dans la liste de gauche, recherchez puis cliquez **Add a force** (Ajouter une force), puis réglez la vitesse **Speed on X axis** sur `-450` et à `0` pour l'axe Y. - -![](/gdevelop5/tutorials/geometry-monster/38.png) - -!!! note - - Assurez-vous que l'option **INSTANT** (Instantané) est sélectionnée, car nous voulons que le monstre se déplace uniquement lorsque vous appuyez sur la touche gauche et s'arrête lorsqu'elle est relâchée. - -Quand vous avez terminé, cliquez sur **OK** pour confirmer. - -GDevelop affiche la version finale de l'événement que nous venons de terminer, avec les conditions à gauche et une action à droite. En langage courant, cela veut dire que lorsque vous appuyez sur la touche gauche, le monstre se déplace horizontalement (en appliquant la force de -450 unités le long de l'Axe X tout en ignorant l'axe Y doté d'une force valant 0) vers le bord gauche de l'écran. - -![](/gdevelop5/tutorials/geometry-monster/45.png) - -**Félicitations**, le monstre se déplace vers la gauche ! Maintenant, ajoutons le déplacement vers la droite. Essayez de le faire vous-même en suivant exactement les mêmes étapes que vous avez faites pour le mouvement vers la gauche. - -![](/gdevelop5/tutorials/geometry-monster/51.png) - -Lorsque vous avez terminé le mouvement vers la droite, les deux événements avec leurs conditions et actions devraient maintenant être en place, afin que le monstre puisse se déplacer dans les deux sens - vers la gauche ou vers la droite. - -Cliquez sur le bouton **Add a comment** (Ajouter un commentaire) dans la barre des outils pour faire apparaître un champ supplémentaire. - -![](/gdevelop5/tutorials/geometry-monster/52.png) - -Faites-le glisser en haut des deux événements (avec la souris sur la barre bleue à gauche). - -![](/gdevelop5/tutorials/geometry-monster/53.png) - -Entrez ensuite le commentaire `Monster`. Ce commentaire nous permet clairement voir à qui s'adresse ces commandes quand nous avons beaucoup d'événements dans la liste. - -Il nous faut maintenant limiter le mouvement du monstre à la partie visible de l'écran, de manière à ce qu'il ne se déplace pas à l'extérieur de celui-ci lorsque nous appuyons sur les touches du clavier. - -![](/gdevelop5/tutorials/geometry-monster/54.png) - -Cliquez sur l'onglet **Level1** pour revenir dans la fenêtre de configuration de la scène et double-cliquez **Monster** dans la liste de droite. - -![](/gdevelop5/tutorials/geometry-monster/54_1.png) - -Cliquez l'onglet **BEHAVIORS** (Comportements) dans la fenêtre qui s'ouvre. - -![](/gdevelop5/tutorials/geometry-monster/54_2.png) - -Puis ajouter un comportement à l'objet en cliquant **ADD A BEHAVIOR TO THE OBJECT** dans la nouvelle fenêtre. - -![](/gdevelop5/tutorials/geometry-monster/54_3.png) - -Cliquez sur l'onglet **SEARCH NEW BEHAVIORS** (Rechercher nouveaux comportements) dans la nouvelle fenêtre. - -![](/gdevelop5/tutorials/geometry-monster/54_4.png) - -Sélectionnez **Screen** (Écran) dans la liste des comportements disponibles. - -![](/gdevelop5/tutorials/geometry-monster/54_5.png) - -Cliquez sur le comportement personnalisé **Stay On Screen** (Rester sur l'écran) que nous allons utiliser pour le monstre. - -![](/gdevelop5/tutorials/geometry-monster/54_6.png) - -Installez-le dans notre projet (**INSTALL IN PROJECT**). Il sera ainsi disponible pour une utilisation ultérieure. - -![](/gdevelop5/tutorials/geometry-monster/54_7.png) - -Sélectionnez-le ensuite dans la liste. - -![](/gdevelop5/tutorials/geometry-monster/54_8.png) - -Entrez `133` pour la marge de droite (dans **Right margin, in pixels**).Cette valeur correspond à la largeur du monstre (en pixels), de manière à ce qu'il ne sorte pas de l'écran vers la droite (son origine se trouve dans la partie supérieure gauche du sprite), puis cliquez sur **APPLY**. - -![](/gdevelop5/tutorials/geometry-monster/54_9.png) - -Dans la barre d'outils (en haut à droite), cliquez sur le premier bouton – **Launch a preview of the scene** (Lancer un aperçu de la scène). - -![](/gdevelop5/tutorials/geometry-monster/55.png) - -Si tout à été fait correctement , l'aperçu du jeu Geometry Monster est lancé, et vous pouvez déjà contrôler le personnage principal ! - -![](/gdevelop5/tutorials/geometry-monster/56.png) - -Maintenant que nous avons des commandes pour un ordinateur (déplacer le monstre avec le clavier), il serait génial d'ajouter la possibilité de le déplacer avec la souris ou avec les doigts sur un écran tactile. Le jeu sera plus facile à jouer avec la souris, et il sera également jouable sur un mobile. - -Cliquez sur l'onglet **Level1 (Events)** puis sur le bouton sur **Add a new empty event** et ajoutez une condition (**(Add condition**). - -![](/gdevelop5/tutorials/geometry-monster/56_1.png) - -Dans l'onglet **OTHER CONDITIONS**, Recherchez **Mouse and touch** (Souris et touché) puis **Mouse button pressed or touch held** (Bouton de la souris enfoncé ou appuyé de manière prolongée), et le bouton à tester (**Button to test**) sera **Left (primary)** (Gauche (principal)). - -![](/gdevelop5/tutorials/geometry-monster/56_2.png) - -Ajoutez maintenant une sous-condition en cliquant dans le quatrième bouton de la barre d'outils en haut à droite. - -![](/gdevelop5/tutorials/geometry-monster/56_3.png) - -Sélectionnez **Monster**, puis **"Compare X position of an object** (Comparer la position X d'un objet) et entrez `> (greater than)` (supérieur à) pour **Sign of the test** (Signe du test) et `MouseX() + 5` pour la **Position X**. - -* `MouseX ()` est une *expression* (aussi appelée *fonction*, comme les fonctions mathématiques). Elle renvoie la position de la souris, ou du toucher sur un écran tactile, en pixels sur l'axe X. - -* Le `5` est un décalage en pixels, de manière à ce que le monstre ne saute pas entre les deux états s'il est cliqué ou touché au centre (vous verrez comment cela est utile en programmant le prochain événement). - -![](/gdevelop5/tutorials/geometry-monster/56_4.png) - -Copiez l'action effectuée à partir de la condition testant une pression sur la touche gauche du clavier. (Faites un clic droit dans zone et sélectionnez **Copy** dans le menu contextuel, comme montré dans la figure.) ... - -![](/gdevelop5/tutorials/geometry-monster/56_5.png) - -... et collez-la dans la condition de nous venons de créer. - -![](/gdevelop5/tutorials/geometry-monster/56_6.png) - -Créez ensuite une nouvelle sous-condition. - -![](/gdevelop5/tutorials/geometry-monster/56_7.png) - -Suivez le même schéma : **Monster**, **Compare X position of an object**, puis **\< (less than)** et **MouseX() - 5** pour le décalage de l'autre côté. - -![](/gdevelop5/tutorials/geometry-monster/56_8.png) - -Copiez et collez l'action de la condition pour la touche droite du clavier et collez-la ici. - -![](/gdevelop5/tutorials/geometry-monster/56_9.png) - -Excellent! Le monstre devrait maintenant se déplacer avec les commandes du clavier et de la souris! - -![](/gdevelop5/tutorials/geometry-monster/56_10.png) - -⬅️ **[Étape précédente : 3. Création du personnage principal](/fr/gdevelop5/tutorials/geometry-monster/3-introducing-main-character)** ➡️ **[Étape suivante : 5. Ajout et déplacement de formes](/fr/gdevelop5/tutorials/geometry-monster/5-adding-and-moving-shapes)** diff --git a/docs/fr/gdevelop5/tutorials/geometry-monster/5-adding-and-moving-shapes.md b/docs/fr/gdevelop5/tutorials/geometry-monster/5-adding-and-moving-shapes.md deleted file mode 100644 index 7c1d253dca7..00000000000 --- a/docs/fr/gdevelop5/tutorials/geometry-monster/5-adding-and-moving-shapes.md +++ /dev/null @@ -1,174 +0,0 @@ ---- -title: 5-adding-and-moving-shapes ---- -FIXME **Cette page est entièrement traduite. Veuillez cependant corriger toutes les erreurs et les éventuelles imprécisions.**_(supprimer ce paragraphe une fois les modifications terminées)_ - -⬅️ **[Étape précédente : 4. Commandes pour ordinateurs et téléphones mobiles](/fr/gdevelop5/tutorials/geometry-monster/4-desktop-and-mobile-controls)** ➡️ **[Étape suivante : 6. Détection des collisions](/fr/gdevelop5/tutorials/geometry-monster/6-collision-detection)** - -# 5. Ajout et déplacement de formes - -Après avoir réussi [l'implementation des déplacements](/fr/gdevelop5/tutorials/geometry-monster/4-desktop-and-mobile-controls) du monstre, il serait bien d'ajouter les formes qui vont tomber et de les déplacer vers le bas de le scène. - -!!! note - - Notez qu'au lieu d'avoir un nombre fixe d'objets placés sur la scène, nous les générerons de manière à ce que le jeu soit de type réellement **sans fin**. - -Dans le panneau **Level1**, cliquez sur **Add a new object** (Ajouter un nouvel objet) dans le panneau de droite pour ouvrir une fenêtre contextuelle. - -![](/gdevelop5/tutorials/geometry-monster/57.png) - -Sélectionnez un **Sprite**, comme nous l'avons fait auparavant avec Monster . - -![](/gdevelop5/tutorials/geometry-monster/58.png) - -Nommez-le `Shape1` et cliquez sur le bouton **ADD AN ANIMATION** (Ajouter une animation). - -![](/gdevelop5/tutorials/geometry-monster/59.png) - -L'animation de cet objet s'appelle **NewObject1**. Chargez l'image du triangle à partir du disque. Le temps de rendu n'est pas important car c'est la seule image que nous avons, il en va de même pour l'animation en boucle. Cliquez sur **APPLY** (Appliquer) pour l'enregistrer. - -![](/gdevelop5/tutorials/geometry-monster/60.png) - -Cliquez encore une fois sur **Add a new object**. - -![](/gdevelop5/tutorials/geometry-monster/61.png) - -Faites de même pour la deuxième forme **Shape2** avec comme nom d'animation **NewObject2**, importez l'image du carré, puis cliquez **APPLY**. - -![](/gdevelop5/tutorials/geometry-monster/62.png) - -Répétez les mêmes opérations pour le cercle. - -![](/gdevelop5/tutorials/geometry-monster/63.png) - -Répétez encore une fois pour la dernière et quatrième forme, un pentagone. - -![](/gdevelop5/tutorials/geometry-monster/64.png) - -Les quatre formes sont maintenant visibles dans la liste **Objects** dans le panneau de droite. Nous allons les regrouper avec l'éditeur de groupes d'objets **Object groups**. Pour ce faire, cliquez sur la quatrième icône située dans le menu en haut à droite, celle qui a trois cubes. - -![](/gdevelop5/tutorials/geometry-monster/65.png) - -Cette opération ajoute un panneau supplémentaire à droite du panneau **Objects**, intitulé **Object Groups**. Cliquez sur **Group** pour ouvrir une fenêtre contextuelle. - -![](/gdevelop5/tutorials/geometry-monster/66.png) - -Cliquez sur **Choose an object to add to the group** (Choisir un objet à ajouter au groupe), puis sélectionnez la première forme. - -![](/gdevelop5/tutorials/geometry-monster/67.png) - -Continuez à ajouter les formes jusqu'à ce que toutes soient répertoriées dans le groupe, puis cliquez sur **APPLY**. - -!!! note - - Prenez garde de ne pas ajouter le monstre à ce groupe, uniquement les formes. - -![](/gdevelop5/tutorials/geometry-monster/69.png) - -Cliquez maintenant sur les trois points verticaux à côté de **Group** dans le panneau **Object Groups**pour ouvrir un menu contextuel et cliquez sur **Remane** (Renommer). - -![](/gdevelop5/tutorials/geometry-monster/70.png) - -Renommez le groupe `Shapes` (Formes) et confirmez. - -![](/gdevelop5/tutorials/geometry-monster/71.png) - -Activez le panneau **Level1 (Events)**, cliquez le quatrième bouton dans la barre des menus en haut à droite pour ajouter un commentaire indiquant que cette nouvelle section concerne les formes. Inscrivez `Shapes` dans ce commentaire. - -![](/gdevelop5/tutorials/geometry-monster/73.png) - -Cliquez ensuite sur le bouton **Add a new event** (Ajouter un nouvel événement) puis ajoutez une condition (**Add condition**) pour ouvrir une fenêtre contextuelle. - -![](/gdevelop5/tutorials/geometry-monster/74.png) - -Dans l'onglet **OTHER CONDITIONS** (Autres conditions), recherchez **Timers and time** (Temps et chronomètre), puis cliquez pour le sélectionner. - -![](/gdevelop5/tutorials/geometry-monster/76.png) - -!!! note - - Vous n'avez pas l'onglet **OTHER CONDITIONS** ? Pas de panique ! Allez dans les préférences de GDevelop (cliquez sur le menu **File**, ou **GDevelop 5** sur macOS, puis sur **Preferences**). Activez **Use the new action/condition editor** (Utiliser le nouvel éditeur d'action/condition). Vous pouvez ensuite revenir au didacticiel. ![](/gdevelop5/tutorials/geometry-monster/activate_new_editor.png) - -Ensuite, dans la liste déroulante, sélectionnez **Value of a scene timer** (Valeur d'un chronomètre de scène) et entrez deux valeurs. La première est `1,3` dans le champ **Time in seconds** (Temps en secondes) qui spécifie la durée de la minuterie en secondes. Autrement dit, toutes les 1,3 secondes, nous déposons une nouvelle forme sur la scène. - -Le deuxième est le nom de la minuterie **Timer's name** que vous appelez `"ShapeCreation"`, puis cliquez sur **OK** lorsque vous avez entré ces deux valeurs. - -![](/gdevelop5/tutorials/geometry-monster/77_5.png) - -Maintenant que la condition est définie, ajoutons l'action en cliquant sur **Add action**:. - -![](/gdevelop5/tutorials/geometry-monster/79.png) - -Cliquez sur **Other actions** (Autres actions). - -![](/gdevelop5/tutorials/geometry-monster/80.png) - -Recherchez ensuite **Create an object from its name** (Créer un objet à partir de son nom) qui se trouve dans la liste déroulante **Non-objects and other actions** (Non-objets et autres actions). - -![](/gdevelop5/tutorials/geometry-monster/81.png) - -Dans le panneau de droite, recherchez le groupe **Shapes** et cliquez-lui dessus. - -![](/gdevelop5/tutorials/geometry-monster/82.png) - -Les trois valeurs que nous devons spécifier sont : **Text representing the name of the object to create** (Texte représentant le nom de l'objet à créer), **X position** et **Y position**. La première est `"Shape"+ ToString (RandomInRange(1,4))`, de sorte que chaque fois qu'un nouvel objet est créé, ce sera l'une des quatre formes disponibles choisie au hasard. - -La position X est `RandomInRange(80,640-80)` - ce qui signifie que nous choisissons une position aléatoire entre 80 et 560 pixels. Pourquoi ces valeurs spécifiques ? Pour nous assurer que les formes sont entièrement restituées sur la scène et ne soient pas partiellement découpées si elles sont rendues sur l'un des bords de l'écran. - -La position Y est `-100`, donc la nouvelle forme apparaît au-dessus de la zone visible, puis descend. Cela semble plus naturel que de la faire apparaître directement dans la zone de jeu. - -![](/gdevelop5/tutorials/geometry-monster/83.png) - -!!! note - - Un peu perdu au sujet des positions sur l'écran ? Si vous déplacez votre curseur dans l'éditeur de scène, vous verrez en bas à gauche les positions X et Y du curseur. Utile pour se faire une idée de l'emplacement d'un objet tout en travaillant avec des événements comme ceux-ci. - -Ajoutons une autre action (**Add action**) à celle que nous venons de créer. - -![](/gdevelop5/tutorials/geometry-monster/84.png) - -Assurez-vous que les formes **Shapes** sont bien sélectionnées, puis recherchez **Angle** dans le panneau à droite. Cette commancde change l'angle de rotation d'un objet. Dans **Modification's sign** (Signe de la modification), sélectionnez **= (set to)** (= (défini à)) et la valeur `RandomInRange(0, 360)`. - -Désormais, chaque fois qu'une nouvelle forme est créée et déposée dans la zone de jeu, elle sera tournée d'une valeur aléatoire comprise entre 0 et 360 degrés. Cela ajoutera de la variété à la façon dont les formes apparaissent dans le jeu. - -![](/gdevelop5/tutorials/geometry-monster/85.png) - -Allons encore plus loin avec les personnalisations - cliquez à nouveau sur **Add action**. - -![](/gdevelop5/tutorials/geometry-monster/86.png) - -Cliquez sur **Shapes**, puis recherchez **Scale** (Echelle). Sélectionnez **= (set to)** et entrez `RandomInRange(0.8, 1.6)`. Cela personnalisera encore plus les formes en introduisant une mise à l'échelle aléatoire : certaines d'entre elles seront un peu plus petites que l'original (80% de l'original), et certaines seront plus grandes (160%). - -![](/gdevelop5/tutorials/geometry-monster/87.png) - -!!! note - - La rotation et la mise à l'échelle sont un excellent moyen de rendre le jeu plus amusant même si nous n'avons encore que quatre formes de base dans le jeu. - -Cliquez **Add action** puis **OTHER ACTIONS** (Autres actions). Recherchez **Timers and time** (Temps et chronomètre), et sélectionnez **Start (or reset) a scene timer** "Démarrer (ou réinitialiser) un chronomètre de scène). - -![](/gdevelop5/tutorials/geometry-monster/89.png) - -Le nom du minuteur étant **ShapeCreation**, chaque fois qu'une nouvelle forme est créée, le minuteur est réinitialisé et nous attendons 1,3 seconde avant qu'une nouvelle forme ne soit créée à nouveau et cela indéfiniment. - -![](/gdevelop5/tutorials/geometry-monster/90.png) - -Nous avons presque terminé avec les formes. Créez un commentaire intitulé **Move shapes** (Déplacer les formes), cliquez sur **Add a new empty event** (Ajouter un nouvel événement vide), puis sur **Add action**. - -![](/gdevelop5/tutorials/geometry-monster/91.png) - -Définissez l'action de la manière suivante : sélectionnez **Shapes**, puis à droite **Add a force (angle)** (Ajouter une force (angle)), et réglez **Angle** sur` **90**` et **Speed (in pixels per second)** (Vitesse en (pixels par seconde)) sur `100`. - -![](/gdevelop5/tutorials/geometry-monster/92.png) - -Ajoutez une autre action : **Shapes**, puis **Rotate** (Rotation) et réglez la vitesse angulaire **Angular speed (in degrees per second)** sur `90`. - -![](/gdevelop5/tutorials/geometry-monster/92_2.png) - -C'est fait ! Non seulement less formes sont générées de manière aléatoire et indéfinie, elles ont non seulement une rotation et une mise à l'échelle aléatoires au début, mais elles tournent aussi en tombant. - -![](/gdevelop5/tutorials/geometry-monster/94.png) - -Lancez le jeu pour voir tout cela en action : les formes devraient tomber sur la scène. Mais on dirait que quelque chose manque, non ? Les formes passent sur le monstre. Nous devons donc introduire [la détection des collisions](/gdevelop5/tutorials/geometry-monster/6-collision-detection) pour pouvoir les collecter. - -⬅️ **[Étape précédente : 4. Commandes pour ordinateurs et téléphones mobiles](/fr/gdevelop5/tutorials/geometry-monster/4-desktop-and-mobile-controls)** ➡️ **[Étape suivante : 6. Détection des collisions](/fr/gdevelop5/tutorials/geometry-monster/6-collision-detection)** diff --git a/docs/fr/gdevelop5/tutorials/geometry-monster/6-collision-detection.md b/docs/fr/gdevelop5/tutorials/geometry-monster/6-collision-detection.md deleted file mode 100644 index aff175f37c4..00000000000 --- a/docs/fr/gdevelop5/tutorials/geometry-monster/6-collision-detection.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: 6-collision-detection ---- -FIXME **Cette page est entièrement traduite. Veuillez cependant corriger toutes les erreurs et les éventuelles imprécisions.**_(supprimer ce paragraphe une fois les modifications terminées)_ - -⬅️ **[Étape précédente : 5. Ajout et déplacement de formes](/fr/gdevelop5/tutorials/geometry-monster/5-adding-and-moving-shapes)** ➡️ **[Étape suivante : 7. Bruitages amusants](/fr/gdevelop5/tutorials/geometry-monster/7-sounds-fun)** - -# 6. Détection des collisions - -Les formes tombent, mais elles n'interagissent pas avec le monstre. Nous aimerions pouvoir contrôler le monstre et lui permettre de collecter les formes qui tombent - c'est à cela que sert la ***détection des collisions***. - -Ajoutez un nouveau commentaire et appelez-le `Collision`. - -![](/gdevelop5/tutorials/geometry-monster/95.png) - -Ajoutez ensuite une nouvelle condition (**Add condition**). - -![](/gdevelop5/tutorials/geometry-monster/96.png) - -Comme toujours, assurez-vous que **Shapes** soit sélectionné, puis recherchez **Collision** (qui testera la collision entre deux objets). Dans le panneau de droite, entrez `Monster` et cliquez sur **OK**. - -![](/gdevelop5/tutorials/geometry-monster/97.png) - -Nous avons la condition, il est maintenant temps d'ajouter une action (**Add action**). - -![](/gdevelop5/tutorials/geometry-monster/99.png) - -Activez **Shapes**, recherchez et activez **Delete an object** (Supprimer un objet) puis cliquez **OK**: - -![](/gdevelop5/tutorials/geometry-monster/100.png) - -Ce fut rapide ! La détection de collisions en elle-même est simple, mais sa puissance se révélera dans les chapitres suivants, où nous ajouterons de nombreuses actions à la condition de collision créée ci-dessus. - -⬅️ **[Étape précédente : 5. Ajout et déplacement de formes](/fr/gdevelop5/tutorials/geometry-monster/5-adding-and-moving-shapes)** ➡️ **[fr/gdevelop5:tutorials:geometry-monster:7-sounds-fun\|Étape suivante : 7. Bruitages amusants](/gdevelop5/tutorials/geometry-monster/7-sounds-fun)** diff --git a/docs/fr/gdevelop5/tutorials/geometry-monster/7-sounds-fun.md b/docs/fr/gdevelop5/tutorials/geometry-monster/7-sounds-fun.md deleted file mode 100644 index c9afb614a6d..00000000000 --- a/docs/fr/gdevelop5/tutorials/geometry-monster/7-sounds-fun.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: 7-sounds-fun ---- -FIXME **Cette page est entièrement traduite. Veuillez cependant corriger toutes les erreurs et les éventuelles imprécisions.**_(supprimer ce paragraphe une fois les modifications terminées)_ - -⬅️ **[Étape précédente : 6. Détection des collisions](/fr/gdevelop5/tutorials/geometry-monster/6-collision-detection)** ➡️ **[Étape suivante : 8. Suivi du score](/fr/gdevelop5/tutorials/geometry-monster/8-tracking-score)** - -# 7. Bruitages amusants - -La [détection des collisions](/fr/gdevelop5/tutorials/geometry-monster/6-collision-detection) est à elle seule brève et "nue", mais lorsque Monster et la forme entrent en collision, rien ne se passe mise à part la destruction de la forme. Nous pouvons profiter de cette condition (la détection d'une collision) et y ajouter quelque chose de plus, un ***son*** (bruitage). - -Ajoutez une action, sélectionnez **Monster** puis l'onglet **OTHER ACTIONS** (Autres actions). - -![](/gdevelop5/tutorials/geometry-monster/101.png) - -Recherchez **Audio** dans le menu déroulant qui s'ouvre, optez pour **Play a sound** (Jouer un son). Dans le panneau de droite, cliquez sur **Choose a new audio file** (Choisir un nouveau fichier audio). - -![](/gdevelop5/tutorials/geometry-monster/102.png) - -Cette action ouvre une fenêtre contextuelle où vous pourrez choisir et charger un fichier audio qui sera joué lorsque une forme est collectée par le monstre. Pour nous, il s'agit du fichier `monster.wav`. - -![](/gdevelop5/tutorials/geometry-monster/103.png) - -Si vous l'avez sélectionné correctement, vous devriez voir le nom du fichier son qui sera utilisé. - -![](/gdevelop5/tutorials/geometry-monster/104.png) - -!!! note - - Assurez-vous que **Repeat the sound** (Répéter le son) est réglé sur **NO** car nous voulons que le son ne soit joué qu'une seule fois lorsque le monstre récupère la forme. Le volume par défaut est `100`. - -![](/gdevelop5/tutorials/geometry-monster/105.png) - -Maintenant que le bruitage est programmé, nous pouvons commencer à penser à [suivre le score](/fr/gdevelop5/tutorials/geometry-monster/8-tracking-score). - -⬅️ **[\|Étape précédente : 6. Détection des collisions](/fr/gdevelop5/tutorials/geometry-monster/6-collision-detection)** ➡️ **[Étape suivante : 8. Suivi du score](/fr/gdevelop5/tutorials/geometry-monster/8-tracking-score)** diff --git a/docs/fr/gdevelop5/tutorials/geometry-monster/8-tracking-score.md b/docs/fr/gdevelop5/tutorials/geometry-monster/8-tracking-score.md deleted file mode 100644 index 732db19f7d8..00000000000 --- a/docs/fr/gdevelop5/tutorials/geometry-monster/8-tracking-score.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: 8-tracking-score ---- -FIXME **Cette page est entièrement traduite. Veuillez cependant corriger toutes les erreurs et les éventuelles imprécisions.**_(supprimer ce paragraphe une fois les modifications terminées)_ - -⬅️ **[Étape précédente : 7. Bruitages amusants](/fr/gdevelop5/tutorials/geometry-monster/7-sounds-fun)** ➡️ **[Étape suivante : 9. Ajout de bombes](/fr/gdevelop5/tutorials/geometry-monster/9-adding-bombs)** - -# 8. Suivi du score - -C'est génial d'avoir déjà [des bruitages](/fr/gdevelop5/tutorials/geometry-monster/7-sounds-fun), mais la partie la plus importante est en fait de compter le nombre de formes que le monstre a pu collecter. Nous allons profiter de la [détection des collisions](/fr/gdevelop5/tutorials/geometry-monster/6-collision-detection) de la même manière : lorsque une forme est collectée, non seulement nous jouons un son, mais nous augmentons également le ***score***. - -Pour commencer, ajoutons une action après les actions servant à supprimer une forme et jouer un son, que nous avions ajoutées dans les chapitres précédents. Choisissez **Add an action** (Ajouter une action). - -Cliquez sur **OTHER ACTIONS** (Autres actions), recherchez **Variables** et sélectionnez **Value of a scene variable** (Valeur d'une variable de scène). Ensuite, dans le panneau de droite, mettez `Score` dans le champ **Variable**, **Modification's sign** (signe de la modification) sur `+ (add)` et **value** à `1`. Ces réglages signifient que chaque fois qu'une forme est collectée par le monstre, la forme disparaît et le joueur obtient un point. - -![](/gdevelop5/tutorials/geometry-monster/107.png) - -!!! note - - Ces instructions sont en fait un peu incomplètes : au cas où nous collecterions deux formes en même temps, nous n'obtiendrions qu'un seul point ! En effet, la condition sera considérée comme "vraie" pour les deux formes qui entrent en collision avec le monstre, mais l'action n'est alors exécutée qu'une seule fois. Nous corrigerons cela dans quelques instants avec un événement **For Each**. - -Nous avons maintenant la possibilité de suivre le score, mais le joueur ne peut pas le voir. Pour afficher le score, nous avons besoin de créer un objet de type texte. - -Cliquez sur l'onglet **Level1**, puis sur **Add a new object** (Ajouter un nouvel objet). - -![](/gdevelop5/tutorials/geometry-monster/108.png) - -Dans la fenêtre contextuelle **Add a new object**, sélectionnez **Text**. - -![](/gdevelop5/tutorials/geometry-monster/109.png) - -Entrez maintenant les propriétés de l'objet texte : **Object Name** (Nom de l'objet) est `Score`, la taille du texte **Size** est `30`, la couleur **Color** jaune, et le style est **Bold** (gras). Le texte lui-même est `Score :` . Confirmez en cliquant **APPLY**. - -![](/gdevelop5/tutorials/geometry-monster/110.png) - -Activez l'onglet **Level1 (Events)**, cliquez sur **Add an action**, et dans la fenêtre contextuelle, sélectionnez notre nouvelle variable **Score**. Recherchez et sélectionnez **Modify the text** (Modifier le texte), et dans le panneau de droite, sélectionnez **= (set to)** pour **Modification's sign**, en entrez dans le champ **Text** : `" Score : " + ToString(Variable(Score))`. - -![](/gdevelop5/tutorials/geometry-monster/112.png) - -Ces instructions mettent à jour le texte **Score** avec la valeur actuelle de la variable chaque fois qu'une forme entre en collision avec le monstre. - -!!! note - - Comme mentionné précédemment, cela est quelque peu incomplet car si le monstre entre en collision avec deux objets en même temps, les actions d'événement ne seront exécutées qu'une seule fois, donc un seul point sera ajouté au score. Nous devons dire à GDevelop d'exécuter les actions pour chaque forme entrée en collision à un moment donné. Faisons-le donc ! - -Activez l'onglet **Level1 (Events)**. Cliquez ensuite sur le bouton **Choose and add an event** (Choisir et ajouter un événement) dans la barre des outils, puis sur **For each object** (Pour chaque objet) dans le menu contextuel. - -![](/gdevelop5/tutorials/geometry-monster/113_5.png) - -Entrez le nom de l'objet, qui dans notre cas est le groupe appelé **Shapes**. - -![](/gdevelop5/tutorials/geometry-monster/115.png) - -Assurez-vous de faire glisser **Shapes in collision with Monster** (Formes en collision avec Monster) afin que cette instruction soit répétée pour chaque objet **Shapes**. - -![](/gdevelop5/tutorials/geometry-monster/116.png) - -Enfin, faites glisser toutes les actions dans le nouvel événement **For Each**. - -![](/gdevelop5/tutorials/geometry-monster/117.png) - -Vous pouvez ensuite supprimer l'événement vide. - -![](/gdevelop5/tutorials/geometry-monster/118.png) - -Activez maintenant l'onglet **Level1**, prenez l'objet **Score** dans le panneau de droite et faites-le glisser sur la scène. - -![](/gdevelop5/tutorials/geometry-monster/119_5.png) - -Lancez le jeu pour tester si le comptage du score et l'affichage des informations mises à jour fonctionnent comme prévu. - -![](/gdevelop5/tutorials/geometry-monster/121.png) - -⬅️ **[Étape précédente : 7. Bruitages amusants](/fr/gdevelop5/tutorials/geometry-monster/7-sounds-fun)** ➡️ **[Étape suivante : 9. Ajout de bombes](/fr/gdevelop5/tutorials/geometry-monster/9-adding-bombs)** diff --git a/docs/fr/gdevelop5/tutorials/geometry-monster/9-adding-bombs.md b/docs/fr/gdevelop5/tutorials/geometry-monster/9-adding-bombs.md deleted file mode 100644 index eeea72c8e49..00000000000 --- a/docs/fr/gdevelop5/tutorials/geometry-monster/9-adding-bombs.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: 9-adding-bombs ---- -FIXME **Cette page est entièrement traduite. Veuillez cependant corriger toutes les erreurs et les éventuelles imprécisions.**_(supprimer ce paragraphe une fois les modifications terminées)_ - -⬅️ **[Étape précédente : 8. Suivi du score](/fr/gdevelop5/tutorials/geometry-monster/8-tracking-score)** ➡️ **[Étape suivante : 10. Plus de vies](/fr/gdevelop5/tutorials/geometry-monster/10-more-lives)** - -# 9. Ajout de bombes - -Bien que ce soit génial d'avoir le mécanisme de base pour collecter les formes, cela devient ennuyeux assez rapidement, et c'est beaucoup trop facile. Et si nous pouvions augmenter le niveau de difficulté en introduisant des objets que vous ne devriez pas collecter ? Voici les **bombes** ! - -Cliquez le bouton **Add a new object** (Ajouter un nouvel objet) ... - -![](/gdevelop5/tutorials/geometry-monster/122.png) - -... et sélectionnez **Sprite**. - -![](/gdevelop5/tutorials/geometry-monster/123.png) - -Le nom de l'objet bombe **Object name** est `Obstacle`. Il en va de même pour le nom de l'animation (**Animation \#0**). L'animation est constituée de deux images, à charger. L'animation doit durer `0,1` secondes et se dérouler en boucle (**Loop**). - -![](/gdevelop5/tutorials/geometry-monster/124.png) - -Ajoutez un autre commentaire et appelez-le `Obstacle`. - -![](/gdevelop5/tutorials/geometry-monster/125.png) - -Ajouter un nouvel événement vide (bouton **Add a new empty event**) puis une nouvelle condition (**Add condition**) et activez l'onglet **OTHER CONDITIONS** (Autres conditions). - -![](/gdevelop5/tutorials/geometry-monster/127.png) - -Activez **Timers and time** (Temps et chronomètre), sélectionnez **Value of a scene timer** (Valeur d'un chronomètre de scène). Dans le panneau de droite, entrez `5` pour **Time in seconds** (Durée en secondes) et `"ObstacleCreation"` pour **Timer's name** . - -![](/gdevelop5/tutorials/geometry-monster/128.png) - -Ces instructions créent une nouvelle minuterie qui engendre une bombe indépendamment de la génération des formes.Une nouvelle bombe apparaîtra toutes les 5 secondes. - -!!! note - - N'hésitez pas à modifier cette valeur pour rendre le jeu plus difficile. Nous verrons dans un prochain chapitre comment accélérer les bombes au fil du temps – pour rendre le jeu plus difficile. Vous pouvez également utiliser une variable au lieu d'un nombre, de sorte que vous pouvez changer pendant le jeu le temps écoulé entre la création des bombes ! - -Maintenant, passons à l'action ! Sélectionnez **Obstacle** dans l'onglet **OBJECTS** puis **Create an object** (Créer un objet) dans la liste à droite, et réglez la position X (**X position**) sur `RandomInRange(80, 640-80)` et la position Y (**Y position**) sur `-100`. C'est exactement la même approche que celle utilisée pour les formes. - -![](/gdevelop5/tutorials/geometry-monster/129.png) - -La deuxième action à ajouter (clic sur **Add action** puis **OTHER ACTIONS**) est **Start (or reset) a scene timer** (Démarrer (ou réinitialiser) un chronomètre de scène) dans la liste de **Timers and time** (Temps et chronomètres), puis lui donner le nom **Timer's name** de `ObstacleCreation`. - -![](/gdevelop5/tutorials/geometry-monster/131.png) - -Le panneau des événements devrait ressembler la figure ci-dessous après avoir terminé avec succès les différentes étapes. Si c'est le cas, ajoutez un commentaire intitulé `Move obstacles` (déplacement des obstacles) puis un autre événement vide dans lequel vous créez une nouvelle action (**Add action**). - -![](/gdevelop5/tutorials/geometry-monster/132.png) - -Dans le panneau **OBJECTS**, sélectionnez **Obstacle**, recherchez et sélectionnez **Add a force (angle)** (Ajouter une force (angle)). Entrez `90` dans le champ **Angle** et `100` dans le champ **Speed**. - -![](/gdevelop5/tutorials/geometry-monster/133.png) - -Nous voulons être sûr que la bombe soit devant les formes, et non derrière elles. À cet effet, nous allons utiliser **Z order**. C'est une manière de dire au jeu comment nous voulons que les objets soient rendus les uns au-dessus des autres. Sélectionnez **Obstacle**, puis **Z order** (PLan) dans la liste à droite, puis **= (set to)** pour le signe de la modification et pour terminer entrez **4** dans **Value**. - -![](/gdevelop5/tutorials/geometry-monster/134.png) - -Lancez le jeu et observez les formes tomber sur l'écran, avec des bombes apparaissant et tombant indépendamment une fois toutes les quelques formes. La récolte des formes vous donne des points, tandis que les bombes ne font encore rien. - -![](/gdevelop5/tutorials/geometry-monster/135.png) - -Les bombes sont une menace importante pour la vie du monstre. Rendons le gameplay un peu plus facile en introduisant des [vies](/gdevelop5/tutorials/geometry-monster/10-more-lives). - -⬅️ **[Étape précédente : 8. Suivi du score](/fr/gdevelop5/tutorials/geometry-monster/8-tracking-score)** ➡️ **[Étape suivante : 10. Plus de vies](/fr/gdevelop5/tutorials/geometry-monster/10-more-lives)** diff --git a/docs/fr/gdevelop5/tutorials/geometry-monster/index.md b/docs/fr/gdevelop5/tutorials/geometry-monster/index.md deleted file mode 100644 index 757cf79110d..00000000000 --- a/docs/fr/gdevelop5/tutorials/geometry-monster/index.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: geometry-monster ---- -FIXME **Cette page est entièrement traduite. Veuillez cependant corriger toutes les erreurs et les éventuelles imprécisions.**_(supprimer ce paragraphe une fois les modifications terminées)_ - -# Geometry Monster - -Bienvenue dans le didacticiel du jeu **Geometry Monster**. Dans cette suite de chapitres, vous apprendrez à créer un jeu hyper-décontracté adapté aux appareils mobiles. - -![](/gdevelop5/tutorials/geometry-monster-banner.png) - -À partir de la création du personnage principal et de son animation, nous passerons par l'ajout de commandes et d'objets à récolter, la détection des collisions, le suivi du score et la génération de vies multiples. Nous mettrons également en œuvre plusieurs scènes, notamment le menu principal et le gameplay, les effets sonores et le niveau de difficulté qui augmente avec le temps. - -![](/gdevelop5/tutorials/game-preview.png) - -!!! note - - Ce tutoriel utilise le nouvel éditeur d'action/condition ! Si vous avez déjà installé GDevelop, allez dans les préférences de GDevelop (cliquez sur le menu "Fichier" ou "GDevelop 5" sur macOS), puis "Préférences". Activez «Utiliser le nouvel éditeur d'action/condition» (Use the new action/condition editor). Vous pouvez ensuite revenir au didacticiel. ![](/gdevelop5/tutorials/geometry-monster/activate_new_editor.png) - -## Table des matières - -1\. [Installation et configuration](/fr/gdevelop5/tutorials/geometry-monster/1-install-and-setup) 2. [Création de la première scène](/fr/gdevelop5/tutorials/geometry-monster/2-creating-first-scene) 3. [Création du personnage principal](/fr/gdevelop5/tutorials/geometry-monster/3-introducing-main-character) 4. [Commandes pour ordinateurs et téléphones mobiles](/fr/gdevelop5/tutorials/geometry-monster/4-desktop-and-mobile-controls) 5. [Ajout et déplacement de formes](/fr/gdevelop5/tutorials/geometry-monster/5-adding-and-moving-shapes) 6. [Détection des collisions](/fr/gdevelop5/tutorials/geometry-monster/6-collision-detection) 7. [Bruitages amusants](/fr/gdevelop5/tutorials/geometry-monster/7-sounds-fun) 8. [Suivi du score](/fr/gdevelop5/tutorials/geometry-monster/8-tracking-score) 9. [Ajout de bombes](/fr/gdevelop5/tutorials/geometry-monster/9-adding-bombs) 10. [Plus de vies](/fr/gdevelop5/tutorials/geometry-monster/10-more-lives) 11. [Jeu terminé](/fr/gdevelop5/tutorials/geometry-monster/11-game-over) 12. [Menu principal](/fr/gdevelop5/tutorials/geometry-monster/12-main-menu) 13. [Améliorations !](/fr/gdevelop5/tutorials/geometry-monster/13-juice-it) - -!!! note - - Des chapitres bonus permettant d'ajouter de nouvelles fonctionnalités au jeu seront ajoutés ! N'oubliez pas de vérifier cette page de temps en temps. - -## Obtenir les sources - -Téléchargez les ![sources du jeu Geometry Monster](/gdevelop5/tutorials/geometry-monster-sources.zip) contenant toutes les images dont vous avez besoin pour terminer le jeu, et le fichier `json` du projet final si vous souhaitez tout vérifier vous-même. - -## Jouer à Geometry Monster - -Vous pouvez également essayer le jeu et le jouer en ligne dès maintenant si vous voulez avoir une idée du gameplay - il peut être lancé en cliquant [geometry.enclavegames.com](https://geometry.enclavegames.com/). diff --git a/docs/fr/gdevelop5/tutorials/index.md b/docs/fr/gdevelop5/tutorials/index.md deleted file mode 100644 index a87e436f50a..00000000000 --- a/docs/fr/gdevelop5/tutorials/index.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: GDevelop 5 tutoriels ---- -# GDevelop 5 tutoriels - -Ces tutoriels sont des guides qui expliquent, étape par étape, comment créer un jeu à partir de zéro : - -!!! note - - Si vous utilisez GDevelop pour la première fois, il est recommandé de commencer avec ces tutoriels - -* **[Concepts de base : ce que vous devez savoir pour commencer avec GDevelop](/fr/gdevelop5/tutorials/basic-game-making-concepts)** -* **[Créer un jeu de plateforme](/fr/gdevelop5/tutorials/platform-game/start)** -* **[Geometry Monster : un jeu mobile simple et complet](/gdevelop5/tutorials/geometry-monster)** (anglais) - -Tutoriels communautaires : - -- [Créer un jeu simple de Tank Shooter](/fr/gdevelop5/tutorials/tank-shooter) -- [Créer un jeu simple de Course Infinie](/fr/gdevelop5/tutorials/endless-runner) -- [Créer un jeu simple de casse-briques](/fr/gdevelop5/tutorials/breakout) -- [Créer un rpg isometric](/fr/gdevelop5/tutorials/isometric-rpg/start) - ------------------------------------------------------------------------- - -# Les guides "Comment faire" de GDevelop Les guides suivants fournissent des explications pour certaines parties de GDevelop. Ils vous montrent également quelques mécanismes avancés pour la conception de vos jeux : - -(Remarque : tous ces guides sont en anglais) - -- [Comment déplacer des objets dans votre jeu (toutes les possibilités)](/gdevelop5/tutorials/how-to-move-objects) -- [Comment animer le saut et la chute d'un personnage dans un jeu de plateformes](/gdevelop5/tutorials/how-to-animate-jump-fall-platformer) -- [Comment afficher un grand fond dans votre jeu](/gdevelop5/tutorials/how-to-display-big-background) -- [Comment déboguer de mauvaises performances de jeu](/gdevelop5/tutorials/how-to-debug-poor-performance) -- [Comment réduire la taille de votre jeu](/gdevelop5/tutorials/reduce-size-game) -- [Comment gérer une logique complexe - La machine d'états finis (FSM)](/gdevelop5/tutorials/finite_state_machine) -- [Comment utiliser GDevelop en équipe (plusieurs développeurs et coéquipiers)](/gdevelop5/tutorials/how-to-use-GDevelop-as-a-team) - ------------------------------------------------------------------------- - -# Autres guides Les guides ci-dessous fournissent des explications relatives au développement des jeux. Ils ne sont pas spécifiques à GDevelop. - -* [Publier votre jeu sur itch.io](/fr/gdevelop5/publishing/publishing-to-itch-io) -* [Publier votre jeu sur Amazon Store](/gdevelop5/publishing/publishing-to-amazon-app-store) (anglais) -* [Publier votre jeu sur Gamejost](/gdevelop5/publishing/publishing-to-gamejolt-store) (anglais) -* [Publier votre jeu sur Kongregate](/gdevelop5/publishing/publishing-to-kongregate-store) (anglais) - ------------------------------------------------------------------------- - -# Tutoriels vidéo - -- [La liste des tutoriels vidéo réalisé par la Communauté francophone](https://www.youtube.com/watch?list=PL3YlZTdKiS8_S_BaL5NNMyYDwKlQjnfU9) -- [La liste des tutoriels vidéo réalisés par la Communauté anglophone](/gdevelop5/tutorials/videos). - ------------------------------------------------------------------------- - -# Ressources - -Liens vers des sites web tiers où vous pouvez trouver des sprites, de la musique et des effets sonores pour vos jeux, ainsi que des exemples de jeux, des modèles et des logiciels pour vous aider à développer des jeux. - -- [Liste des ressources](/gdevelop5/tutorials/resources) (anglais) diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/2-decor.md b/docs/fr/gdevelop5/tutorials/isometric-rpg/2-decor.md deleted file mode 100644 index 1bb710bf7a3..00000000000 --- a/docs/fr/gdevelop5/tutorials/isometric-rpg/2-decor.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: Étape numéro 2 - Ajout du décors ---- -# Étape numéro 2 : Ajout du décors - -### Résumé - - * Ajout des décors, comme des objets de type sprite. Utilisation des numéros d'animation pour chaque partie de l'image du fond du jeu. - -## Ajout de l'objet Decor de type Sprite : - - * Nous allons ajouter les décors de la même manière que précédemment avec l'objet du personnage. - -Cliquez dans l'onglet Object, Add an object puis Sprite. Renommez l'objet en Decor puis cliquez sur le **+** et encore le **+** au milieu du carré pour ajouter une première image à cet objet, sélectionnez l'image row-1-col-1.jpg dans le répertoire tiled-bg, vous obtenez : - -![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-1.png) - -Apply - -Puis recommencez, cliquez tout en bas à droite sur Add an animation puis **+** et sélectionnez l'image row-1-col-2.jpg. L'objet Decor contient maintenant deux "animations" référencées respectivement **Animation #0** et **#1** . - -![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-2.png) - -Maintenant revenons à notre scène, il suffit alors de sélectionner l'objet Decor et de le poser sur la scène comme ceci : - -![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-3.png) - -Le panneau Properties est ouvert, on y retrouve le nom de l'objet, la position relative au point en haut à gauche de notre scène, dans l'image au-dessus X=14 et Y=7. Cela signifie que le pixel en haut et à gauche de ce bout de décor est un peu décalé. -En sélectionnant l'instance 0 de l'objet Decor je peux la faire bouger avec les flèches du clavier pour que les coordonnées deviennent X=0 et Y=0 comme ceci : - -![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-4.png) - -Pour la deuxième partie du décor, il y a plusieurs manières de faire : - - * Soit en refaisant un glisser-déposer de l'objet Decor vers la scène. - * Soit en appuyant sur la touche ctrl et en cliquant sur la première instance Decor et en faisant un glisser déposer, pour faire une copie du même objet automatiquement. - -Une erreur ? Aucune importance, ctrl+Z permet bien sûr de revenir en arrière, et pour effacer une instance d'un objet, il suffit de le sélectionner et de le supprimer. - -Et n'oubliez pas : - -> -> Sauvegardez avec Ctrl + s -warning - - -Maintenant nous avons donc deux fois la même image, pour avoir la deuxième "animation" de l'objet Decor, il faut regarder dans les propriétés de l'instance, et descendre tout en bas, pour écrire animation : 1. - -Vous devez maintenant avoir : - -![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-5.png) -Apply - -Et de même déplacez cette deuxième instance de l'objet Decor avec les flèches. Vous devriez avoir dans les coordonnées de cette instance dans les propriétés, X=0 et Y=256. - -Renouvelez l'opération avec les images jusqu'à row-1-col-8.jpg. Pour cela aidez-vous de l'outil de zoom (molette de la souris), et également des poignées bleues ![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-molette-bleue.png) pour déplacer l'affichage dans votre scène. - -Vous devez obtenir : - -![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-images-fond-ligne-1.png) -## Finalisation du décor de la première scène. - -Continuez la même opération que pour la première ligne, avec l'image row-2-col-1.jpg jusqu'à row-2-col-8.jpg et ainsi de suite jusqu'à l'image row-2-col-1.jpg. Bravo ! L'étape la plus fastidieuse de ce tutoriel est réalisée. -Pensez à sauvegarder. - -Il est possible de gagner du temps, en sélectionnant l'ensemble de la première ligne des images de fond à l'aide de la souris (les images deviennent grisées), et en appuyant sur Ctrl puis clic sur cette zone grisée, vous copiez d'un coup les 8 images. - -Il suffit alors de changer la valeur de l'animation, de 8 à 15. Vous obtenez : - -![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-deux-lignes.png) - -Pour résumé, l'objet Decor, est composée de 64 "animations", placée en carré de 256x256 pixels. -L'image globale composant le décor est donc de 2048*2048 pixels. Il est à noté que normalement chaque animation de cet objet se retrouve dans la couche (layer) Base Layer. \ No newline at end of file diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/index.md b/docs/fr/gdevelop5/tutorials/isometric-rpg/index.md deleted file mode 100644 index a1134707b8b..00000000000 --- a/docs/fr/gdevelop5/tutorials/isometric-rpg/index.md +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: start ---- -!!! note - - Tutoriel en cours de création (9/11/2018), revenez plus tard ? - -# Comment faire un jeu de type RPG isometric - -Ce tutoriel vous aidera à commencer à utiliser **GDevelop**: Vous allez créer un jeu de type RPG en vue isometric très simple où le joueur se déplacera dans un décor pour combattre des monstres et ramasser des trésors. - -Notez que vous pouvez lire la page [Commencer](/fr/gdevelop5/getting_started) pour avoir une vue d'ensemble du logiciel : elle explique les principaux concepts et décrit l'interface de **GDevelop**. - -## Télécharger GDevelop - -Si vous n'avez pas **GDevelop 5**, téléchargez-le à partir du site officiel (\]. Il est disponible pour Windows, MacOS et Linux. - -Téléchargez toujours GDevelop à partir de cette page pour être sûr d'avoir la dernière version. Installez ou extrayez GDevelop et lancez-le. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_22.57.02.png) - -## Créer un nouveau jeu - -Cliquez sur **CREATE A NEW PROJECT** sur la page d'accueil. Dans la fenêtre **Create a new game**, choisissez un dossier pour votre projet (dans le champ **CHOOSE FOLDER** situé au bas de la fenêtre) et sélectionnez **Empty game** pour démarrer un nouveau jeu à partir de zéro. - -Pour faire notre jeu, nous aurons besoin de ressources pour représenter les objets ( images du personnage, éléments de décor, objets à récolter ...). - -Vous pouvez télécharger les ressources ici : - -- Les images du décor pour la première scène : ![](/fr/gdevelop5/tutorials/isometric-rpg/tiled-bg.zip) -- Les sprites pour les personnages : ![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-sprites.zip) -- Images généreusement prêtée par le studio indé japonais ![](/fr/gdevelop5/tutorials/isometric-rpg/smokymonkeys_foot_logo.png)[SmokymonkeyS](http://www.smokymonkeys.com) - -Une fois ce fichier téléchargé, extrayez son contenu dans le dossier où vous avez créé le projet. - -## Propriétés générales du jeu - -Dans votre onglet Project, sélectionnez Game Settings, puis Properties. Remplissez ensuite les champs comme ci-dessous. La taille de la largeur et de la longueur du jeu exprimée en pixels sera la taille de la fenêtre du jeu. ![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-propriete-jeu.png) - -## Ajouter une scène - -Les ***scènes*** sont les différentes parties du jeu. Typiquement, chaque écran apparaissant dans le jeu est une scène : le menu principal, le menu pause et les niveaux sont des scènes. - -Les ***scènes*** contiennent les objets qui sont affichés à l'écran. Les ***objets*** peuvent être mis en scène pour créer les niveaux (ces objets sont appelés ***instances***). Les scènes contiennent également les ***événements*** qui sont exécutés pour animer la scène. - -Dans le gestionnaire de projet qui s'ouvre à gauche, cliquez sur le bouton **+** à droite de **Click to add a scene**. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.26.09.png) - -Une nouvelle scène, appelée **NEWSCENE** est ajoutée à la liste. Cliquez dessus pour l'ouvrir. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.30.40.png) - -Puis éditez les paramètres de la scène (clic droit sur scène), et renommez-là en Scene1, vous pouvez maintenant fermer la fenêtre Project Manager. - -## Création des calques (layer) - -Les calques permettent de modifier la façon dont les objets sont affichés : Lors de l'affichage, les calques sont visualisés les uns après les autres (c'est à dire en rendu dans le jeu, les uns au-dessus des autres), et chaque calque n'affiche que les objets qui sont positionnés sur ce calque. - -Dans cet exemple nous allons utiliser 4 calques qui s'afficheront ainsi : - -1. Le calque **UI** (interface du joueur): Toujours visible et au-dessus de tout le reste. -2. Le calque **Effets** qui contiendra quelques effets visuels qui s'afficheront juste en-dessous du calque UI mais au-dessus du reste. -3. Le calque **Personnage** : Il contiendra uniquement les images de l'animation et des mouvements). -4. Le calque **Base Layer** : Il contiendra l'image de fond du jeu, c'est aussi celui qui est créé par défaut à la création du jeu. - -Pour ouvrir l'onglet calque (layer), cliquez sur ![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques.png), (Open the layer editor). Puis ajoutez un calque avec le **+**., nommez-le UI puis continuez avec Effet et Personnage. Vous devez maintenant voir cela : - -![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques-liste.png) - -Reste maintenant à les mettre dans le bon ordre, celui en haut étant celui qui contiendra les objets (images et autres) qui resteront toujours visible au-dessus du reste. Nous allons les mettre dans l'ordre : - -- UI -- Personnage -- Effet -- Base layer - -En utilisant la poignée de déplacement : ![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques-poignee.png) - -Et ainsi obtenir : - -![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques-liste-ordonnee.png) - -Il est temps de fermer cet onglet de calques pour revenir à notre scène. - -## Créer l'objet du personnage - -Le joueur contrôlera un personnage qui peut sauter et se déplacer dans le jeu. Nous allons créer cet objet. - -Sur la droite, vous pouvez voir un panneau intitulé **Objects**. Cliquez sur le bouton **+** pour ajouter un objet. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.32.40.png) - -Ensuite, une fenêtre s'ouvre et affiche différents types d'objets parmi lesquels vous pouvez choisir. - -![](/gdevelop5/tutorials/platform-game/gd5_object_types1.png) - -Les différents types d'objets présentent des caractéristiques spécifiques. Pour la plupart de nos objets, nous utiliserons les objets **Sprite** qui sont des objets animés ou fixes pouvant être utilisés pour de nombreux éléments (joueur, plates-formes, ennemis, objets...). - -Cliquez sur **Sprite** dans la liste. Le nouvel objet est ajouté à la scène et les propriété de l'objet s'ouvrent : - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.34.34.png) - -L'objet est actuellement vide. Les objets **Sprite** sont composés d'animations, et chaque animation peut contenir une ou plusieurs images. Ajoutons une animation. Cliquez sur le bouton **+**. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.35.50.png) - -L'animation est ajoutée mais toujours vide, sans images. Pour ajouter une image, cliquez sur le **+** dans la vignette vierge. - -Choisissez l'image appelée `goblin_frame_0.png` dans le dossier player du projet. L'image est ajoutée à l'objet : - -![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-player1.png) - -C'est le moment de nommer cet objet, par exemple **LeGobelin** ;-). Vous pouvez maintenant fermer les propriétés en cliquant sur le bouton **APPLY** dans le coin inférieur droit. Cet objet n'est pas encore intégré à la scène, pour cela, sélectionnez l'objet **LeGobelin** et déplacez-le dans la fenêtre de votre scène vous obtiendrez : - -![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-scene-legobelin.png) - -L'objet LeGobelin devient maintenant une **instance** incorporée dans votre scène. Vous pouvez en voir les propriétés, en sélectionannt l'instance du Gobelin dans votre scène et en cliquant ensuite sur l'icône ![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-propriete.png) propriété : ![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-objet-fenetre-proprietes.png) - -## Ajout des animations au personnage - -Il est un peu fade ce Gobelin, pour lui ajouter des animations, il faut retourner aux propriétés de l'objet. Pour cela , cliquez sur ![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-objet-trois-points.png), puis sélectionnez Edit Object. Nous allons ajouter avec le **+**, et ajouter goblin_frame_1.png, goblin_frame_2.png et goblin_frame_3.png, soit : - -![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-sprite-gobelin-animations.png) - -Il est alors possible de voir l'animation en cliquant sur PREVIEW, puis régler la vitesse à 0.2 en cliquant sur le chiffre pour régler la vitesse d'animation avec 0.2. L'option boucle (Loop) est désactivée par défaut, en cliquant sur Don't Loop, cela permet de faire tourner l'animation en continue. Ré-essayez PREVIEW maintenant, notre Gobelin respire ! - -> Sauvegarde warning - -A cette étape, il est grand temps de faire une sauvegarde du projet ! Menu File Save ou Ctrl S. - -Un des points forts de Gdevelop, c'est qu'il permet de visualiser le rendu du jeu à n'importe quelle étape. Simplement en cliquant sur ![](/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-launch-game-preview.png). - -Puis fermer cette fenêtre de prévisualisation. - -## Étape suivante : Placer les images du décor - -Pour le moment, notre jeu est très basique : Juste un Gobelin qui s'anime ! L'étape suivante de ce tutoriel vous montrera comment ajouter des images pour le décor. - -➡️ Lisez **[la suite du tutoriel se trouve ici !](/fr/gdevelop5/tutorials/isometric-rpg/2-decor)** diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/smokymonkeys_foot_logo.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/smokymonkeys_foot_logo.png deleted file mode 100644 index 6ce1dbf63e3..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/smokymonkeys_foot_logo.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tiled-bg.zip b/docs/fr/gdevelop5/tutorials/isometric-rpg/tiled-bg.zip deleted file mode 100644 index 366597bc172..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tiled-bg.zip and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-1.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-1.png deleted file mode 100644 index 82159df5901..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-1.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-2.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-2.png deleted file mode 100644 index d4a8c708ccd..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-2.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-3.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-3.png deleted file mode 100644 index e00d81165c7..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-3.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-4.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-4.png deleted file mode 100644 index aacafa4cbc4..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-4.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-5.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-5.png deleted file mode 100644 index d90095ed6d6..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-5.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-deux-lignes.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-deux-lignes.png deleted file mode 100644 index 050c4e08005..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-decor-deux-lignes.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques-liste-ordonnee.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques-liste-ordonnee.png deleted file mode 100644 index 4668305e397..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques-liste-ordonnee.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques-liste.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques-liste.png deleted file mode 100644 index 76c955afe79..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques-liste.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques-poignee.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques-poignee.png deleted file mode 100644 index 1bf4c4f20dc..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques-poignee.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques.png deleted file mode 100644 index c081b272f22..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-calques.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-launch-game-preview.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-launch-game-preview.png deleted file mode 100644 index fa5a3f51d0b..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-launch-game-preview.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-objet-trois-points.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-objet-trois-points.png deleted file mode 100644 index 98f65718f78..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-objet-trois-points.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-propriete.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-propriete.png deleted file mode 100644 index 6d1f88a6abb..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-propriete.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-scene-legobelin.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-scene-legobelin.png deleted file mode 100644 index 28d8069c108..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-icone-scene-legobelin.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-images-fond-ligne-1.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-images-fond-ligne-1.png deleted file mode 100644 index ca739ccb2a0..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-images-fond-ligne-1.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-molette-bleue.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-molette-bleue.png deleted file mode 100644 index ab1ce74e9c9..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-molette-bleue.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-objet-fenetre-proprietes.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-objet-fenetre-proprietes.png deleted file mode 100644 index bd1f90eb95b..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-objet-fenetre-proprietes.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-player1.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-player1.png deleted file mode 100644 index ac520275e17..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-player1.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-propriete-jeu.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-propriete-jeu.png deleted file mode 100644 index 2cca7723216..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-propriete-jeu.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-sprite-gobelin-animations.png b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-sprite-gobelin-animations.png deleted file mode 100644 index 6584b05a6e1..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-sprite-gobelin-animations.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-sprites.zip b/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-sprites.zip deleted file mode 100644 index f3cb68fdae6..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/isometric-rpg/tuto-rpg-sprites.zip and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/2-player-animations.md b/docs/fr/gdevelop5/tutorials/platform-game/2-player-animations.md deleted file mode 100644 index ce8a2412261..00000000000 --- a/docs/fr/gdevelop5/tutorials/platform-game/2-player-animations.md +++ /dev/null @@ -1,200 +0,0 @@ ---- -title: Comment faire un jeu de plateforme - animations du joueur ---- -# Comment faire un jeu de plateforme : animations du joueur - -Ce tutoriel explique comment ajouter différentes animations et comment utiliser les événements pour changer les animations lorsque l'état du joueur change. - -[Cliquez ici pour lire l'étape précédente](/fr/gdevelop5/tutorials/platform-game) si vous ne l'avez par encore accomplie. - -## Ajouter des animations - -Pour le moment, le joueur montre toujours la même « animation statique » ; nous allons changer cette situation en utilisant les événements. - -Mais nous devons d'abord ajouter les animations appropriées à l'objet `Player`. - -### Animation du saut - -Ouvrez l'éditeur de l'objet `Player` (clic-droit sur son nom dans la liste des objets). Assurez-vous que le panneau **PROPERTIES** de l'éditeur soit sélectionné et cliquez le bouton **+** au bas de la fenêtre pour ajouter une animation. - -Cliquez ensuite sur le gros bouton portant un signe **+** dans la nouvelle zone d'animation et sélectionnez `p1_jump.png` dans le navigateur de fichiers qui s'est ouvert pour charger l'image dans le jeu. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_00.56.03.png) - -Il est recommandé de donner un nom significatif à chaque animation afin de pouvoir différencier facilement les diverses animations et les référencer sans ambiguïté dans les événements. -Il suffit de cliquer à la suite de **Animation #0** et d'écrire le nom que vous voulez. - -Entrez `Idle` pour l'animation n° 0 et `Jumping` pour l'animation n°2. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_00.56.53.png) - -### Animation de la marche - -Nous devons aussi ajouter l'animation à afficher lorsque le personnage marche sur une plateforme. Ajoutez une autre animation de la même manière que ci-dessus, et , lorsque vous chargez les images, sélectionnez les 5 images `p1walk03.png`, `p1walk04.png`, ... , et `p1walk07.png`. Vous pouvez sélectionner les 5 images d'un seul coup ou les charger les unes après les autres. Finalement, nommez cette animation `Running`. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_00.59.15.png) - -Ces images seront affichées les unes après les autres pour créer l'animation. Pour que le cycle de la marche se répète, nous devons modifier quelques options : cliquez d'abord **Don't loop** pour commuter sur **Loop**. Cette option fera boucler l'animation sur elle-même pour qu'elle soit jouée de manière continue. -Dans le cas contraire, l'animation ne sera jouée qu'une seule fois chaque fois qu'elle sera appelée, et dans le cas d'un marche continue, ce n'est pas ce que nous voulons. Le minuteur affiche le temps écoulé en secondes entre chaque images, en d'autres mots, la vitesse de l'animation. Entrez `0.05` à la place de `1` afin que l'animation soit jouée plus rapidement. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_01.02.03.png) - -Notre objet étant terminé, cliquez le bouton **APPLY** situé dans le coin inférieur droit. - -## Utiliser des événements pour changer les animations - -### Le premier événement : animation du saut - -Nous devons maintenant changer l'animation montrée par l'objet en fonction de ce que fait le joueur. À cet effet, nous allons nous servir des **_événements_**, qui sont utilisés pour décrire les règles du jeu ainsi que pour spécifier comment les objets sont animés, se déplacent et répondent aux sollicitations du joueur. -Pour décrire ces règles, GDevelop met à notre disposition une « programmation visuelle » dont l'apprentissage est rapide et accessible à tous. - -Ouvrez l'éditeur des événements de la scène en cliquant l'onglet **NEWSCENE (EVENTS)**. - -Pour le moment, l'éditeur d'événements est encore vide. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_01.05.29.png) - -Ajoutez le premier événement en cliquant le bouton **Add a new empty event** dans la barre d'outils. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.40.43.png) - -Un événement est composé d'une liste de conditions (qui peuvent être utilisées pour tester si une collision s'est produite, si une touche a été pressée, si le niveau de vie du joueur est bas, …) et d'une liste d'actions qui sont exécutées lorsque la ou les conditions sont remplies. - -Il n'y a actuellement aucun événement défini. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.41.32.png) - -Dans le premier événement, nous allons tester si le joueur saute, et dans ce cas, modifier son animation. - -Commencez par cliquer sur **Add condition** dans le coin supérieur gauche de la fenêtre. - -La fenêtre qui vient de s'ouvrir présente dans sa partie gauche une liste de toutes les conditions disponibles pour programmer votre jeu. -Nous voulons tester si l'objet `Player`, qui possède le comportement de personnage de plateforme, est en train de sauter. -Ouvrez la catégorie **Platform Behavior** puis sélectionnez **Is jumping**. - -La partie droite de la fenêtre affiche les paramètres qui sont nécessaires à la configuration de la condition. Ici, comme nous voulons tester si l'objet `Player` saute, sélectionnez `Player` pour le premier paramètre (intitulé **Object**). Le second paramètre est rempli automatiquement. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.45.29.png) - -Le condition est maintenant prête. Cliquez le bouton **OK** dans le coin inférieur droit de la fenêtre pour la fermer et voir la condition ajoutée à l'événement. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.47.17.png) - -Ajoutons maintenant l'action pour changer l'animation du joueur lorsque le personnage saute. Cliquez sur **Add action**. - -La fenêtre qui s'ouvre est semblable à celle ouverte avec **Add condition**, à ceci près qu'elle affiche toutes les actions disponibles. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.51.10.png) - -Nous allons changer l'animation de l'objet `Player`, qui est un objet de type **Sprite**. - -Ouvrez la catégorie **Sprite**, puis **Animations and images** et sélectionnez finalement **Change the animation (by name)**. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.52.28.png) - -Dans la fenêtre de droite, sélectionnez l'objet `Player` pour le premier paramètre et écrivez `"Jumping"` dans le champ **Animation name**. - -!!! warning - - **Attention !** Vous devez entourer le nom de guillemets anglais doubles car tout texte dans les actions ou les conditions de GDevelop peut aussi être généré par une formule. Il est donc nécessaire d'utiliser ces guillemets pour indiquer à GDevelop qu'il s'agit d'un texte et pas d'une formule quelconque. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.54.51.png) - -Lorsque vous avez terminé, cliquez le bouton **OK** dans le coin inférieur droit. Le premier événement est maintenant prêt. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.56.10.png) - -### Jetons un coup d'oeil au résultat - -Cliquez le bouton **Launch a preview of the scene** de la barre des outils pour démarrer la prévisualisation. Observez le changement de l'animation quand le joueur saute. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.58.31.png) - -Mais lorsque le joueur retourne sur le sol, vous pouvez voir que l'animation n'a pas été remise à la position au repos. C'est tout simplement parce que nous n'avons pas dit à GDevelop de le faire ! Ajoutons une autre événement pour corriger cela. - -## Animations de la pause et de la course - -Ajoutez un nouvel événement vide en cliquant le bouton **Add a new empty event** dans la barre d'outils. - -Cliquez **Add condition** et sélectionnez cette fois la condition **Is on floor** dans la catégorie **Platform Behavior**. Notez que vous pouvez utiliser l'outil de recherche **Search** dans le haut de la liste pour trouvez rapidement la condition désirée si vous connaissez son nom. - -Remplissez le premier paramètre en sélectionnant l'objet `Player`. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_21.52.02.png) - -Cliquez **OK** pour valider la condition. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_21.54.47.png) - -Ici, nous avons l'opportunité de faire que notre personnage n'affiche pas seulement son état inactif et son saut, mais aussi sa course. - -Nous pouvons construire deux événements comprenant chacun deux conditions et une action : - - * Lorsque le joueur est sur le sol **et** ne court pas, c'est l'animation `Idle` qui doit être montrée. - - - * Lorsque le joueur est sur le sol **et** court, c'est l'animation `Running` qui doit être montrée. - -mais nous pouvons utiliser des *sous-événements* pour n'avoir à tester qu'une seule fois si le joueur est sur le sol. - -Faisons donc comme nous l'avons dit. Nous pouvons maintenant ajouter deux autres événements qui seront des sous-événements de cet événement. Cela signifie qu'ils ne seront lancés que si leur *parent* (l'événement que nous venons juste de créer) a satisfait à ses conditions. - -Sélectionnez l'événement que nous avons créé avec un clic droit dans un espace vide près de **Add condition** ou **Add action**. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_21.59.36.png) - -Cliquez ensuite deux fois sur le bouton **Add a sub-event to the selected event** pour ajouter deux sous-événements. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.05.49.png) - -Deux événements « enfant » ont été ajoutés sous l'événement sélectionné qui est maintenant considéré comme l'événement « parent ». GDevelopp a mis ces deux événements en retraits (indentation) et les a reliés par une ligne pour confirmer visuellement qu'il sont bien connectés. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.07.02.png) - -Vous pouvez maintenant ajouter des conditions dans ces événements . - -Cliquez sur **Add condition** du premier sous-événement. Sélectionnez **Platform Behavior** dans la liste des comportements puis sur **Is moving** pour tester si le joueur est en train de courir. N'oubliez pas de spécifier que l'objet à tester est le `Player` (à mettre dans le premier paramètre, à gauche). - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.08.06.png) - -Faites de même pour le second sous-évémenent, mais activez en plus le commutateur **Invert condition**. C'est ainsi que nous inversons techniquement la condition de manière à ce que les actions de l'événement ne seront lancées que lorsque le joueur n'est **PAS** en train de se déplacer. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.09.30.png) - -Notre séquence d'événements doit maintenant ressembler à quelque chose comme : - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.10.03.png) - -Nous en avons presque terminé : il reste encore à spécifier l'action requise par chaque événement. Les opérations à effectuer sont les mêmes que celles faites pour le saut. - -Cliquez **Add action** du premier sous-événement, sélectionnez **Sprite** dans la liste, puis **Animations and images** et finalement **Change the animation (by name)**. Sélectionnez l'objet `Player` dans le premier paramètre et entrez `"Running"` dans le paramètre **Animation by name**. N'oubliez pas les guillemets anglais doubles autour de `Running`. - -Répétez ces opération pour le second sous-événement. Le nom de l'animation est ici `"Idle"`. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.15.20.png) - -## Il est temps de tester (et de sauvegarder) - -Testez le jeu et voyez si l'animation du joueur change lorsqu'il court ou qu'il saute. - -Vous avez peut-être remarqué un petit bug quand vous avez essayé de sauter d'une plateforme : le joueur continue de courir même lorsqu'il est en train de tomber. Ce n'est peut-être pas ce que nous voulons car nous préférerions avoir une animation de chute lorsque le joueur tombe. Pour corriger ce bug, nous pouvons aussi activer l'animation du saut `Jumping` lorsque le joueur tombe, tout comme nous l'avons fait avant avec les autres animations. Cela ne devrait pas poser de problèmes : il suffit d'ajouter un nouvel événement et de le configurer comme indiqué ci-dessous. - - * Ouvrez le panneau **NEWSCENE (EVENTS)**. - * Activez le premier événement en cliquant dans la zone vide à droite de **Player is jumping**. - * Créez un nouvel événement en cliquant le bouton **Add a new empty event**. - * Cliquez **Add condition** dans le nouvel événement qui vient de se placer sous le premier. - * Activez les événements **Platform Behavior** et sélectionnez **Is falling**. - * Mettez `Player` dans le premier paramètre et cliquez **OK** pour confirmer. - * Cliquez sur **Add action** pour spécifier l'action à accomplir. - * Sélectionnez `Sprite` dans la liste de gauche qui vient de s'ouvrir puis - * **Animations and images** et **Change the animation (by name)**. - * Sélectionnez l'objet `Player` dans le premier paramètre du panneau de droite et inscrivez `"Jumping"` dans **Animation name**. (N'oubliez pas les guillemets doubles !) - * Cliquez **OK** et comparez votre programme à la figure ci-dessous. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.23.10.png) -} -## Étape suivante : la caméra doit suivre le joueur - -Pour le moment, il est difficile de construire un grand niveau à explorer car le joueur quitte rapidement l'écran ! L'étape suivante de ce tutoriel vous montrera comment faire que la caméra suive le joueur. C'est très simple : un seul événement suffira. - -➡️ Lisez **[l'étape suivante de ce tutoriel ici !](/fr/gdevelop5/tutorials/platform-game/3-have-camera-follow-player)** \ No newline at end of file diff --git a/docs/fr/gdevelop5/tutorials/platform-game/3-have-camera-follow-player.md b/docs/fr/gdevelop5/tutorials/platform-game/3-have-camera-follow-player.md deleted file mode 100644 index 9a1b52ff6f1..00000000000 --- a/docs/fr/gdevelop5/tutorials/platform-game/3-have-camera-follow-player.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Suivre le joueur avec la caméra ---- -# Suivre le joueur avec la caméra - -!!! note - - Ce tutoriel fait partie de [start](/gdevelop5/tutorials/platform-game) , mais vous pouvez aussi le réutiliser pour n'importe quel autre jeu ! - -Pour l'instant, il est difficile de construire un grand niveau à explorer car le joueur peut rapidement sortir de l'écran ! - -Ajoutons un autre événement pour que la caméra suive le joueur. Il y a plusieurs façons d'y parvenir. Le plus simple est d'ajouter un événement sans condition et de mettre l'action appelée **Center the camera on an object** : - - * Créez un nouvel événement vide ; n'y ajoutez aucune condition et cliquez sur **Add action**. - * Dans la liste des actions, sélectionnez **Layers and cameras** puis **Center the camera on an object**. - *Laissez les paramètres par défaut et cliquez sur **OK**. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.25.53.png) - -Le nouvel événement ressemble à ceci : - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.26.20.png) - -Vous pouvez lancer un aperçu pour voir que la caméra est désormais centrée sur le joueur : - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.27.31.png) - -## C'est tout ! - -C'était facile, non ? D'autres actions peuvent être utiles. Par exemple, des actions peuvent être utilisées pour modifier les coordonnées de la caméra uniquement sur l'axe X ou Y. Cela peut être utile pour les jeux de plates-formes où vous ne pouvez pas monter/descendre, mais juste traverser le niveau avec un défilement latéral. - -## Prochaine étape : ajouter un saut à travers la plate-forme - -C'est assez ennuyeux d'avoir un seul type de plateforme. Ajoutons une autre plateforme sur laquelle nous pourrons monter en arrivant d'en dessous en sautant pour la traverser. - -➡️ Lisez **[la suite par ici](/fr/gdevelop5/tutorials/platform-game/4-add-jump-thru-platforms)**! \ No newline at end of file diff --git a/docs/fr/gdevelop5/tutorials/platform-game/4-add-backgrounds-objects.md b/docs/fr/gdevelop5/tutorials/platform-game/4-add-backgrounds-objects.md deleted file mode 100644 index cd1387a4524..00000000000 --- a/docs/fr/gdevelop5/tutorials/platform-game/4-add-backgrounds-objects.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Ajouter des objets à l'arrière-plan ---- -# Ajouter des objets à l'arrière-plan - -!!! note - - Ce tutoriel fait partie du tutoriel [start](/gdevelop5/tutorials/platform-game), mais vous pouvez aussi l'utiliser pour n'importe quel autre jeu. - -Pour le moment, le niveau est assez simple, sans attraits particuliers. Ajoutons quelques objets statiques à l'arrière plan. - -## Créer des objets - -Ajouter des objets à l'arrière-plan est vraiment facile : il suffit d'ajouter quelques sprites avec les images à votre convenance puis les mettre dans la scène. - -Par exemple, créez un objet de type **Sprite** en - - * cliquant le **+** à droite de **Click to add an object** au bas de la listes des objets et en sélectionnant `Sprite` dans la liste qui s'affiche ; - * cliquant le **+** dans le fenêtre qui s'ouvre puis le bouton **+** dans la nouvelle fenêtre et sélectionnez l'image `bush.png` dans le navigateur de fichiers. - * Renommez ensuite ce sprite `Bush`. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-27_at_22.45.14.png) - -Ajoutez de la même manière un sprite de nuage (fichier `cloud2.png`) et renommez-le `Cloud`. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-27_at_22.46.01.png) - -## Placer des objets sur la scène et modifier leur position z - -Ajoutez quelques nuages dans le ciel et deux ou trois buissons sur la plateforme. -Vous pouvez constater que la joueur est affiché derrière les objets ajoutés. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-27_at_22.52.10.png) - -Chaque instance d'un objet placé sur la scène possède une propriété appelée **z order** . Ce paramètre est un nombre et les objets ayant une valeur **z** plus grande sont affichés au-dessus (ou devant) les objets ayant un z plus petit. La valeur de z peut être n'importe quel nombre entier, même négatif. - -Vous pouvez maintenant changer le **z order** des buissons et des nuages en leur donnant des valeurs négatives de manière à ce que le personnage du joueur (dont le z vaut 1 puisque c'est le premier objet placé sur la scène) soit toujours affiché devant les autres objets. - -À cet effet, sélectionnez les instances sur la scène (vous pouvez faire une sélection multiple en maintenant la touche Majuscule pressée pendant la sélection) - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-27_at_22.59.47.png) - -Changez ensuite la valeur du champ **Z Order** dans le panneau des propriétés **Properties** dans la partie droite de la fenêtre. Donnez-lui par exemple la valeur -2 (ou n'importe quel nombre négatif) de manière à ce que ces objets soient bien toujours derrière le joueur. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-27_at_23.00.40.png) - -**Remarque** : si ce panneau n'est pas ouvert, cliquez la cinquième icône **Open the propreties pannel** dans la barre des outils. - -Nous avons maintenant l'aspect visuel que nous voulions. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-27_at_23.01.44.png) - -Vous pouvez lancer le jeu pour tester si tout fonctionne bien, et n'oubliez pas de sauvegarder. - -## Étape suivante : ajouter des pièces de monnaie et afficher combien ont été récoltées - -Donnons une tâche à accomplir à notre joueur : récolter autant de pièce de monnaie que possible. À cet effet, nous utiliserons des événements pour stocker le score du joueur, jouer des sons et effacer les pièces récoltées. - -➡️Lisez **[l'étape suivante de ce tutoriel ici !](/fr/gdevelop5/tutorials/platform-game/5-add-coins-and-number-of-collected-coins)** \ No newline at end of file diff --git a/docs/fr/gdevelop5/tutorials/platform-game/4-add-jump-thru-platforms.md b/docs/fr/gdevelop5/tutorials/platform-game/4-add-jump-thru-platforms.md deleted file mode 100644 index 77b8c6213fe..00000000000 --- a/docs/fr/gdevelop5/tutorials/platform-game/4-add-jump-thru-platforms.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: 4-add-jump-thru-platforms ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -# Ajouter une plateforme 'Jump through' - -!!! note - - Ce tutoriel fait partie du tutoriel [](/gdevelop5/tutorials/platform-game/start) mais vous pouvez également l'utiliser pour tout autre jeu de plateforme ! - -Pour l'instant, toutes les plateformes sont solides (c'est-à-dire « imperméables », mais nous pouvons également créer une plate-forme à travers laquelle vous pouvez passer. - -## Créer le nouvel objet - -Créez un nouvel objet **Sprite**, ajoutez une animation et choisissez l'image appelée `bridgeLogs` : - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.40.34.png) - -Renommez l'objet et appelez-le `SmallBridge` : - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.42.01.png) - -## Faites-en une plate-forme "jump-thru" - -Pour le moment, l'objet n'est pas considéré comme une plate-forme. Ouvrez l'éditeur d'objet (clic droit sur le nom `SmallBridge` puis sur **Edit Object** et activez l'onglet **Behaviors** dans l'éditeur. Ajoutez le comportement appelé **Platform** puis sélectionnez **Jumpthru Platform** dans la liste qui s'ouvre lorsque vous cliquez le champ **Type** - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.44.30.png) - -## Testez votre travail - -Vous pouvez maintenant lancer un aperçu et constater que vous pouvez sauter sur le pont mais aussi passez à travers ! - -![](/gdevelop5/tutorials/platform-game/jumpthru.gif) - -Et, comme d'habitude, n'oubliez pas de sauvegarder votre jeu ! - -## Étape suivante : ajouter des objets d'arrière-plan - -Le niveau est encore passablement vide. Ajoutons quelques objets d'arrière-plan pour le rendre plus joli. Nous ajouterons ensuite des pièces de monnaie à collectionner et des ennemis ! - -➡️ Lisez **[4-add-backgrounds-objects](/fr/gdevelop5/tutorials/platform-game/4-add-backgrounds-objects) !** diff --git a/docs/fr/gdevelop5/tutorials/platform-game/5-add-coins-and-number-of-collected-coins.md b/docs/fr/gdevelop5/tutorials/platform-game/5-add-coins-and-number-of-collected-coins.md deleted file mode 100644 index 1eeec1cd327..00000000000 --- a/docs/fr/gdevelop5/tutorials/platform-game/5-add-coins-and-number-of-collected-coins.md +++ /dev/null @@ -1,228 +0,0 @@ ---- -title: Ajouter des pièces de monnaie et afficher le nombre de pièces récoltées ---- -# Ajouter des pièces de monnaie et afficher le nombre de pièces récoltées - -!!! note - - Ce tutoriel fait partie du tutoriel [start](/gdevelop5/tutorials/platform-game) , mais vous pouvez aussi le réutiliser pour n'importe quel jeu dans lequel vous récoltez des objets. - -Dans le jeu de plateforme que nous avons créé jusqu'ici, le joueur n'a pas grand chose à faire : ajoutons des pièces de monnaie que le joueur devra récolter. - -## Ajouter des pièces de monnaie - -Commencez par créer un nouvel objet **Sprite** et donnez-lui une animation contenant une image `coinGold.png`. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-28_at_23.29.30.png) - -Nommez ce sprite `Coin`. - -Vous pouvez placer plusieurs pièces de monnaie dans ce niveau. Si vous avez besoin de nombreuses pièces, il vaut la peine d'utiliser la technique **_drag and clone_** offerte par l'éditeur de scène : sélectionnez une pièce déjà placée sur la scène et, tout en maintenant la touche CTRL (ou CMD sur macOS), tirez la pièce avec la touche gauche de la souris. La pièce sera dupliquée à chaque relâché de la touche gauche. - -Si vous maintenez aussi la touche MAJ, la pièce dupliquée sera à la même hauteur que la pièce d'origine (cela marche aussi bien horizontalement que verticalement). - -![](/gdevelop5/tutorials/platform-game/clone.gif) - -## Effacer les pièces récoltées - -Il faut faire disparaître les objets pièces de monnaie lorsque le joueur les touche. - -Créer un nouvel événement et ajoutez-y une nouvelle condition (**Add condition**). Sélectionnez **Common conditions for all objects** dans la liste de gauche, puis **Collision** et enfin **Collision** pour tester la survenue d'une collision entre deux objets. Sélectionnez `Player` pour le premier paramètre et `Coin` pour le second. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-28_at_23.36.12.png) - -Cliquez **OK** pour confirmer. - -Il faut maintenant ajouter une action pour supprimer la pièce touchée. Seuls les objets `Coin` qui ont rempli la première condition seront utilisés par cette action, ce qui fait que seule la pièce touchée par le joueur sera effacée. - -Activez les actions **Add action** et sélectionnez dans la liste de gauche **Common action for all objects**, **Objects** et **Delete an object**. Sélectionnez `Coin` dans le premier paramètre pour spécifier l'objet à détruire. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-28_at_23.41.46.png) - -L'événement doit ressembler à : - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-28_at_23.42.34.png) - -Vous pouvez maintenant faire un test et voir si les pièces disparaissent lorsque le joueur les touche. - -## Jouer un son lors de la collecte d'une pièce - -Pour que le jeu soit plus dynamique et gratifiant, faisons jouer un son lorsqu'une pièce est récoltée. C'est facile : nous avons déjà un fichier son appelé `sound.wav` dans le dossier des ressources de notre jeu (si ce n'est pas le cas, vous pouvez télécharger les ressources à l'adresse [http://www.compilgames.net/dl/PlatformerTutorialResources.zip](http://www.compilgames.net/dl/PlatformerTutorialResources.zip) et les extraire dans le dossier adéquat). - - -Pour jour un son, il faut ajouter une autre action à l'événement que nous avons utilisé pour effacer les pièces. - -Cliquez **Add action** juste en dessous de l'action **Delete object Coin** et activez l'action **Play a sound** dans la catégorie **Audio**, ce qui fera jouer un son en même temps q'une pièce est effacée. - -L'action **Play a sound** présente plusieurs paramètres. Entrez le nom du fichier son `coin.wav` dans le premier paramètre. Laissez les autres paramètres tels qu'ils sont (par exemple, ne répétez pas le son, laissez le volume à 100 par défaut et le **Pitch** à 1 par défaut. ) - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.50.22.png) - -C'est tout ! Lancez une test et le son sera joué chaque fois qu'une pièce est récoltée. 👍 - -## Augmenter un score en utilisant des variables - -Nous allons utiliser une variable pour mettre à jour et mémoriser le score du joueur. - -Les variables sont des conteneurs que nous pouvons utiliser pour stocker et mémoriser certaines informations telles que des nombres et des chaînes de caractères. - -GDevelop utilise différents types de variables. - -* __**Les variables d'objet**__ sont privées à chaque instance d'un objet, ce qui a pour conséquence que chaque instance peut stocker ses propres valeurs qui ne sont pas partagées avec les autres instances. Cette « privatisation » est par exemple utile lorsqu'on veut gérer séparément la vie de chaque ennemi. - -* __**Les variables de scène**__ (les plus fréquemment utilisées) sont privées (réservées) à chaque scène : leurs valeurs ne sont pas partagées avec les autres scènes de notre jeu. Elles sont utiles pour stocker des informations pertinentes pour la scène actuellement en cours, comme par exemple la vie du joueur ou un score. - -* __**Les variables globales**__ sont, comme leur nom l'indique, globales (c'est à dire visibles et atteignables) dans l'ensemble du jeu. Leurs valeurs sont partagées entre toutes les scènes et les objets de l'ensemble du jeu. Elles sont utiles pour stocker des informations que nous voulons partager entre plusieurs ou toutes les scènes du jeu, par exemple la quantité de balles ou la somme d'argent accumulée par le joueur. - -La variable que nous allons utiliser est une variable **Scene** que nous appellerons `Score`. - -Ajoutons une action dans le dernier événement que nous avons créé. Sélectionnez l'action **Variables > Value of a variable**. Cette action sera utilisée pour ajouter 100 à la variable `Score`. - -Renseignez les paramètres comme montré ci-dessous. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.52.43.png) - -Dans GDevelop, il n'est pas nécessaire de déclarer les variables avant de les utiliser : nous pouvons utiliser n'importe quelle variable sans la déclarer, il suffit de lui donner un nom dans une action ou une condition. Dans le cas où nous utilisons une action sur une variable qui n'est pas déclarée, GDevelop la crée automatiquement pour nous en lui affectant la valeur par défaut `0` ou une chaîne vide `""` puis exécute ensuite l'action sur la variable pour nous éviter tout problème. - -Toutefois, pour mieux organiser notre jeu, il vaut toujours mieux déclarer les variables avant de les utiliser. Cette bonne pratique permet de se souvenir plus facilement des variables utilisées et nous permet aussi de changer leur valeur par défaut si nous voulons qu'elle soit différente de 0 ou d'une chaine vide. - -Pour déclarer une variable, cliquez sur le bouton **…** à droite du nom de la variable pour afficher la liste des variables déclarées. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.54.46.png) - -La liste qui s'affiche est vide car aucune variable n'a encore été déclarée. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.55.27.png) - -Vous pouvez cliquez sur le bouton **+** pour ajouter une variable et entrer `Score` pour son nom. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.56.23.png) - -Rappelez-vous que ceci est facultatif, ce n'est qu'une bonne pratique fortement recommandée ! - -## Afficher un score à l'aide d'un objet texte - -### Ajouter un objet texte - -Pour le moment, la variable `Score` ne peut pas être vue, ce qui fait que nous ne pouvons pas vérifier si le score a augmenté. - -Nous avons besoin d'un objet **Text** pour afficher la valeur de la variable `Score`. Ajoutez un nouvel objet dans la liste des objets (en cliquant sur le signe **+** au bas de la liste) et sélectionnez le type **Text** quand GDevelop vous demande quel type d'objet créer. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.58.27.png) - -Dans la fenêtre qui vient de s'ouvrir, modifiez les propriétés de l'objet `Score` afin que le texte soit affiché en noir et plus grand que la taille de la police par défaut. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.09.28.png) - -Vous pouvez ensuite placer l'objet sur la scène. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.20.23.png) -### Modifier du calque du texte - -Si vous lancez le jeu, vous pouvez constater que le texte `Score:` est affiché avec le reste des objets et que sa position n'est pas fixe sur l'écran. - -Nous pouvons résoudre facilement ce problème en créant un nouveau calque au-dessus du calque de base. Pour ce faire, ouvrez l'éditeur de calques en cliquant ce bouton : - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.34.33.png) - -La liste des calques est alors affichée, mais elle ne contient pour le moment que le calque de base. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.35.00.png) - -Cliquez sur le bouton **+** pour ajouter un calque. Entrez `UI` pour son nom (UI pour User Interface ou Interface Utilisateur) : - -Pour finir, déplacez l'objet texte `Score` sur ce nouveau calque en sélectionnant l'objet texte sur la scène -(ce qui ouvre son panneau des propriétés sur la gauche de l'écran. - -Cliquez sur **Base layer** et sélectionnez `UI` dans la liste : - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.40.44.png) - -Assurez-vous que l'objet texte soit affiché de manière visible quelque part sur l'écran, par exemple en le déplaçant dans le coin supérieur gauche de la scène. - -Le rectangle noir de l'éditeur de scène représente la taille de la scène (ce que l'on voit quand le jeu est lancé). - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.42.46.png) - -### Afficher la valeur du score - -Maintenant que nous avons un objet texte sur l'écran, il est temps de lui faire afficher la valeur de la variable `Score`. - -Ajoutez un nouvel événement (Ouvrez le panneau **NEWSCENE (EVENTS)** et cliquez le bouton **Add a new empty event** dans le haut de la fenêtre.) - -Cet événement n'aura aucune condition, ce qui signifie que l'action sera exécutée à chaque image, soit environ 60 fois par seconde. - -Ajoutez une action **Add action** et sélectionnez l'action **Modify the text** dans la catégorie appelée **Text object**. - -Pour le premier paramètre, sélectionnez l'objet `Score` car c'est cet objet que nous voulons mettre à jour. - -Pour le deuxième paramètre, sélectionnez l'opérateur `= (set to)` dans la liste `Modification's sign` (nous voulons donner une autre valeur au texte). - -Finalement, le dernier paramètre représente le nouveau contenu du texte. Ce contenu est une expression de type chaîne de caractères qui sera évaluée par GDevelop pendant le jeu lorsque l'action sera exécutée. - -Nous pouvons spécifier un texte en le plaçant entre guillemets (comme ceci `"Hello World"`). Mais nous pouvons aussi utiliser quelque chose appelée **_expression_**, qui est une fonction qui retourne une certaine valeur que nous pouvons utiliser d'une manière ou d'une autre. - -Dans notre cas, nous avons besoin de la valeur de la variable `Score` que nous voulons utiliser pour mettre à jour l'objet texte. - -Les expressions étant un sujet quelque peu avancé, je ne pense pas que ce soit le bon moment pour s'y atteler. - -Tout ce que vous devez savoir pour le moment est que, pour obtenir la valeur d'une variable de scène, nous devons utiliser l'expression `Variable(nom_de_la_variable)`. Mais la variable obtenue est une valeur numérique (ici un nombre entier) alors que nous voulons une valeur de type texte. C'est pourquoi nous devons convertir la valeur retournée par cette expression en une chaîne de caractères, conversion qui sera faite en utilisant une autre expression appelée `ToString(valeur_a_convertir)`. - -Ce qui fait que l'expression finale dont nous avons besoin est `ToString(Variable(Score))`. - -Finalement, nous pouvons ajouter cette pression à la suite d'un texte statique en utilisant l'opérateur **+** pour obtenir : - -`"Score : " + ToString(Variable(Score))` - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.58.12.png) - -Bien d'autres fonctions ou expressions sont disponibles dans GDevelop. En les combinant, vous pouvez obtenir des actions puissantes qui peuvent effectuer un travail complexe. - -Voici l'élément final : - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.59.31.png) - -Vous pouvez maintenant tester le jeu et constater que le score est affiché et mis à jour chaque fois que vous récoltez une pièce de monnaie. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_19.00.24.png) - -## Bonus : corriger le bug de score - -Vous avez peut-être remarqué que si vous collectez deux pièces en même temps, le score n'augmente que d'une unité. Par exemple, si chaque pièce vaut 100 points et que vous collectez 2 pièces, le score n'augmentera que de 100 au lieu de 200. La correction est facile ; il suffit d'utiliser une fonction que nous n'avons pas encore rencontrée : un événement appelé **For each object**. Cette fonction nous permet de dire au moteur du jeu qu'il doit ajouter 100 au score pour chaque pièce ramassée. - -Pour commencer, cliquez sur la bouton **+** dans le barre des outils. - -![](/gdevelop5/tutorials/platform-game/gdevelop_5_2018-05-30_11-30-39.png) - -Sélectionnez **For each object** dans le menu : - -![](/gdevelop5/tutorials/platform-game/2018-05-30_11-33-09.png) - -et GDevelop ajoute un événement au bas de la page de l'événement. - -Faites-le glisser vers le haut pour en faire un sous-événement de la collision du joueur avec la pièce : - -![](/gdevelop5/tutorials/platform-game/click-to-choose-4.png) - -Cliquez `_Click to chose for which object this event will be repeted_`. - -Tapez `coin` dans le champ qui apparaît et cliquez sur l'objet. - -![](/gdevelop5/tutorials/platform-game/click-to-choose2.png) - -Maintenant que l'objet a été ajouté au sous-événement, déplaçons les actions vers ce sous-événement. Sélectionnez la première action avec la souris, cliquez ave son bouton droit et coupez la sélection. Placez le curseur dans l'action du sous-événement et collez avec le bouton droit (il s'agit donc d'un banal couper-coller). -Faites la même chose pour les eux autres actions - -![](/gdevelop5/tutorials/platform-game/move-to-sub1.png) - -Voilà à quoi devrait ressembler l'événement final : - -![](/gdevelop5/tutorials/platform-game/move-to-sub2.png) - -Lancez le jeu, et vous verrez que si vous récoltez deux pièces en même temps, le score sera mis à jour pour refléter le fait que vous avez effectivement récolté deux pièces plutôt qu'une. - -## Prochaine étape : ajouter des ennemis - -Chaque jeu de plateforme comporte des ennemis qu'il faut éviter ou tuer en leur sautant dessus ! Ajoutons-en et voyons comment nous pouvons les faire bouger. - -➡️ Pour continuer **[6 add enemies](/fr/gdevelop5/tutorials/platform-game/6-add-enemies)**! \ No newline at end of file diff --git a/docs/fr/gdevelop5/tutorials/platform-game/6-add-enemies.md b/docs/fr/gdevelop5/tutorials/platform-game/6-add-enemies.md deleted file mode 100644 index 57b9e9732ce..00000000000 --- a/docs/fr/gdevelop5/tutorials/platform-game/6-add-enemies.md +++ /dev/null @@ -1,206 +0,0 @@ ---- -title: Ajouter des ennemis à notre jeu de plateforme ---- -# Ajouter des ennemis à notre jeu de plateforme -Terminons ce tutoriel en ajoutant un ennemi qui se déplacera à gauche et à droite et que nous pourrons détruire en lui sautant dessus. - - -##Créer et ajouter un objet ennemi à notre scène - -Créons d'abord un nouvel objet **Sprite** et ajoutons-y les images `slimeWalk1.png` et `slimeWalk2.png` dans une seule animation. Appelons cette animation `Walk`. - -Puisque cet ennemi est constamment en mouvement, nous n'avons pas besoin d'une animation « immobile » ou d'une quelconque autre animation. - -Activez l'animation en boucle en cliquant le bouton **Don't Loop** (en haut à droite) et réglez la vitesse d'animation (à droite du symbole d'un chronomètre) à `0.5`. - -La fenêtre devrait ressembler à : - -![](/gdevelop5/tutorials/platform-game/gd5_platormertut_slimeeditor.png) - -Confirmez ensuite les modifications en cliquant le bouton **Apply** dans le coin inférieur droit. - -Renommez finalement l'objet en `Slime` et ajoutez-le à la scène. Assurez-vous qu'il repose bien sur le dessus de la plateforme et qu'il se trouve sur le calque `Base`. - -Si vous lancez maintenant un aperçu, il ne se passe pas grand chose. L'ennemi se pose gentiment sur la plateforme et joue l'animation `Walk`. Faisons-le bouger. - - -##Déplacer l'ennemi à gauche et à droite -Dans ce tutoriel, l'ennemi devra se déplacer à gauche à et droite. Les changements de directions se feront lorsque l'ennemi entre en collision avec un obstacle. - -Il nous faut donc ajouter deux objets qui serviront d'obstacle et permettront de détecter les collisions avec l'ennemi. - -Créez un premier objet **Sprite**, ajoutez-lui l'image `Left.png` et renommez cet objet `left`. Créez ensuite un second objet **Sprite**, ajoutez-lui l'image `Right.png` et renommez-le `right`. - -Placez enfin l'objet `left` sur l'extrémité droite de la plateforme et l'objet `right` sur l'extrémité gauche de la plateforme. - -La plateforme devrait alors ressembler à : - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_slimedirection.png) - -Vous devinez peut-être ce que nous allons faire avec ces deux objets. Si ce n'est pas le cas, je vais vous l'expliquer. L'idée est que, si la bave rose `Slime` entre en collision avec l'objet appelé `left`, nous changeons sa direction pour la faire aller à gauche et si elle entre en collision avec l'objet appelé `right`, nous changeons sa direction pour la faire aller à droite. Passons donc à l'action. - -Nous allons commencer par créer une variable objet appelée `direction` en lui donnant la valeur `left` par défaut. Cette variable nous permettra de stocker le sens du déplacement de la bave et de la faire changer de direction. Pour ajouter une variable d'objet à la bave `Slime`: - -sélectionnez une bave dans la scène et, dans l'onglet **Properties**, cliquez sur **EDIT VARIABLES**. - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_objectvariable1.png) - -GDevelop affiche une fenêtre vide qui contient la liste des variables d'objet déjà déclarées pour l'objet `Slime`. Elle est évidemment vide puisque, jusqu'à maintenant, nous n'en avons déclaré aucune. Pour ajouter une variable d'objet : - -cliquez sur le signe **+** **Click to add a variable** dans le coin inférieur droit. - -GDevelop affiche maintenant une variable appelée `Variable` dans le champ **Name**. - -Cliquez sur ce nom et remplacez-le par `direction`. Cliquez ensuite dans le champ **Value** et entrez `left`. La fenêtre devrait alors ressembler à : - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_objectvariable2.png) - -Confirmez les modifications en cliquant sur le bouton **APPLY**. - -Nous avons maintenant une variable d'objet appelée `direction` ayant la valeur par défaut `left`. Utilisons cette variable pour faire bouger la bave. L'idée est que, si la valeur de `direction` est `left` la bave doit se déplacer vers la gauche et si la valeur est `right` la bave doit se déplacer vers la droite. - -Ouvrez l'onglet des événements **NEWSCENE (EVENTS)** et créez un nouvel événement vide (bouton **Add a new empty event** dans la barre du haut). - -Ajoutez-y une condition en cliquant **Add condition** pour tester le contenu texte d'une variable d'objet. Vous la trouverez dans **Common condition for all objects > Variables > Text of an object's variable** dans la liste de gauche. - -Dans le panneau de droite, cliquez sur **Object** et sélectionnez `Slime` dans la liste des objets. Dans le champ **Variable**, sélectionnez `direction` ou, s'il n'y figure pas pour une raison ou l'autre, écrivez-le. Pour le champ **Sign of the test**, choisissez **= (equal to)** ou tapez simplement le signe `=` et finalement, pour le champ **Text to test**, tapez `"left"`. N'oubliez pas de mettre cette valeur **entre guillemets** ! - -La fenêtre devrait ressembler à : - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_objectvariable3.png) - -Pressez **OK** pour confirmer et ajouter la condition à l'événement. - -La condition étant fixée, ajoutons une action pour déplacer la bave vers la gauche. - -Cliquez sur **Add an action** pour paramétrer le déplacement vers la gauche. Sélectionnez **Common action for all objects > Movement > Add a force (angle)** dans le menu de gauche. - -Rappelons que vous pouvez toujours utiliser la boîte de recherche **Search** pour trouver ce que vous cherchez à condition de savoir ce que vous cherchez. - -Dans le panneau de droite, sélectionnez `Slime` dans le champ **Object**. Entrez la valeur `180` dans **Angle**, angle qui correspond à la direction vers la gauche dans le système de coordonnées de GDevelop. Pour la vitesse, entrez `100` dans le champ **Speed (in pixels per second)**. - -La fenêtre devrait ressembler à : - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_moveslimeleft.png) - -Pressez **OK** pour confirmer et ajouter l'action. - -Si nous lançons maintenant un test, la bave devrait commencer par se déplacer vers la gauche, mais vous constaterez probablement qu'elle continue à se déplacer sans jamais changer de direction. Il est temps de remédier à cet situation. - -À cet effet, nous devons tester s'il y a collision entre l'objet `Slime` et l'objet appelé `right` et, si c'est le cas, changer la valeur de la variable `direction` en `"right"`. - -La suite des opérations est, à quelques détails près, la même que pour le déplacement vers la gauche. - -Ajoutez un événement vide (bouton **Add a new empty event**) puis une condition (**Add condition**) pour tester la collision entre l'objet `Slime` et l'objet `Right`. - -Sélectionnez **Common conditions for all objects > Variables > Text of a variable** dans la liste de gauche. Dans le panneau de droite, sélectionnez `Slime` dans le champ **Object**, `direction` dans le champ **Variable** (entrez ce nom manuellement s'il ne figure pas dans la liste). Sélectionnez **= (equal to)** ou tapez un signe égal `=` dans le champ **Sign of the test**. Pour finir, entrez `"right"` dans le champ **Text to test** (n'oubliez pas les guillemets doubles !). - -La fenêtre devrait ressembler à : - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_checkobjectvariable.png) - -Il reste encore à dire à GDevelop ce qu'il faut faire quand la variable `direction` vaut `right`. - -Cliquez **Add action** dans la condition qui vient d'être créée. Sélectionnez **Common action for all objects > Movement > Add a force (angle)** dans la liste de gauche. Sélectionnez `Slime` dans le champ **Object**, mettez **Angle** à `0` et **Speed (in pixels per second)** à `100`, puis cliquez **OK** pour confirmer. - -La figure ci-dessous, qui représente le système de coordonnées utilisé par GDevelop, montre que le déplacement vers la droite correspond bien à un angle de 0°. - -![](/gdevelop5/tutorials/platform-game/gdevelop_co.png) - -Si nous testons maintenant le jeu, nous constatons que rien ne se passe comme prévu : bien que GDevelop sache ce qu'il faut faire quand `direction` vaut `right` ou `left`, la bave poursuit son chemin vers la gauche sans se préoccuper des limites. - -Il faut donc tester les conditions les collisions avec les objets limite `Right` et `Left` et ajuster la variable `direction` en conséquence. - -Créez un nouvel événement et ajoutez-y une condition (**Add condition**) pour tester la collision avec la borne située à gauche appelée `Right`. - -Sélectionnez **Common condition for all objects > Collision > Collision** dans la liste de gauche. Sélectionnez `Slime` dans le premier champ **Object** et `Right` dans le second. Cliquez **OK** pour confirmer. - -Indiquez à GDevelop ce qu'il doit faire quand il y a collision en ajoutant une action en cliquant **Add action**. - -Sélectionnez **Common action for all objects > Variables > Modify the text of a variable of an object** dans la liste de gauche. Dans le panneau de droite, sélectionnez `Slime` dans le champ **Object**, écrivez `direction` dans le champ **Variable**, sélectionnez `= (set to)` dans le champ **Modification's sign** et tapez `"right"` dans le champ **Text**. Cliquez **OK** pour confirmer. - -Il reste à dire à GDevelop ce qu'il doit faire en cas de collision à droite (donc avec la borne `Left`). - -Répétez ce que vous venez de faire pour la borne `Right` en utilisant l'objet `Left` et la valeur `"left"`. - -Si vous avez bien suivi, les événement devraient ressembler à : - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_moveslimeevent1.png) - -Si vous testez maintenant le jeu, la bave devrait changer de direction chaque fois qu'elle touche une limite, mais elle continue de regarder vers la gauche quelle que soit la direction de son déplacement. Il s'agit dont de retourner l'image de la bave chaque fois que c'est nécessaire. - -Il suffit d'ajouter une action de retournement horizontal du sprite de la bave dans les événements spécifiant la direction de cette bave. - -Cliquez **Add action** dans l'événement qui déplace la bave vers la gauche (`The text of variable direction of Slime is = "left"`. - -Sélectionnez **Sprite > Effects > Flip the object horizontally** dans la liste de gauche. Sélectionnez `Slime` dans le champ **Object** du panneau de droite. Cliquez `NO` dans le champ **Activate flipping** puisque dans ce cas, l'image regarde dans la bonne direction. - -Répétez ces deux derniers paragraphes pour l'événement déplaçant la bave vers la droite. Sélectionnez cette fois le bouton **YES** dans le champ **Activate flipping** car nous voulons que la bave regarde vers la droite quand elle va à droite.. - -Les événements devraient maintenant ressembler à : - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_moveslimeevent2.png) - -Si vous effectuez un test, la bave devrait bien regarder dans la direction de son mouvement. - -#Faire en sorte que le joueur tue l'ennemi - -Il suffit de faire en sorte que le joueur détruise la bave quand il lui saute dessus. À cet effet, - -Ajoutez un événement vide (bouton **Add a new empty event**). La suite du procédé est la même que celui utilisé pour faire disparaître les pièces de monnaie. - -Testez la survenue d'une collision en cliquant **Add condition** puis en sélectionnant **Common conditions for all objects > Collision > Collision**. Sélectionnez `Player` pour le premier **Object** et `Slime` pour le second. Confirmer avec **OK**. - -La condition étant remplie, il faut encore y ajouter une action avec **Add action**. Sélectionnez **Common action for all objects > Objects > Delete an object** dans la liste de gauche et sélectionnez ensuite `Slime` pour **Object** à droite. Confirmez avec **OK**. - -Si nous testons le jeu maintenant, la bave est supprimée dès que le joueur entre en collision avec elle, mais ce n'est pas ce que nous voulons. Nous voulons la supprimer seulement si le joueur lui saute dessus (retombe sur elle). - -Pour ce faire, il faut ajouter une condition supplémentaire à l'événement qui vérifie si le joueur est en train de tomber. - -Cliquez **Add condition** dans le dernier événement. Sélectionnez **Platform Behavior > is falling** dans la liste de gauche et `Player` pour **Object**. Cliquez **OK** pour confirmer. - -Si nous testons le jeu, la bave n'est détruite que lorsqu'elle entre en collision avec le joueur qui est en train de lui tomber dessus, et seulement dans ce cas. - -Mais ce n'est pas encore parfait car il n'a pas de poids, il tombe tout simplement sur la bave et la bave disparaît. Faisons en sorte que le joueur puisse sauter encore lorsqu'il tombe sur la bave. - -Pour ce faire, ajoutez une action supplémentaire (**Add action**) pour que le joueur puisse sauter à nouveau puis de le faire sauter en simulant une pression sur la touche de saut. - -Pour lui permettre de refaire un saut, sélectionnez **Platform behavior > Options > Allow again jumping** dans la liste de droite et `Player` dans le champ **Object**. Cliquez **OK** pour confirmer. - -Pour le faire sauter « automatiquement », ajoutez une action **Add action** puis sélectionnez **Platform behavior > Controls > Simulate jump key press** à gauche et `Player` dans le champ **Object** à droite. Confirmez avec **OK**. - -À ce stade, l'événement devrait ressembler à : - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutoriual_killtheslime.png) - -Si nous démarrons maintenant le jeu et sautons sur la bave, le joueur devrait sauter encore une fois et la bave disparaître. - -#Faire que l'ennemi puisse tuer le joueur - -Il est temps de faire que l'ennemi puisse tuer le joueur. - -Dans l'onglet **NEWSCENE (EVENTS)**, ajoutez un événement vide (bouton **Add a new empty event**) et, dans cet événement, une condition pour vérifier la collision entre le joueur et la bave puis ajoutez une action pour supprimer le joueur. - -Évidemment, cela ne fonctionnera pas car nous pourrions juste supprimer le joueur avant de pouvoir supprimer la bave ou supprimer la bave avant de pouvoir supprimer le joueur. Pour l'éviter, ajoutez une action de plus à notre événement pour vérifier que le joueur n'est pas seulement en collision avec la bave mais que le joueur est également sur le sol. - -Si nous lançons maintenant le jeu, nous devrions être en mesure de tuer la bave en lui sautant dessus et la bave devrait pouvoir tuer le joueur si le joueur est au sol au moment de la collision. - -La dernière chose que nous avons à faire est de cacher les objets flèches gauche et droite. - -À cet effet, ajoutons un événement vide et la condition `At the beginning of the scene` qui sera déclenchée une seule fois au démarrage de la scène et ajoutera l'action pour `Hide the object left` (cacher l'objet à gauche) et `Hide the object right` (cacher l'objet à droite). - -L'événement final complet de ce tutoriel devrait ressembler à : - -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_enemycompletevent.png) - -Si nous lançons maintenant un aperçu, les objets à gauche et à droite portant une flèche doivent être cachés. La bave doit bouger constamment de gauche à droite. Nous sommes capables de tuer la bave en lui sautant dessus et la bave devrait être capable de tuer le joueur quand elle entre en collision avec lui lorsqu'il est au sol. - - -##Étape suivante : ajouter des points de contrôle (checkpoints) - -Pour l'instant, la «mort» du joueur est un peu brutale : on le supprime. Faisons-le réapparaître au dernier point de contrôle qu'il a traversé. Les points de contrôle sont essentiels dans un jeu de plateforme si vous ne voulez pas forcer le joueur à recommencer depuis le début lorsqu'il meurt. - -➡️ LIsez **[7 checkpoints](/fr/gdevelop5/tutorials/platform-game/7-checkpoints) !** - - - diff --git a/docs/fr/gdevelop5/tutorials/platform-game/7-checkpoints.md b/docs/fr/gdevelop5/tutorials/platform-game/7-checkpoints.md deleted file mode 100644 index d848e01bb62..00000000000 --- a/docs/fr/gdevelop5/tutorials/platform-game/7-checkpoints.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Ajouter des points de contrôle à votre jeu ---- -# Ajouter des points de contrôle à votre jeu - -Nous avons terminé notre tutoriel précédent en supprimant le joueur quand il entre en collision avec l'ennemi. Mais cela ne fonctionne pas de cette manière dans la plupart des jeux. Au lieu de supprimer le joueur, il y a normalement un « point de contrôle » (checkpoint) où l'état du jeu et celui du joueur sont sauvegardés et au cas où le joueur mourrait, le jeu redémarrerait à partir du point de contrôle. - -Enregistrer la totalité de l'état du jeu et la situation du joueur est peut-être un peu trop avancé pour le moment. Donc, ce que nous allons faire en cas de rencontre avec un objet « point de contrôle », consiste à stocker la position de l’objet dans des variables et au lieu de supprimer le joueur, nous enregistrons sa position dans les variables. Passons à la réalisation… . - -#### Créer un objet point de contrôle - -Commencez par créer un nouvel objet **sprite** dans le jeu et appelez-le `checkpoint`. Son image peut être n'importe quoi. Ici, nous allons utiliser un cactus pour représenter le ou les points de contrôle. - -![](/gdevelop5/tutorials/platform-game/checkpoint-object.png) - -Ajoutez maintenant l'objet à votre scène, là où nous aimeriez avoir un point de contrôle. Vous pouvez ajouter l'objet à plusieurs endroits dans la scène. - -#### Ajouter des événements - -Maintenant que nos objets point de contrôle sont placés dans la scène, ajoutons les événements qui y sont liés. Commençons avec une condition pour vérifier la collision entre le joueur `player` et le point de contrôle `checkpoint` et, si la collision se produit, stockons la position X et Y du point de contrôle dans deux variables de scène appelées `checkpointX` et `checkpointY`. - -![](/gdevelop5/tutorials/platform-game/checkpoint_event.png) - -Tout comme lorsque nous mettons à jour le texte du score, nous utilisons des expressions pour obtenir la position X et Y de l’objet `checkpoint`. Vous trouverez plus d'expressions dans l'éditeur d'expression en cliquant sur l'icône bleue à côté des champs de valeur : - -![](/gdevelop5/tutorials/platform-game/expression-icon.png) - -Lorsque vous cliquez sur cette icône, vous pouvez rechercher toutes les expressions disponibles triées par catégories. - -![](/gdevelop5/tutorials/platform-game/expression-editor.png) - -Nous avons maintenant stocké les positions X et Y de l’objet `checkpoint` avec lequel nous sommes entrés en collision. La seule chose qui reste à faire est de donner au joueur la position X et Y du point de contrôle au lieu de supprimer l’objet `player` en utilisant le coordonnées stockées dans les variables que nous venons de définir. - -![](/gdevelop5/tutorials/platform-game/checkpoint-event2.png) - -Nous utilisons ici un autre ensemble d'expressions pour obtenir la valeur des variables. - -#### Résolution de bogues - -Au cas où vous avez suivi scrupuleusement et que vous avez également choisi le cactus comme point de contrôle, vous remarquerez peut-être que nous venons de créer un bogue. Puisque le personnage du joueur est plus grand que le cactus, nous définissons la position du joueur trop bas et le joueur reste coincé dans le sol lorsque nous définissons sa coordonnée Y : - -![](/gdevelop5/tutorials/platform-game/checkpoint_bug.png) - -Dans ce cas particulier, nous pouvons facilement résoudre le problème en redimensionnant le cactus sur l’axe des Y pour qu’il soit aussi haut ou même plus haut que le joueur. Mais nous pouvons aussi utiliser les mathématiques pour contourner ce problème. Puisque tout le monde sait comment redimensionner un sprite « manuellement », voyons comment le faire avec les maths. - -![](/gdevelop5/tutorials/platform-game/checkpoint-bug-fix.png) - -La solution présente ici paraît un peu trop compliquée, mais elle n'est là que pour vous montrer à quel point les expressions peuvent être puissantes. Donc, ma solution est la suivante : lorsque je définis la position Y du joueur en utilisant la variable `checkpointY`, je soustrais la hauteur du point de contrôle `checkpoint.Height()` du cactus de la hauteur du joueur `Player.Height()`, et la différence obtenue de cette manière est soustraite à la variable `checkpointY`. La différence de hauteur obtenue est donc calculée automatiquement, quelles que soient les hauteurs des objets en question . - -Bien entendu, pour rester simple, nous pourrions également soustraire 30 à la valeur de `checkpointY`. - -![](/gdevelop5/tutorials/platform-game/checkpoint-bug-fix-simple.png) - -Donc, avec la méthode des essais et erreurs, vous pouvez trouver la valeur qui vous convient le mieux ou vous pouvez essayer la manière plus compliquée de déterminer la valeur exacte. - -Peut-être que vous vous demandez maintenant pourquoi je soustrais cette différence de hauteur à Y au lieu de l'ajouter à Y. Le problème est que, la hauteur du point de contrôle étant plus petite, je dois placer le joueur plus haut. La raison est que le valeur de la coordonnée sur l'axe Y augmente de haut en bas. Elle commence à 0 en haut et augmente de plus en plus vers le bas de l'écran, donc techniquement j'ai besoin d'une valeur inférieure pour déplacer quelque chose vers le haut : - -![](/gdevelop5/tutorials/platform-game/2d-coordinates.png) - -Les coordonnées de la scène de jeu de la plupart des moteurs 2D sont définies de la manière suivante : - -L'origine est placée dans le coin supérieur droit de la scène, de cordonnées (0,0). La valeur de l'abscisse (coordonnée horizontale X le long de l'axe du même nom) augment de gauche à droite et celle de l'ordonnée (coordonnée verticale Y le long de l'axe du même nom) augmente de haut en bas, comme vous pouvez le voir sur l'image ci-dessus. - -Maintenant, si nous lançons un aperçu et que notre joueur meurt, sa position est définie sur les dernières valeurs de point de contrôle enregistrées. Mais il y a un autre bug. - -Si le joueur meurt avant d'entrer en collision avec un point de contrôle, les variables renverront 0 et le joueur va se retrouver à la position 0,0 qui est le coin supérieur gauche. - -Nous pouvons facilement résoudre ce problème en définissant des valeurs par défaut pour les points de contrôle, valeurs correspondant à la position de départ du joueur au début de la scène. - -![](/gdevelop5/tutorials/platform-game/checkpoint-bug2-fix.png) - -Donc, lorsque la scène commence, le joueur doit normalement être déjà en position de départ ce qui fait que nous obtenons simplement la position du joueur, position que nous stockons comme position du point de contrôle. Si le joueur meurt avant d'entrer en collision avec l'un des points de contrôle, nous le positionnons au début de la scène. -#### Améliorer le système - -En utilisant ce que vous avez appris jusqu'ici, vous pouvez aller de l'avant et ajouter un texte pour afficher un message lorsque le joueur a atteint un point de contrôle et peut-être jouer une animation, faire sauter le cactus ou quelque chose de plus intéressant. - - diff --git a/docs/fr/gdevelop5/tutorials/platform-game/ajout-mosaique.png b/docs/fr/gdevelop5/tutorials/platform-game/ajout-mosaique.png deleted file mode 100644 index c104b5d1aed..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/ajout-mosaique.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-32-46.png b/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-32-46.png deleted file mode 100644 index 5f1ec950d56..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-32-46.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-42-29.png b/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-42-29.png deleted file mode 100644 index 9054a6f3661..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-42-29.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-45-50.png b/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-45-50.png deleted file mode 100644 index e27630f2e83..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-45-50.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-49-11.png b/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-49-11.png deleted file mode 100644 index 4ca9331ebf1..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-49-11.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-49-34.png b/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-49-34.png deleted file mode 100644 index e4587e7e8fd..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-49-34.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-51-19.png b/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-51-19.png deleted file mode 100644 index a6359bcba11..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-51-19.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-51-32.png b/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-51-32.png deleted file mode 100644 index 2de04d5bdba..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-51-32.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-52-46.png b/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-52-46.png deleted file mode 100644 index f2a44a47451..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-52-46.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/changer-nom-objet.png b/docs/fr/gdevelop5/tutorials/platform-game/changer-nom-objet.png deleted file mode 100644 index 4bb55f09565..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/changer-nom-objet.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/charger-image-plateforme1.png b/docs/fr/gdevelop5/tutorials/platform-game/charger-image-plateforme1.png deleted file mode 100644 index 699991ce92d..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/charger-image-plateforme1.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/comportement-obj-plateforme.png b/docs/fr/gdevelop5/tutorials/platform-game/comportement-obj-plateforme.png deleted file mode 100644 index 5b801366f1a..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/comportement-obj-plateforme.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/comportement-plateforme.png b/docs/fr/gdevelop5/tutorials/platform-game/comportement-plateforme.png deleted file mode 100644 index e0bc47ea188..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/comportement-plateforme.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/depose-plateforme1.png b/docs/fr/gdevelop5/tutorials/platform-game/depose-plateforme1.png deleted file mode 100644 index 974bb850539..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/depose-plateforme1.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/editer_perso.png b/docs/fr/gdevelop5/tutorials/platform-game/editer_perso.png deleted file mode 100644 index 171b2dc4626..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/editer_perso.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/gestionnaire-projet.png b/docs/fr/gdevelop5/tutorials/platform-game/gestionnaire-projet.png deleted file mode 100644 index 5cbbeb55c03..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/gestionnaire-projet.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/index.md b/docs/fr/gdevelop5/tutorials/platform-game/index.md deleted file mode 100644 index 2426cb3ea38..00000000000 --- a/docs/fr/gdevelop5/tutorials/platform-game/index.md +++ /dev/null @@ -1,190 +0,0 @@ ---- -title: Comment faire un jeu de plate-forme ---- -# Comment faire un jeu de plate-forme - -Ce tutoriel vous aidera à commencer à utiliser **GDevelop**: -Vous allez créer un jeu de plateforme très simple où le joueur peut sauter sur les plates-formes et collecter des pièces de monnaie. - -Notez que vous pouvez lire la page [Commencer](/fr/gdevelop5/getting_started) pour avoir une vue d'ensemble du logiciel : elle explique les principaux concepts et décrit l'interface de GDevelop. - - -## Télécharger GDevelop - -Si vous n'avez pas **GDevelop 5**, téléchargez-le à partir du [site officiel](https://gdevelop.io). Il est disponible pour Windows, MacOS et Linux. - -Téléchargez toujours GDevelop à partir de cette page pour être sûr d'avoir la dernière version. -Installez ou extrayez GDevelop et lancez-le. - -![](/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-32-46.png) - -## Créer un nouveau jeu - -Cliquez sur **CREER UN NOUVEAU PROJET** sur la page d'accueil. Dans la fenêtre **Créer un nouveau jeu**, choisissez un dossier pour votre projet (dans le champ **CHOISIR UN DOSSIER** situé en haut de la fenêtre) et sélectionnez **Jeu vide** (dernière option) pour démarrer un nouveau jeu à partir de zéro. - -Par défaut, GDevelop crée un dossier appelé **My project**. Vous pouvez créer un dossier vide avec le nom qui vous convient et le sélectionner (dossier **exemple-jeu-plateforme** dans notre exemple). - -Pour faire notre jeu, nous aurons besoin de ressources pour représenter les objets (image(s) du personnage, quelques plateformes, objets à récolter ...). - -![](/fr/gdevelop5/tutorials/platform-game/nouveau-projet.png) - - Vous pouvez télécharger les ressources ici : http://www.compilgames.net/dl/PlatformerTutorialResources.zip. - -Une fois ce fichier téléchargé, extrayez son contenu dans le dossier où vous avez créé le projet. - -## Ajouter une scène - -Les **_scènes_** sont les différentes parties du jeu. Typiquement, chaque écran apparaissant dans le jeu est une scène : le menu principal, le menu pause et les niveaux sont des scènes. - -Les **_scènes_** contiennent les objets qui sont affichés à l'écran. Les **_objets_** peuvent être mis en scène pour créer les niveaux (ces objets sont appelés **_instances_**). Les scènes contiennent également les **_événements_** qui sont exécutés pour animer la scène. - -Dans le gestionnaire de projet qui s'ouvre à gauche, cliquez sur le bouton **+** à droite de **Cliquez pour ajouter une scène**. - -![](/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-42-29.png) - -Une nouvelle scène, appelée **New Scene** est ajoutée à la liste. Cliquez dessus pour l'ouvrir. - -![](/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-45-50.png) - -Pour renommer la scène comme vous le souhaitez, vous pouvez revenir au **gestionnaire de projet** en cliquant sur -![](/fr/gdevelop5/tutorials/platform-game/gestionnaire-projet.png) - en haut à gauche. Faire clic-droit sur **New Scene** puis **rename** pour lui choisir un nouveau nom (dans notre exemple : **scene1**). - -## Créer l'objet joueur - -Le joueur contrôlera un personnage qui peut sauter et se déplacer sur des plateformes. Nous allons créer cet objet. - -Sur la droite, vous pouvez voir un panneau intitulé **Objects**. Cliquez sur le bouton **+** pour ajouter un objet. - -![](/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-49-11.png) - -Ensuite, une fenêtre s'ouvre et affiche différents types d'objets parmi lesquels vous pouvez choisir. - -![](/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-49-34.png) - -Les différents types d'objets présentent des caractéristiques spécifiques. Pour la plupart de nos objets, nous utiliserons les objets **Sprite** qui sont des objets animés ou fixes pouvant être utilisés pour de nombreux éléments (joueur, plates-formes, ennemis, objets...). - -Cliquez sur **Sprite** dans la liste. Le nouvel objet est ajouté à la scène et les propriété de l'objet s'ouvrent. Vous pouvez renommer l'objet (ici on l'a appelé `perso_principal`) : - -![](/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-51-19.png) - -L'objet est actuellement vide. Les objets **Sprite** sont composés d'animations, et chaque animation peut contenir une ou plusieurs images. Ajoutons une animation. Cliquez sur le bouton **+**. - -![](/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-51-32.png) - -L'animation est ajoutée mais toujours vide, sans images. Pour ajouter une image, cliquez sur le **+** dans la vignette vierge. - -Choisissez l'image appelée `p1_stand.png` dans le dossier du projet. L'image est ajoutée à l'objet : - -![](/fr/gdevelop5/tutorials/platform-game/capture_du_2020-06-06_10-52-46.png) - -Vous pouvez maintenant fermer les propriétés en cliquant sur le bouton **APPLIQUER** dans le coin inférieur droit. - -##Mettre l'objet dans la scène - -Pour ajouter le joueur dans notre niveau, nous devons récupérer l'objet et le placer dans la scène. -Chaque objet ajouté à la scène est une **_instance_** de l'objet. - -Nous n'avons besoin que d'une seule instance du joueur car nous n'aurons qu'un seul joueur dans ce niveau. Les autres objets (comme les plateformes, pièces, ennemis, ...) pourront avoir plusieurs instances dans la scène. - -Pour ajouter l'objet, il faut cliquer dans la liste à gauche : - -![](/fr/gdevelop5/tutorials/platform-game/objets-volet.png) - -puis sans relacher la souris, le faire glisser vers la scène et relacher pour le déposer : - -![](/fr/gdevelop5/tutorials/platform-game/instance-sprite-depose.png) - -Pour zoomer et dézoomer dans la scène, utilisez la molette de la souris. Pour déplacer la scène, utiliser le clic du milieu (laisser appuyer et faire glisser). - -## Donner un nom significatif à l'objet - -Si vous avez oublié de nommer votre personnage, vous pouvez le faire en revenant dans le menu ou en faisant un clic droit sur l'objet (ou cliquez sur l'icône présentant trois points alignés verticalement). Choisissez alors l'option **Rename** dans le menu contextuel. Vous pouvez alors saisir `perso_principal` et cliquer n'importe où sur l'écran pour renommer l'objet. - -![](/fr/gdevelop5/tutorials/platform-game/changer-nom-objet.png) - -## Ajouter des plateformes - -Pour le moment, le niveau est encore vide, sans plateformes. Ajoutons-en quelques unes. - -Créez un nouvel objet en cliquant le bouton **+** dans la liste d'objets. Cette fois, choisissez **Mosaïque** (Tile en anglais) dans la fenêtre de sélection. - -![](/fr/gdevelop5/tutorials/platform-game/ajout-mosaique.png) - -L’éditeur d'objet s'ouvre. Il est un peu différent de l’éditeur de **Sprite** car les **Mosaïque** ne sont pas animés. - -Cliquez sur **Sélectionner une image** puis sur **Choose a new image**. Choisissez cette fois l'image appelée `grassHalfMid.png`. Au passage, renommez l'objet _plateforme_herbe1_. - -![](/fr/gdevelop5/tutorials/platform-game/charger-image-plateforme1.png) - -Fermez l’éditeur en cliquant sur le bouton **APPLIQUER** en bas à droite. Comme pour le personnage, déposez une instance de l'objet sur la scène pour le placer dans le niveau : - -![](/fr/gdevelop5/tutorials/platform-game/depose-plateforme1.png) - -L'objet est ajouté à la scène mais il est minuscule. Cliquez-le et utilisez les poignées de taille pour le redimensionner afin qu'il ressemble à une plateforme : - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.00.01.png) - -Si vous avez oublié, n'oubliez pas de renommer l'objet `plateforme_herbe1` au lieu du nom par défaut dans la liste des objets. - -### Il est temps de sauvegarder! - -Ne perdons pas ce que nous venons de créer : dans le menu **Fichier** de l'application, cliquez **Sauvegarder** (ou pressez (Ctrl+S/Cmd+S) pour sauvegarder les modifications. - -## Ajouter des comportements aux objets - -### Le joueur (perso_principal) - -Les mouvements du joueur pourraient être créés à l'aide des événements de GDevelop, mais ce serait une tâche longue et difficile de recréer un bon moteur de plateforme. Heureusement, GDevelop contient déjà un moteur de plateforme complet. Afin de mettre en oeuvre ce moteur, nous avons besoin d'utiliser les « comportements de plateforme », qui nous permettent d'accéder au moteur de plateforme et de l'utiliser. - -Ouvrez l'éditeur d'objet de `perso_principal` en cliquant-droit sur le joueur dans la liste des objet et en sélectionnant **Edit object** dans le menu (un double clic ouvre également le menu). - -![](/fr/gdevelop5/tutorials/platform-game/editer_perso.png) - -Dans la fenêtre qui vient de s'ouvrir, sélectionnez le panneau **Comportement** (en haut à droite de **Propriétés**) et cliquez le bouton **+ Ajouter un comportement à l'objet**. Sélectionnez **Objet se déplaçant sur des plateformes** dans la liste des comportements disponibles. -L'éditeur affiche maintenant les comportements avec toute une série de paramètres que vous pouvez modifier. - -![](/fr/gdevelop5/tutorials/platform-game/comportement-plateforme.png) - -Vous pouvez changer certaines de ces propriétés, par exemple la **Vitesse de saut**. Mettez ce paramètre à `800` afin que le saut soit plus important. - -### Platformes -Nous devons aussi configurer des objets pour qu'ils fonctionnent comme des plateformes afin que le joueur puisse leur marcher ou leur sauter dessus. Si nous ne le faisons pas, le joueur tombera à travers l'objet, comme si nous n'avions pas dit à notre personnage comment réagir avec ces plateformes. En donnant à un objet les propriétés d'une plateforme, nous indiquons au personnage que cet objet est une plateforme avec laquelle il peut entrer en collision (lors d'un saut) et lui marcher dessus. - -Pour configurer l'objet `plateforme_herbe1` en tant que plateforme, ouvrez l'éditeur de l'objet (clic droit sur l'objet dans la liste des objets et sélection de **Edit object** dans le menu), activez le panneau **Comportements** et **+ Ajoutez un comportement à l'objet** puis sélectionnez le comportement **Platforme** : - -![](/fr/gdevelop5/tutorials/platform-game/comportement-obj-plateforme.png) - -Ce panneau présente aussi quelques options que vous pouvez modifier. Par exemple, l'option **Les rebords peuvent être saisis** permet au personnage de s'accrocher au bord de la plateforme. Si nous activons cette option maintenant, le comportement du personnage paraîtra étrange car nous n'avons pas encore d'animation à afficher lorsque le personnage attrape un bord. - -## Lancer une prévisualisation - -Arrivés à ce point, vous devriez pouvoir tester votre jeu en pressant le bouton de prévisualisation situé dans la barre d'outils de l'écran. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.13.25.png) - -Lorsque vous pressez ce bouton, GDevelop génère une prévisualisation et ouvre ensuite une nouvelle fenêtre. - -Vous devriez alors pouvoir vous délacer sur les plateformes et sauter d'une plateforme à l'autre avec les touches par défaut. Sentez-vous libres d'ajouter quelques autres plateformes à la scène, comme vous l'avez fait pour la première. N'oubliez pas d'ajouter aussi les comportements adéquats aux plateformes créées pour que le personnage ne passe pas au travers. - -Vous pouvez maintenant faire bouger le personnage avec les touches par défaut, qui sont les touches fléchées pour le déplacer horizontalement et les touches **Maj** ou **Espace** pour le faire sauter. Remarquez que, pour le moment, notre personnage n'est pas animé : nous l'animerons pas le suite. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.14.18.png) - -Si le personnage ne se déplace pas, assurez-vous d'avoir activé les comportements adéquats. Assurez-vous aussi d'avoir ajouté le comportement **Platform** aux objets `GrassPlatform`, sinon le joueur les traversera et sortira de l'écran par le bas. - -## Changer la couleur de l'arrière-plan - -Un arrière-plan gris est un peu ennuyeux. Nous pourrons y ajouter une image par la suite, mais ne nous compliquons pas les choses pour le moment. Faites un clic-droit dans l'éditeur de la scène et sélectionnez **Scene properties** : - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.16.03.png) - -Dans la fenêtre qui s'est ouverte, cliquez sur **Couleurs d'arrière plan de la scène**, choisissez la couleur qui vous convient dans la palette des couleurs et confirmez en cliquant **OK**. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.18.08.png) - -## Étape suivante : animer le joueur - -Pour le moment, notre jeu est très basique : le joueur n'est pas animé lorsqu'il saute ou qu'il marche. L'étape suivante de ce tutoriel vous montrera comment ajouter différentes animations et comment utiliser des événements pour changer les animations lorsque l'état du joueur change. - -➡️ Lisez **[la suite du tutoriel se trouve ici !](/fr/gdevelop5/tutorials/platform-game/2-player-animations)** \ No newline at end of file diff --git a/docs/fr/gdevelop5/tutorials/platform-game/instance-sprite-depose.png b/docs/fr/gdevelop5/tutorials/platform-game/instance-sprite-depose.png deleted file mode 100644 index b5878127f8a..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/instance-sprite-depose.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/nouveau-projet.png b/docs/fr/gdevelop5/tutorials/platform-game/nouveau-projet.png deleted file mode 100644 index 6b194b9a96d..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/nouveau-projet.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/platform-game/objets-volet.png b/docs/fr/gdevelop5/tutorials/platform-game/objets-volet.png deleted file mode 100644 index 0d3f36c6129..00000000000 Binary files a/docs/fr/gdevelop5/tutorials/platform-game/objets-volet.png and /dev/null differ diff --git a/docs/fr/gdevelop5/tutorials/storage-action-explained.md b/docs/fr/gdevelop5/tutorials/storage-action-explained.md deleted file mode 100644 index 32f7c1c69a9..00000000000 --- a/docs/fr/gdevelop5/tutorials/storage-action-explained.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: Explications sur l'action de stockage ---- -# Explications sur l'action de stockage - -Quand vous voulez sauvegarder ou charger n'importe quelle donnée, votre jeu a besoin d'utiliser les évènements de stockage. Ici je vais vous expliquer ce que chaque option fait, comment lire et écrire des valeurs et comment bien commencer. Après avoir lu cette page, je vous recommande d'aller regarder l'exemple "Save-Load" inclus dans GDevelop. - -!!! note - - Les actions de stockage vont stocker les données dans le **stockage interne**. Si vous souhaitez écrire ou lire des **fichiers**, lisez la page [File system](/gdevelop5/all-features/filesystem) mais cette option est uniquement disponible pour les versions ordinateurs natifs (Linux, Windows, MacOS) - -### Écrire une valeur - -**Stockage :** "nomdustockage" - -Le nom du stockage dans lequel vous voulez écrire une valeur. Par exemple, vous voulez peut-être stocker des informations sur le joueur, pour cela, créez un stockage nommé "joueur". - -Si vous souhaitez sauvegarder les préférences utilisateurs ou paramètres du jeu, vous pouvez créer un stockage nommé "parametres" ou vous pouvez juste créer un seul stockage pour ~~les contrôler tous~~ stocker toutes les informations à la fois et juste le nommer "sauvegarde". - -C'est à vous d'organiser les sauvegardes comme vous le souhaitez. - -Si le nom d'un stockage n'existe pas, GDevelop créera le stockage pour vous. Pour faire une analogie, le stockage est un meuble contenant plusieurs tiroirs. - -**Groupe :** "nomdugroupe" - -Un groupe peut être n'importe quoi, c'est basiquement un tiroir sur lequel vous mettez un nom et dans lequel vous mettez une valeur que vous gardez pour plus tard. En utilisant des groupes, vous pouvez stocker plusieurs valeurs dans le même stockage. Par exemple, la position du joueur peut être stockée dans un groupe et la vie du joueur dans un autre à l'intérieur du même stockage. Ce qui donne : - -Groupe: "PositionXJoueur" pour stocker la position X du joueur - -Groupe: "ViesDuJoueur" pour stocker le nombre de vies du joueur. - -Quand vous chargez une valeur depuis le stockage, vous pouvez utiliser le nom du groupe pour spécifiez quelle valeur vous souhaitez lire. Dans le cas plus haut, la position X du joueur ou son nombre de vies ou n'importe quoi d'autre est enregistrée dans le stockage. - -**Expression :** La valeur que vous voulez écrire dans le stockage - -Une expression peut être un texte, un nombre, une variable ou n'importe quoi d'autre. - -Pour récupérer la valeur stockée dans la variable, nous devons utiliser des *expressions variables* dans le champ d'entrée: - -**Variable d'objet :** - -objet_nom.Variable(variable_nom) - -objet\nom.VariableString(variable_nom) - -**Variable de scène :** - -Variable(variable_nom) - -VariableString(variable_nom) - -**Variable globale :** - -GlobalVariable(variable_nom) - -GlobalVariableString(variable_nom) - -Une chose importante à savoir ; **Écrire une valeur" peut être utilisée seulement pour ÉCRIRE UN NOMBRE** et **"Écrire un texte" peut seulement être utilisé pour ÉCRIRE UN TEXTE** dans le stockage. Souvenez-vous-en aussi quand vous utilisez des expressions. Les expressions de textes ne renvoient que du texte alors que les expressions numériques ne renvoies que des nombres. Cela vaut aussi pour les différents types de variables. - -### Lire une valeur - -Pour lire une valeur depuis le stockage, vous devez a peu près faire la même chose : - -**Stockage :** Entrez le nom du stockage depuis lequel vous voulez lire la valeur. - -**Groupe :** Entrez le nom du groupe qui contient la valeur. - -(Souvenez vous de l'analogie de du meuble avec les tiroirs) - -**Variable de scène :** Entrez le nom de la variable dans laquelle stocker la valeur chargée. Notez que cette variable **devrait être une variable de scène** et que le champ d'entrée attends le nom d'une variable de scène existante, pas une expression. - -La variable **devrait** aussi être ajoutée (déclarée) à l'avance dans les propriétés de la scène. Si vous souhaitez stocker la valeur chargée dans une variable globale ou une variable d'objet, vous pouvez utiliser une variable de scène "tampon" pour passer la valeur du stockage, à la variable de scène puis à la variable globale/d'objet. - -!!! note - - Conseil : Vous pouvez mettre un underscore ("_") ou juste le mot "tmp" devant le nom de la variable temporaire pour signaler qu'elle ne sert que de tampon entre le stockage et une variable de scène ou d'objet. Mais ce choix ne revient qu'à vous - -N'oubliez pas : **L'action Lire une valeur est réservé aux nombres** et **L'action Lire un texte est réservé aux textes** ! Les types de variables sont importants et doivent être respectés. - -#### Exemples - -!!! note - - **Testez le stockage interne par vous même !** 🎮 - - Ouvrez cet exemple dans l'éditeur en ligne ! - -- diff --git a/docs/fr/gdevelop5/tutorials/tank-shooter.md b/docs/fr/gdevelop5/tutorials/tank-shooter.md deleted file mode 100644 index 5e65cba4e73..00000000000 --- a/docs/fr/gdevelop5/tutorials/tank-shooter.md +++ /dev/null @@ -1,246 +0,0 @@ ---- -title: tank-shooter ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -##Tirs sur tanks – Tutoriel pour débutant - -Ce tutoriel vous introduit à l’utilisation de GDevelop : vous allez créer un jeu très simple, avec des ennemis qui se déplacent vers le joueur, celui-ci pouvant tirer dessus afin qu'ils explosent au contact des missiles. ![](/gdevelop5/tutorials/beginner-tutorial-screenshot.png) - -Pour obtenir une vue d'ensemble du logiciel, je recommande de commencer par lire la page [](/fr/gdevelop5/getting_started). - -### Télécharger GDevelop - -Si vous n'avez pas encore GDevelop, téléchargez-le sur le site officiel : [gdevelop-app.com](http://gdevelop-app.com) - -Téléchargez toujours GDevelop à partir de cette page pour être sûr d'avoir la dernière version. Une fois que GDevelop est installé et lancé, la page de démarrage est affichée : ![](/gdevelop5/start_page.png) - -### Télécharger les sources - -Vous pouvez télécharger le projet terminé ![](/gdevelop5/tutorials/beginner-tutorial.zip) afin de voir comment il est fait au cas où vous seriez bloqué ou ne comprendriez pas quelque chose. - -### Créer un nouveau projet - -Cliquez sur **Create a new project** sur la page d'accueil. - -Ensuite, vous avez le choix entre créer un nouveau projet à partir d'un modèle ou créer un projet vide. ![](/gdevelop5/create-new-project-window.png) - -Nous avons besoin d'un projet vide, mais avant de faire ce choix, nous devons définir un dossier en bas de la page dans lequel notre projet sera stocké. - -![](/gdevelop5/tutorials/select-project-folder.png) - -Pour choisir un emplacement personnalisé, nous devons cliquer sur le bouton **Choose folder** et parcourir le système de fichiers de notre ordinateur pour trouver le dossier que nous voulons utiliser. ![](/gdevelop5/choose-folder-button.png) - -Une fois que vous avez sélectionné un dossier, cliquez sur l'option **Empty game** dans la liste. ![](/gdevelop5/empty-game-button.png) - -### Créer une nouvelle scène - -La première chose que nous avons à faire est créer une nouvelle scène. Cliquez sur le bouton dans le gestionnaire de projet : ![](/gdevelop5/tutorials/add-scene-button.png) - -Ensuite, cliquez sur la nouvelle scène **NewScene** que nous venons de créer, afin d'ouvrir l'éditeur de scène. - -### Obtenir les images et ressources - -Avant de continuer, nous avons besoin de quelques images pour notre jeu. Vous pouvez les télécharger ici : [Télécharger les images](http://www.compilgames.net/dl/BeginnerTutorial2Images.zip) - -Une fois que vous avez téléchargé ce fichier, extrayez son contenu dans le dossier dans lequel vous avez créé le projet. - -### Créer la tourelle du joueur - -Le joueur contrôlera une tourelle pour tirer sur les ennemis. Dans l'éditeur d'objets, cliquez sur le bouton pour ajouter un nouvel objet. ![](/gdevelop5/tutorials/add_new_object.png) Une fenêtre demande le type d'objet à créer : ![](/gdevelop5/objects/object-types.png) - -Nous avons besoin d'un objet **Sprite**, donc choisissez ce type dans la liste. Ensuite, le panneau de propriétés de l'objet devrait apparaitre par défaut. Si ce n'est pas le cas, faites un clic droit sur le **NewObject** dans l'éditeur d'objets et sélectionnez **Edit object** dans le menu. - -Ensuite, nous devons ajouter une animation à l'objet, donc cliquez sur le bouton correspondant dans la fenêtre de propriétés. ![](/gdevelop5/tutorials/add-animation.png) - -À présent, vous devriez voir les propriétés d'animation de l'objet. ![](/gdevelop5/objects/animation-properties.png) - -Ensuite, nous devons ajouter l'image de la tourelle comme animation. Cliquez sur le gros bouton « plus » et sélectionnez l'image aaguntopdown.png dans le dossier du projet. L'image devrait dès lors être affichée dans la fenêtre. ![](/gdevelop5/tutorials/turret-animation-window.png) - -Terminez en cliquant sur **Apply** pour enregistrer. - -Ensuite, renommez l'objet si vous ne l'avez pas encore fait. Faites un clic droit sur l'objet tourelle dans l'éditeur d'objets, sélectionnez **Rename** dans le menu et entrez le nom `turret`, afin que nous puissions par la suite désigner l'objet par ce nom. ![](/gdevelop5/tutorials/rename-turret.png) - -### Ajouter la tourelle à la scène - -Pour ajouter la tourelle à la scène, sélectionnez-la dans l'éditeur d'objets puis cliquez sur l'éditeur de scène. Cela devrait créer une tourelle dans la scène et nous permettre de la sélectionner, la déplacer et la pivoter. ![](/gdevelop5/tutorials/turret-selected-inscene.png) - -### Premiers évènements - -Nous allons créer les évènements qui vont servir à animer l'ensemble du jeu. D'abord, la tourelle doit se tourner vers le pointeur de la souris. - -Allez dans l'éditeur d'évènements en cliquant sur l'onglet des évènements : ![](/gdevelop5/tutorials/scene-events-tab.png) - -Ensuite, en haut, cliquez sur le bouton pour créer un nouvel évènement. ![](/gdevelop5/add-event-button.png) - -L'évènement est créé, avec une liste vide de conditions (sur la gauche) et une liste vide d'actions (sur la droite). Placez votre souris sur la liste d'actions et cliquez sur **Add action** : ![](/gdevelop5/tutorials/add-action.png) - -La première action tournera la tourelle vers la souris : dans la fenêtre suivante, choisissez l'action **Common action for all objects \> Angle \> Rotate toward position**. ![](/gdevelop5/tutorials/rotate-toward-position-action.png) La partie droite de la fenêtre montre alors le nom de l'action ainsi que les paramètres. Définissez la valeur du premier paramètre en cliquant sur le paramètre et en sélectionnant la tourelle parmi les objets disponibles. ![](/gdevelop5/tutorials/select-turret-object-parameter.png) Pour les paramètres suivants, entrez `MouseX()` et `MouseY()` afin que l'objet se tourne vers la position de la souris. Lorsque le jeu sera lancé, ces deux expressions obtiendront les abscisse et ordonnée de la souris. Pour la vitesse angulaire, 0 signifie rotation instantanée et c'est ce que nous voulons ici. Si vous préférez que la tourelle se déplace lentement vers la position de la souris, vous pouvez entrer une petite valeur telle que 100. - -Maintenant, les paramètres de cet évènement devraient ressembler à cela : ![](/gdevelop5/tutorials/rotate-toward-pos-event-parameters.png) - -Nous avons utilisé comme valeurs des expressions pour obtenir l'abscisse et l'ordonnée de la souris. Vous pouvez trouver d'autres formules dans l'éditeur d'expressions en cliquant sur l'icône bleue à côté des champs de valeur : - -![](/gdevelop5/tutorials/platform-game/expression-icon.png) - -En cliquant sur l'icône, vous pouvez fouiller toutes les expressions classées par catégories. - -![](/gdevelop5/tutorials/platform-game/expression-editor.png) - -Pour enregistrer les changements, cliquez sur OK dans le coin en bas à droite de la page. - -Nous pouvons lancer un aperçu en cliquant sur le bouton prévu à cet effet en haut. ![](/gdevelop5/preview-button.png) - -Si nous le faisons correctement, notre tourelle devrait se tourner vers la position de la souris. ![](/gdevelop5/tutorials/turret-rotate-toward-mouse.png) - -### Tirer des missiles avec la tourelle - -Le joueur doit pouvoir tirer des missiles sur les ennemis. Nous avons d'abord besoin d'un objet missile : dans la liste d'objets sur la droite, faites un clic droit sur l'objet tourelle et choisissez **Add a new object** ou bien cliquez sur le bouton pour ajouter un nouvel objet. ![](/gdevelop5/tutorials/turret-add-new-object.png) Choisissez **Sprite**, puis ajoutez une animation et choisissez l'image bullet.png, puis nommez l'objet **missile**. Tout comme nous avons fait précédemment pour la tourelle. - -Ensuite, nous voudrions créer les missiles lorsque le bouton gauche de la souris est enfoncé. Allez dans l'onglet des évènements, et ajoutez un nouvel évènement de la même façon que nous l'avons fait pour la tourelle. La première action sera une action **Create a new object**, disponible dans la catégorie **Common actions for all objects \> Objects**. ![](/gdevelop5/tutorials/create-object-action.png) Sur le côté droit, le premier paramètre doit être le missile, puisque nous voulons créer un objet missible. Les autres paramètres sont la position de la tourelle : entrez `turret.X()` et `turret.Y()` comme valeurs des 2^(e) et 3^(e) paramètres. ![](/gdevelop5/tutorials/create-object-action-parameters.png) - -Il n'est pas nécessaire de préciser un calque (**Layer**) puisque nous n'en avons qu'un seul dans notre jeu. Cliquez sur OK pour disposer l'action. - -Ajoutez ensuite une autre action après cette première action. Ne créez pas un autre évènement, cliquez seulement sur **Add action** sous la première action ! ![](/gdevelop5/tutorials/add-second-action.png) Cette fois, choisissez l'action appelée **Common action for all objects \> Movement \> Add a force (angle)**. ![](/gdevelop5/tutorials/add-force-angle-action.png) GDevelop contient un système de forces intégré qui permet de déplacer les objets facilement. Cette action sera utilisée pour déplacer le missile vers la souris lorsqu'il est lancé. Comme premier paramètre, entrez `bullet` afin que GDevelop déplace le missile tout juste créé dans l'action précédente. Comme angle, nous allons utiliser la direction de la tourelle : entrez `turret.Direction()` comme valeur du 2^(e) paramètre. Pour le 3^(e) paramètre, entrez 400 afin que le missile se déplace avec une vitesse de 400 par seconde. Enfin, entrez 1 comme valeur du dernier paramètre, afin que la force soit appliquée au missile de façon constante et que le missile continue de se déplacer après son lancement. ![](/gdevelop5/tutorials/add-force-angle-parameters.png) - -Nos deux actions doivent être lancées uniquement lorsque le joueur tire (en enfonçant le bouton gauche de la souris). Pour ce faire, nous devons ajouter une condition à l'évènement : cliquez sur **Add condition** dans l'évènement. ![](/gdevelop5/tutorials/add-condition.png) - -Choisissez la condition **Mouse and touch \> Mouse button pressed or touch held**. ![](/gdevelop5/tutorials/mouse-button-pressed-condition.png) Sur le côté droit, cliquez sur **Button to test parameter** et choisissez **Left** dans la liste. ![](/gdevelop5/tutorials/mouse-button-pressed-parameter.png) Enfin, fermez la fenêtre en cliquant sur le bouton OK. La condition est alors ajoutée à l'évènement. - -Si vous prévisualisez le jeu maintenant, vous verrez qu'il y a deux problèmes : les missiles sont tirés trop rapidement, et ils apparaissent à l'origine de la tourelle, ce qui n'est pas très réaliste. - -Afin de résoudre le premier problème nous allons utiliser un timer. Ajoutez une seconde condition au dernier évènement que nous avons créé. Choisissez la condition Timers and time \> Value of a timer ![](/gdevelop5/tutorials/timer-value-condition.png) Dans la partie droite, entrez 0.25 comme premier paramètre qui représente le temps écoulé en secondes, et "firerate" comme second paramètre, qui est le nom du timer que nous allons utiliser (n'oubliez pas les guillemets doubles autour du nom du timer !). ![](/gdevelop5/tutorials/timer-value-condition-parameters.png) - -Nous n'avons cependant pas encore fini, car comme nous voulons tirer des balles toutes les 0.25 secondes, nous avons besoin de remettre à zéro le timer à 0 après avoir atteint 0.25. Nous allons donc ajouter une action Timers and time \> Reset a timer juste en dessous de l'action de mouvement dans le même évènement. ![](/gdevelop5/tutorials/reset-timer-action.png) Entrez le paramètre "firerate", qui est le nom du timer (encore une fois, attention au guillements !). ![](/gdevelop5/tutorials/reset-timer-action-parameter.png) Cette paire de condition et action garantira que les actions utilisées pour tirer la balle ne soient répétées que lorsqu'au moins 0.25 secondes se sont écoulées après la dernière création de balle : ![](/gdevelop5/tutorials/shoot-bullet-event1.png) - -Nous devons maintenant nous assurer que les balles sont bien tirées depuis le canon de la tourelle. - -Pour ce faire, nous allons ajouter un point personnalisé à notre objet tourelle et créer les balles à partir de ce point. - -Pour cela, ouvrons les propriétés de l'objet en cliquant avec le bouton droit de la souris sur l'objet tourelle sur le côté droit et sélectionnons "Edit Object" dans la liste. Cela fait apparaître la fenêtre dans laquelle nous pouvons ajouter des animations à nos objets et nous devrions voir un bouton appelé EDIT POINTS. ![](/gdevelop5/tutorials/edit-point-button.png) - -Après avoir cliqué sur le bouton, nous pouvons voir que notre objet a actuellement 2 points par défaut, le point Origin et le point Center. ![](/gdevelop5/tutorials/default-points.png) Nous ne pouvons pas renommer ces points, mais nous pouvons modifier leur position par défaut si nécessaire. Mais notre but est d'ajouter un point de plus à l'objet. - -Cliquez sur le bouton d'ajout (symbole plus) pour ajouter un point personnalisé à notre objet tourelle. Nous voyons immédiatement le nouveau point ajouté à la liste avec le nom Point et la position 0,0. Renommons ce point en Canon et fixons la position X à 110 et la position Y à 35 ![](/gdevelop5/tutorials/custom-point-name-position.png) - -Maintenant, dans l'aperçu en haut, nous devrions voir que notre point personnalisé est situé à la fin de notre canon ![](/gdevelop5/tutorials/custom-point-preview.png) Nous pouvons maintenant fermer la fenêtre et appliquer les modifications que nous avons apportées. - -La seule chose qu'il reste à faire est de dire à GDevelop de tirer les balles depuis la pointe Canon de la tourelle. Donc dans notre action de création de balles, nous devons changer les expressions turret.X() et turret.Y(), en turret.PointX(Canon) et turret.PointY(Canon). Nous pouvons les modifier en cliquant sur les expressions dans l'éditeur. ![](/gdevelop5/tutorials/replace-expression-in-editor.png) N'oubliez pas le C majuscule de Canon car les noms des points sont sensibles à la casse. - -Si nous lançons l'aperçu maintenant, nos balles devraient être tirées depuis le canon de la tourelle mais vous remarquerez peut-être que la balle est parfois un peu décalée. Cela est dû au fait que le point d'origine de la balle se trouve dans le coin supérieur gauche. De la même façon que nous l'avons fait avec la pointe du canon de la tourelle, changez la position du point Origin de la balle pour qu'il soit au milieu. ![](/gdevelop5/tutorials/bullet_origin_point.png) - -### Création d'ennemis attaquant la tourelle - -D'abord, nous devons créer les objets utilisés pour les ennemis : ajoutez un objet à la liste d'objets ( Clic droit sur un objet existant \> Add an object. Choisissez un objet Sprite comme précédemment. ). Nommez le enemy. - -Editez l'objet (clic droit dans la liste et sélectionner Edit object from the list) puis ajouter une animation à l'objet et deux images : tank2fr1.png et tank2fr2.png. ![](/gdevelop5/tutorials/enemy-animation.png) Ensuite, modifiez le temps entre les images à 0,05 et changez l'animation en Loop pour répéter l'animation. ![](/gdevelop5/tutorials/enemy-animation-speed.png) - -Cliquez sur Apply lorsque vous avez terminé. - -### Stop ! Gagnez du temps ! - -Avant d'aller plus loin, pensez à sauvegarder fréquemment : cliquez sur File\>Save pour sauvegarder votre projet. ![](/gdevelop5/tutorials/save-project.png) - -## IA ennemie - -Revenons au jeu. Nous voulons que les ennemis se dirigent vers la tourelle : Allez dans l'éditeur d'événements et ajoutez un nouvel événement. Ce que nous voulons, c'est créer un ennemi à chaque seconde : ajoutons une condition Timers and time \> Value of a timer. Entrez 1 dans le premier paramètre et "EnemyCreation" pour le nom du timer. N'oubliez pas les guillemets lorsque vous entrez le nom du timer. - -Ajoutons ensuite l'action de créer un objet ennemi : Ajouter une action Common action for all objects \> Objects \> Create an object. Sélectionnez enemy dans le premier paramètre. Pour le deuxième paramètre, la position X du nouvel objet à créer, entrez l'expression Random(800) : ceci renverra un nombre aléatoire entre 0 et 800, de sorte que chaque ennemi que nous créerons aura une position différente lors de sa création. Pour la position Y, entrez -50. Cela créera l'ennemi en dehors de l'écran, de sorte que le joueur n'aura pas l'impression qu'un char ennemi vient d'apparaître de nulle part. - -Enfin, ajoutons l'action pour réinitialiser le minuteur ( Timers and time \> Reset a timer avec "EnemyCreation" comme parameter ). Encore une fois, n'oubliez pas les guillemets lorsque vous entrez le nom du timer. À ce stade, notre événement devrait ressembler à ceci : ![](/gdevelop5/tutorials/create-enemy-event.png) - -Si nous lançons un aperçu maintenant, nous ne remarquerons probablement rien car l'ennemi est créé en dehors de l'écran. Déplaçons les ennemis vers le joueur. Ajoutez un autre événement sans aucune condition et choisissez l'action Common action for all objects \> Movement \> Add a force to move towards an object. ![](/gdevelop5/tutorials/move-object-toward-other-event.png) Sur le côté droit, pour le premier paramètre, sélectionnez enemy, et sélectionnez turret pour le second paramètre. Entrez 150 pixels par seconde pour la vitesse, et l'amortissement (damping) est de 0, car la force sera appliquée en continu. ![](/gdevelop5/tutorials/move-object-toward-another-parameters.png) - -Maintenant, si nous lançons un aperçu, nous devrions voir que nos ennemis se déplacent vers la tourelle, mais vous remarquerez peut-être qu'ils ne se tournent pas réellement vers la tourelle, alors faisons quelque chose à ce sujet. Ajoutons une deuxième action après le mouvement, qui est Common action for all objects \> Angle \> Rotate toward position et pour le premier paramètre sur la droite, sélectionnons l'ennemi pendant que nous faisons tourner l'ennemi et pour les positions X et Y, nous allons utiliser une expression pour obtenir le point central de la tourelle et faire tourner les ennemis vers ce point et la vitesse angulaire est de 0, donc elle va tourner immédiatement. ![](/gdevelop5/tutorials/rotate-object-toward-position.png) À ce stade, notre événement ennemi devrait ressembler à ceci : ![](/gdevelop5/tutorials/create-rotate-move-enemies-event.png) - -Si nous lançons l'aperçu maintenant, nos ennemis devraient se déplacer et tourner vers la tourelle. ![](/gdevelop5/tutorials/turret-screenshot-enemies-moving.png) - -### Ajout d'explosions - -Il est temps de détruire les tanks. La première chose que nous voulons faire est de créer une explosion à la place des tanks lorsqu'ils entrent en collision avec la balle. Ajoutons donc un nouvel objet sprite, appelons-le explosion et ajoutons toutes les images à une animation commençant par Explosion_. ![](/gdevelop5/tutorials/select-all-explosion-images.png) - -Après avoir ajouté toutes les images à l'animation, réglez le temps entre les images à 0,01 seconde. ![](/gdevelop5/tutorials/explosion-animation-speed.png) - -Enregistrez-le en cliquant sur Apply. - -Ensuite, nous voulons créer l'explosion lorsque la balle est en collision avec l'ennemi. Ajoutons un nouvel événement vide et ajoutons la condition Common conditions for all objects \> Collision \> Collision ![](/gdevelop5/tutorials/collision-check-event.png) Et sur la droite pour le premier paramètre sélectionner la balle et le second paramètre sélectionner enemy ![](/gdevelop5/tutorials/collision-between-object-condition-parameters.png) - -Lorsque c'est fait, ajoutons une action pour créer l'objet d'explosion comme nous avons créé les balles et les ennemis auparavant, mais pour la position X et Y, utilisons l'expression enemy.X() et enemy.Y() qui va obtenir la position X et Y de l'objet ennemi qui est en collision avec la balle. ![](/gdevelop5/tutorials/create-explosion-event-parameters.png) - -Enfin, ajoutez l'action après avoir créé l'explosion Common actions for all objects \> Object \> Delete an object et dans la partie droite pour le paramètre sélectionner l'objet enemy puisque nous voulons supprimer l'ennemi. Ajoutez à nouveau la même action, pour supprimer également la balle juste après la suppression de l'ennemi. À ce stade, notre événement devrait ressembler à ceci ![](/gdevelop5/tutorials/enemy-moving-rotating-exploding.png) - -Si nous lançons un aperçu maintenant, nous devrions remarquer quelques problèmes. Nos objets explosifs ne sont pas créés exactement dans la position de l'ennemi et une fois qu'il a créé l'objet explosif, il reste dans la scène. Pour résoudre le second problème, il faut supprimer l'objet d'explosion une fois l'animation terminée. Ajoutez un nouvel événement vide et la condition Sprite \> Animations and Images \> Animation finished ![](/gdevelop5/tutorials/animation-finished-event.png) Pour le paramètre de droite, sélectionnez l'objet explosion car nous voulons faire quelque chose si l'animation de l'objet d'explosion est terminée. ![](/gdevelop5/tutorials/check-animation-finished-event-parameter.png) Et ce que nous voulons faire, c'est supprimer l'objet explosion, alors ajoutons ensuite l'action, supprimons l'objet explosion. - -Pour résoudre le premier problème, nous devons comprendre quelle est sa cause. Lorsque nous créons l'objet explosion en utilisant les expressions enemy.X() et enemy.Y(), nous créons les objets au point d'origine de l'objet ennemi, qui est le coin supérieur gauche de l'ennemi, et nous créons également les explosions à partir de leur point d'origine, qui est le coin supérieur gauche de l'objet explosion. - -Pour résoudre le problème, nous devons changer la position du point d'origine de l'explosion pour qu'il se trouve au milieu de l'objet. Pour modifier l'objet explosion, il suffit de cliquer avec le bouton droit de la souris sur l'objet de l'explosion et de sélectionner "Modifier l'objet" dans la liste. Dans la fenêtre suivante, sélectionnez EDIT POINTS. Ensuite, nous voulons changer la position X et Y du point d'origine à 120 qui est juste au milieu de l'image ![](/gdevelop5/tutorials/change-origin-point-position.png) - -Ensuite, ce que nous voulons faire, au lieu de créer l'objet explosion au point d'origine de l'ennemi, nous voulons créer l'objet au point central. Changeons donc l'expression dans l'action de création d'explosion de enemy.X() en enemy.PointX(Centre) et formons enemy.Y() en enemy.PointY(Centre) ![](/gdevelop5/tutorials/create-explosion-new-expression.png) - -Si nous lançons un aperçu maintenant, nos ennemis devraient exploser et cela devrait également paraître correct. ![](/gdevelop5/tutorials/turret-screenshot-enemies-are-exploding.png) - -### Ajout de nouvelles explosions et d'un Game Over - -Jusqu'à présent, le joueur ne pouvait pas mourir. Nous voulons que la tourelle du joueur soit détruite lorsqu'un char ennemi la frappe. D'abord, ajoutez un nouvel événement, et faites comme pour l'événement utilisé pour détruire les ennemis : ajoutez un test de condition pour une collision entre un char et la tourelle. Ensuite, créez une explosion à la position de la tourelle. Enfin, ajoutez une action pour détruire la tourelle : ![](/gdevelop5/tutorials/delete-turret-on-collision-event.png) - -Il serait également intéressant d'afficher un texte "Game Over" lorsque la tourelle est détruite : Ajouter un objet à la liste des objets. Cette fois, choisissez un objet Text et nommez-le GameOver. ![](/gdevelop5/tutorials/select-text-object-from-list.png) - -Modifiez l'objet en cliquant avec le bouton droit de la souris sur l'objet et sélectionnez Edit object dans la liste. Changeons le texte en Game Over, la couleur du texte en rouge et la taille du texte en 40. ![](/gdevelop5/tutorials/edit-text-object.png) Ensuite, nous pouvons définir une police personnalisée en entrant simplement le chemin de la police. Comme dans ce cas notre police se trouve dans le dossier du projet, il nous suffit d'entrer le nom du fichier de police : ![](/gdevelop5/tutorials/custom-text-font.png) - -Enfin, ajoutons l'objet texte à notre scène. - -Ce que nous voulons faire ensuite, c'est cacher l'objet texte et l'afficher s'il n'y a pas de tourelle dans la scène, ce qui signifie que la tourelle est détruite. Ajoutons un nouvel événement vide et ajoutons la condition Scene \> At the beginning of the scene ![](/gdevelop5/tutorials/at-the-binning-of-the-scene-condition.png) - -Cette condition n'a pas de paramètres car la seule chose qu'elle fait est d'exécuter l'action une seule fois au début de la scène. Ensuite, ajoutez l'action au même événement Common Actions for all objects \> Visibility \> Hide ![](/gdevelop5/tutorials/hide-object-event.png) Pour le paramètre, sélectionnez l'objet GameOver car nous voulons cacher cet objet ![](/gdevelop5/tutorials/hide-object-event-parameter.png) - -Maintenant, ce que nous voulons faire, c'est montrer l'objet texte s'il n'y a pas de tourelle dans la scène Ajouter un nouvel événement vide et ajouter la condition Common conditions for all objects \> Objects \> Objects count ![](/gdevelop5/tutorials/objects-count-condition.png) - -Pour le premier paramètre sur le côté droit, sélectionnez l'objet tourelle, pour le signe du test, sélectionnez le signe égal et pour la valeur du test, entrez 0 car nous voulons tester si le nombre de tourelles dans la scène est 0. ![](/gdevelop5/tutorials/object-count-condition-parameters.png) - -Et ce que nous voulons faire, c'est afficher le texte GameOver s'il n'y a pas de tourelle dans la scène, donc ajouter l'action Common action for all objects \> Visibility \> Show et pour paramètre nous voulons sélectionner l'objet GameOver. ![](/gdevelop5/tutorials/destroy-turret-event.png) - -Enfin, un effet intéressant est d'arrêter le jeu et d'afficher Game Over avec un peu de retard. Ajoutez une deuxième condition imers and time \> Value of a timer pour le paramètre de temps entrez 0.1 et pour le paramètre de nom entrez "GameOver". Ensuite, ajoutez une deuxième action : Timers and time \> Change time scale et entrer 0 comme paramètre pour arrêter le jeu et afficher le texte Game Over après 0,1 seconde. - -Voici à quoi devraient ressembler tous les événements à ce stade. ![](/gdevelop5/tutorials/all-events.png) Vous pouvez prévisualiser le jeu et vous devriez voir qu'une fois la tourelle détruite, avec un peu de retard, le texte Game Over s'affiche et le jeu est arrêté. ![](/gdevelop5/tutorials/gameover-screenshot.png) - -## Optimiser le jeu - -Lorsqu'une balle sort de l'écran, nous n'avons plus besoin de cette balle mais nous lui appliquons toujours un mouvement et nous vérifions la collision entre la balle et le char. Chaque ordinateur dispose de ressources limitées, telles que la mémoire et la puissance de traitement, et nous gaspillons ces précieuses ressources dont nous avons besoin pour faire face, sinon notre jeu peut ralentir, s'arrêter et devenir injouable lorsqu'il atteint la limite de l'appareil sur lequel nous jouons. Vous voulez que votre jeu soit jouable sur le plus grand nombre d'appareils possible, vous devez donc toujours optimiser votre jeu et une façon de le faire est de supprimer les objets qui ne sont plus nécessaires dans notre jeu et de limiter ainsi la quantité de mémoire et la puissance de traitement utilisée par le jeu. - -Nous pourrions ajouter un événement pour détruire les balles lorsqu'elles sont trop éloignées de la tourelle, c'est assez facile. Mais nous pouvons aussi utiliser un comportement. Un comportement dans GDevelop est l'ajout d'un certain comportement et d'une certaine fonctionnalité à un objet, dans ce cas nous allons ajouter le comportement "Détruire en dehors de l'écran" aux balles pour qu'elles soient détruites en dehors de l'écran. - -Faites un clic droit sur l'objet dans la liste d'objets et choisissez Modifier l'objet dans la liste. Dans la fenêtre suivante en haut, cliquez sur l'onglet Behaviours, cet onglet va afficher tous les comportements que nous avons ajoutés à notre objet. Il est maintenant vide. - -Cliquez sur le bouton " Add behavior " (ajouter un comportement) ![](/gdevelop5/add-behavior-button.png) - -Ensuite, sélectionnez dans la liste le comportement Destroy outside screen ![](/gdevelop5/behaviors/destroy-outside-screen-behavior-inlist.png) - -Ensuite, vous allez voir que le comportement est ajouté à la liste. Normalement, si le comportement a des paramètres, il est également affiché ici pour que vous puissiez le modifier, mais ce comportement n'a pas de paramètres car la seule chose qu'il fait est de détruire l'objet lorsqu'il est en dehors de l'écran. Cliquez sur Appliquer et nous avons terminé. - -Si vous lancez l'aperçu maintenant, vous ne remarquerez probablement aucune différence car le jeu est très simple et vous utilisez très probablement un appareil avec au moins 2 Go de RAM et un processeur double cœur. Il y a donc beaucoup de ressources pour notre jeu simple, mais au cas où nous créerions des centaines et des milliers de balles que vous êtes libre d'essayer, vous remarquerez peut-être un petit ralentissement au bout d'un moment sans les détruire. - -### Add a background - -One last thing to make the game good looking is to add a background. - -Add a Sprite object, name it background and add the background.jpg image to the object. Next, you can add the object to the scene as usual and make sure it fills the entire scene. To make it easier, you can enable the grid using the button on the top and it should help with positioning the object. ![](/gdevelop5/toggle-grid-button.png) But you may notice the background object cover all the other objects, to solve this problem we need to change the Z-order of the object. While the background object is selected, on the left you should notice the object properties. In case you have closed this tab, you can re-open it using the button on the top. ![](/gdevelop5/object-properties-button.png) We can change all kind of properties here such as the position, angle and size of the object but what we are interested in is the Z-order. ![](/gdevelop5/objects/object-zorder-properties.png) Change the value of the Z-order to a low number, in this case we need a negative number something like - 1. The reason for the negative value is that when we are creating the bullets, enemies and explosions we are creating them at Z-order 0 by default and so we need to position the background below 0 otherwise we won't see anything but the turret in our game. An other way to fix it is to tell GDevelop to position the tanks and explosions and bullets on a higher Z-order so we can position the background at 0 but it is something that you the developer need to decide for your self how you want to do it. Every problem can have number of different solutions. - -And we are done. The game is complete and ready to be shared. - -### Add comments - -So, our game is done and playable but what if you want to share the source with someone else? Let say you are working in a team and someone else would like to make modifications to the game. How that person know where to look for the events of enemies, bullets, the turret? Of course it may sound silly to you as most of the events in GDevelop are self explaining and our game is simple enough to see it through but imagine the situation you have a game made out of hundreds and thousands of events. This is where comments come in handy as we can leave reminders in our game for others and also for our self. Trust me, even though you are the one who made it, in a big complex game, even you won't remember where to find different things especially months later. So always use comments regardless how small or big your project is. - -To add comments, you can simply click the add comment button on the top. ![](/gdevelop5/add-comment-button.png) After you should see a yellow box in the events editor, by clicking in the box you can start writing a comment ![](/gdevelop5/tutorials/comment.png) - -You can change the position of each event and comment by moving the mouse over the blue edge on the left and drag it up and down. Once you done it, you should have something like this: ![](/gdevelop5/tutorials/all-events-with-comments.png) - -### Let's discover GDevelop by yourself - -You can browse the other [](/gdevelop5/tutorials) and read the [](/gdevelop5/getting_started) page. - -There is also lots of examples and templates bundled with GDevelop and you can find more by visiting: [gametemplates.itch.io](https://gametemplates.itch.io/gdevelop-examples) - -And you can also ask questions on the [official forum](http://forum.compilgames.net/) diff --git a/docs/fr/index.md b/docs/fr/index.md deleted file mode 100644 index d85879c1588..00000000000 --- a/docs/fr/index.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: start ---- - -![](/logocompleteeffecttranparent400x100.png) - -# Wiki de GDevelop - -GDevelop est un logiciel de création de jeux open source, multiplateforme conçu pour être utilisé par tout le monde. Aucune programmation n'est requise, tout le processus de création se faisant à l'aide de l'éditeur. -Si vous n'avez pas encore installé GDevelop, téléchargez le depuis [le site officiel](http://www.compilgames.net/gd.php). - -Si vous avez besoin d'aide pour débuter, consultez la [page de mise en route](/fr/gdevelop/documentation/manual/edit_getstart). - -## Aide en ligne - -L'aide est disponible intégralement en ligne sur [cette page](/fr/gdevelop/documentation). - -## Tutoriels - -Accédez aux [tutoriels](/fr/gdevelop/tutorials) et [articles](/fr/gdevelop/articles) pour GDevelop. diff --git a/docs/gb.png b/docs/gb.png deleted file mode 100644 index db084b410d5..00000000000 Binary files a/docs/gb.png and /dev/null differ diff --git a/docs/gdevelop5/about_translations.md b/docs/gdevelop5/about_translations.md index ae48dde14f2..62467eb76cf 100644 --- a/docs/gdevelop5/about_translations.md +++ b/docs/gdevelop5/about_translations.md @@ -1,8 +1,10 @@ --- title: About translations --- + # About translations -Translations are written by volunteers. If you're a native speaker or fluent in another language, you are welcome to create an account on Github then submit a Pull Request on this repository to edit or create the pages related to your language. You will find out the [other languages in this folder](https://github.com/GDevelopApp/GDevelop-documentation/tree/main/docs). +Translations are hard to keep up to date with constant changes in the documentation. So they are not committed to the repository. +Instead, we rely on Google Translate to provide up to date translations for the documentation. -In case of doubts or questions, [open an issue here](https://github.com/GDevelopApp/GDevelop-documentation/issues), a staff member will get back to you. \ No newline at end of file +In case of doubts or questions, [open an issue here](https://github.com/GDevelopApp/GDevelop-documentation/issues), a staff member will get back to you. diff --git a/docs/gdevelop5/behaviors/.pages b/docs/gdevelop5/behaviors/.pages index 1fa4bc2cda5..3c21498d8a3 100644 --- a/docs/gdevelop5/behaviors/.pages +++ b/docs/gdevelop5/behaviors/.pages @@ -1,13 +1,12 @@ nav: - - Anchor Behavior: anchor - - Bounce Behavior: bounce - - Destroy outside screen behavior: destroyoutside - - Draggable Object Behavior: draggable - - pathfinding - - 2D Physics Engine: physics2 - - 3D Physics Engine: physics3d - - Platform and platformer character behaviors: platformer - - Top-Down Movement behavior: topdown - - Tween behavior: tween - - ... - - Custom behaviors: events-based-behaviors \ No newline at end of file + - Anchor Behavior: anchor + - Destroy outside screen behavior: destroyoutside + - Draggable Object Behavior: draggable + - pathfinding + - 2D Physics Engine: physics2 + - 3D Physics Engine: physics3d + - Platform and platformer character behaviors: platformer + - Top-Down Movement behavior: topdown + - Tween behavior: tween + - ... + - Custom behaviors: events-based-behaviors diff --git a/docs/gdevelop5/extensions/.pages b/docs/gdevelop5/extensions/.pages index 91f2c07aff0..ace81701814 100644 --- a/docs/gdevelop5/extensions/.pages +++ b/docs/gdevelop5/extensions/.pages @@ -1,252 +1,252 @@ nav: - - index.md - - search.md - - tiers.md - - Create your own extensions: - - Create a new extension : create.md - - best-practices.md - - share-extension.md - - Ads: - - Mobile In-App Purchase (experimental): in-app-purchase - - Playgama Bridge: playgama-bridge - - Poki Games SDK: poki-games-sdkhtml - - Advanced: - - Base conversion: base-conversion - - Color Conversion: color-conversion - - Compressor: compressor - - Pathfinding painter: draw-pathfinding - - Extended math support: extended-math - - Frames per second (FPS): fps - - Hash: hash - - Object picking tools: object-picking-tools - - Read pixels: read-pixels - - Record: record - - Regular Expressions: reg-ex - - Sprite Snapshot: render-to-sprite - - Sprite Sheet Animations: sprite-sheet - - Unique Identifiers: uuid - - Unicode: unicode-conversion - - Audio: - - Text-to-Speech: text-to-speech - - Camera: - - Camera impulse: camera-impulse - - Camera shake: camera-shake - - Camera Zoom: camera-zoom - - Copy camera settings: copy-camera-settings - - Drag camera with the mouse (or touchscreen): drag-camera-with-pointer - - Edge scroll camera: edge-scroll-camera - - First person 3D camera: first-person-camera - - Follow multiple objects with camera: follow-objects-with-camera - - Parallax for Tiled Sprite: parallax - - Room-based camera movement: room-based-camera-movement - - Smooth Camera: smooth-camera - - Third person camera: third-person-camera - - Game mechanic: - - Checkpoints: checkpoints - - Dungeon generator: dungeon-generator - - Fire bullets: fire-bullet - - Health points and damage: health - - Hexagonal grid: hexagonal-grid - - Idle object tracker: idle-tracker - - Simple inventories: inventories - - Object "Is On Screen" Detection: is-on-screen - - Linked Objects Tools: link-tools - - Noise generator: noise - - Object spawner area: object-spawner - - Object Stack: object-stack - - RTS-like unit selection: rtsunit-selection - - Rectangular flood fill: rectangular-flood-fill - - Rectangular grid: snap-to-grid - - Values of multiple objects: values-of-multiple-objects - - General: - - Array tools: array-tools - - Extended variables support: extended-variables - - Repeat every X seconds: repeat-every-xseconds - - Input: - - Back button: back-button - - Platformer and top-down remapper: behavior-remapper - - Cursor movement conditions: cursor-movement - - Double-click and tap: double-click - - Gamepads (controllers): gamepads - - Konami Code: konami-code - - Cursor object: mouse-helper - - Mouse Pointer Lock: mouse-pointer-lock - - 3D character keyboard mapper: physics-character3dkey-mapper - - Pinching gesture: pinch-gesture - - Multitouch joystick and buttons (sprite): sprite-multitouch-joystick - - Swipe Gesture: swipe-gesture - - Two choices dialog boxes: two-choices-dialog-boxes - - Movement: - - Advanced platformer movements: advanced-jump - - Advanced movements for 3D physics characters: advanced-jump3d - - Advanced projectile: advanced-projectile - - Animated Back and Forth Movement: animated-back-and-forth-movement - - Boids movement: boids-movement - - Boomerang: boomerang - - Bounce (using forces): bounce - - Curved movement: curved-movement - - Draggable (for physics objects): draggable-physics - - Ellipse movement: ellipse-movement - - Explosion force: explosion-force - - Face Forward: face-forward - - Homing projectile: homing-projectile - - Linear Movement: linear-movement - - Make objects orbit around a center object: orbiting-objects - - Physics car: physics-car - - 3D physics character animator: physics-character3danimator - - 3D ellipse movement: physics-ellipse-movement3d - - Pixel perfect movement: pixel-perfect-movement - - Platformer character animator: platformer-character-animator - - Platformer trajectory: platformer-trajectory - - Rectangular movement: rectangle-movement - - Screen wrap: screen-wrap - - Speed restrictions: speed-restrictions - - Stay On Screen: stay-on-screen - - Stick objects to others: sticker - - Timed Back and Forth Movement: timed-back-and-forth-movement - - Make object travel to random positions: travel-to-random-positions - - Turret movement: turret - - Network: - - Advanced HTTP: advanced-http - - Advanced p2p event handling: advanced-p2pevent-handling - - Platforms Validation: authorized-platforms-validation - - Internet Connectivity : internet-connectivity - - MQTT Client (advanced): mqtt - - Webpage URL tools (Web browser): urltools - - WebSocket client: web-socket-client - - Third-party: - - CrazyGames SDK v3: crazy-games-ad-api - - Discord rich presence (Windows, Mac, Linux): discord-rich-presence - - User interface: - - Auto typing animation for text ("typewriter" effect): auto-typing - - Button states and effects: button-states - - Cancellable draggable object: cancellable-draggable - - Checkbox (for Shape Painter): checkbox - - Clipboard: clipboard - - Cursor type: cursor-type - - Draggable slider (for Shape Painter): draggable-slider-control - - Emojis: emojis - - Iframe: iframe - - Input Validation: input-validation - - Language: language - - Panel sprite button: panel-sprite-button - - Resource bar (continuous): panel-sprite-continuous-bar - - Slider: panel-sprite-slider - - Player avatar: player-avatar - - Pop-up: pop-up - - Animated Score Counter: score-counter - - Share dialog and sharing options: share - - Toggle switch: sprite-toggle-switch - - Star Rating Bar: star-rating-bar - - Resource bar (separated units): tiled-units-bar - - Time formatting: time-formatter - - Toggle switch (for Shape Painter): toggle-switch - - Visual effect: - - 3D Billboard: billboard - - Depth effect: depth-effect - - Flash object: flash - - Flash layer: flash-layer - - Flash and transition painter: flash-transition-painter - - Marching Squares (experimental): marching-squares - - Slice an object into pieces: object-slicer - - 3D particle emitter: particle-emitter3d - - Object recolorizer (experimental): recolorizer - - Rolling counter: rolling-counter - - Animate Shadow Clones: shadow-clones - - Shake object: shake-object - - 3D object shake: shake-object3d - - Shock wave effect: shock-wave-effect - - Object Masking: sprite-masking - - Sway: sway - - 3D Flip: three-dflip - - YSort: ysort - - Community extensions: - - Advanced: - - Crypto Api: crypto-api - - Game properties data: get-properties-data - - Random Color Generator: random-color - - Rotate a string 13 characters: rotate13 - - Audio: - - Sounds and music by filename: audio-by-name - - Audio Context: audio-context - - Sound volume based on distance: sound-volume-based-on-distance - - Camera: - - 3D camera shake: camera-shake3d - - Device: - - GPS: geolocation - - Voice Recognition API: voice-recognition - - Game mechanic: - - Extra inventory functions: extra-inventory - - Ink Dialog Tree: ink-js - - Secret Code: secret-code - - Slot system: slot-system - - General: - - With Three JS: with-three-js - - Choose a random value (deprecated): choose - - 3D collision: collision3d - - Countdown Timer: countdown-timer - - JSON Resource Loading: jsonresource-loader - - Load images from a URL: load-image-from-url - - Maze Generator: maze-generator - - 3D model 9-patch: model9patch3d - - 3D raycast: raycaster3d - - Variables/References: references - - 3D sprite: sprite3d - - TimeDetector: time-detector - - Input: - - CheatCode: cheat-code - - Double key press: double-key-press - - Multitouch joystick and buttons (deprecated): multitouch-joystick - - Screen Orientation Checker: screen-orientation-checker - - Selection tools: selection-tools - - Movement: - - Flip Gravity: flip-gravity - - 3D grid jump: grid-jump3d - - HasLanded: has-landed - - Hedgehog platformer: hedgehog-platformer - - Joint connector: joint-connector - - 3D jump (deprecated): jump3d - - Magnetic Effect: magnetic-effect - - Navigation mesh pathfinding (experimental): nav-mesh-pathfinding - - Platform ledge grabber: platform-ledge-grabber - - Point and Orbit: point-and-orbit - - Pushable/Pullable Box: pushable-and-pullable-box - - Record Movements: record-movements - - Rectangular Movement (deprecated): rectangular-movement - - Sine (or ellipsis) Movement (deprecated): sine-movement - - Top-down corner sliding: top-down-corner-sliding - - Top-down movement animator: top-down-movement-animator - - Trampoline Platform: trampoline-platform - - Top-down walk: walk3d - - Network: - - Update checker: update-checker - - Upload Download Text File: upload-download-text-file - - Text: - - 3D text: text3d - - Third-party: - - GamePix SDK: game-pix-sdk - - Gamejolt: gamejolt-api - - Newgrounds API: newgrounds-api - - OllamaAI: ollama-ai - - Wortal SDK: wortal-sdk - - Yandex Games SDK for GDevelop: ygame-sdk - - User interface: - - Align object on the screen: align-object - - ChatBubble: chat-bubble - - Clock: clock - - Dialog Box: dialog-box - - Flexbox: flex-box - - Pause when losing focus: pause-focus-lost - - Star Rating: star-rating - - Console (commands handler for Text Entry objects): text-entry-console - - Mobile virtual keyboard for Text Entry: text-entry-virtual-keyboard - - Visual effect: - - Animation system: animation-system - - Character game feel: character-game-feel - - Dynamic Water: dynamic-water - - Make it rain: make-it-rain - - Reflection: reflection - - 3D Sky and sun: sky3d - - Sprite-based lighting: sprite-based-lighting - - Advanced 3D tween: tween3d - - ... + - index.md + - search.md + - tiers.md + - Create your own extensions: + - Create a new extension: create.md + - best-practices.md + - share-extension.md + - Ads: + - Mobile In-App Purchase (experimental): in-app-purchase + - Playgama Bridge: playgama-bridge + - Poki Games SDK: poki-games-sdkhtml + - Advanced: + - Base conversion: base-conversion + - Color Conversion: color-conversion + - Compressor: compressor + - Pathfinding painter: draw-pathfinding + - Extended math support: extended-math + - Frames per second (FPS): fps + - Hash: hash + - Object picking tools: object-picking-tools + - Read pixels: read-pixels + - Record: record + - Regular Expressions: reg-ex + - Sprite Snapshot: render-to-sprite + - Sprite Sheet Animations: sprite-sheet + - Unique Identifiers: uuid + - Unicode: unicode-conversion + - Audio: + - Text-to-Speech: text-to-speech + - Camera: + - Camera impulse: camera-impulse + - Camera shake: camera-shake + - Camera Zoom: camera-zoom + - Copy camera settings: copy-camera-settings + - Drag camera with the mouse (or touchscreen): drag-camera-with-pointer + - Edge scroll camera: edge-scroll-camera + - First person 3D camera: first-person-camera + - Follow multiple objects with camera: follow-objects-with-camera + - Parallax for Tiled Sprite: parallax + - Room-based camera movement: room-based-camera-movement + - Smooth Camera: smooth-camera + - Third person camera: third-person-camera + - Game mechanic: + - Checkpoints: checkpoints + - Dungeon generator: dungeon-generator + - Fire bullets: fire-bullet + - Health points and damage: health + - Hexagonal grid: hexagonal-grid + - Idle object tracker: idle-tracker + - Simple inventories: inventories + - Object "Is On Screen" Detection: is-on-screen + - Linked Objects Tools: link-tools + - Noise generator: noise + - Object spawner area: object-spawner + - Object Stack: object-stack + - RTS-like unit selection: rtsunit-selection + - Rectangular flood fill: rectangular-flood-fill + - Rectangular grid: snap-to-grid + - Values of multiple objects: values-of-multiple-objects + - General: + - Array tools: array-tools + - Extended variables support: extended-variables + - Repeat every X seconds: repeat-every-xseconds + - Input: + - Back button: back-button + - Platformer and top-down remapper: behavior-remapper + - Cursor movement conditions: cursor-movement + - Double-click and tap: double-click + - Gamepads (controllers): gamepads + - Konami Code: konami-code + - Cursor object: mouse-helper + - Mouse Pointer Lock: mouse-pointer-lock + - 3D character keyboard mapper: physics-character3dkey-mapper + - Pinching gesture: pinch-gesture + - Multitouch joystick and buttons (sprite): sprite-multitouch-joystick + - Swipe Gesture: swipe-gesture + - Two choices dialog boxes: two-choices-dialog-boxes + - Movement: + - Advanced platformer movements: advanced-jump + - Advanced movements for 3D physics characters: advanced-jump3d + - Advanced projectile: advanced-projectile + - Animated Back and Forth Movement: animated-back-and-forth-movement + - Boids movement: boids-movement + - Boomerang: boomerang + - Bounce (using forces): bounce + - Curved movement: curved-movement + - Draggable (for physics objects): draggable-physics + - Ellipse movement: ellipse-movement + - Explosion force: explosion-force + - Face Forward: face-forward + - Homing projectile: homing-projectile + - Linear Movement: linear-movement + - Make objects orbit around a center object: orbiting-objects + - Physics car: physics-car + - 3D physics character animator: physics-character3danimator + - 3D ellipse movement: physics-ellipse-movement3d + - Pixel perfect movement: pixel-perfect-movement + - Platformer character animator: platformer-character-animator + - Platformer trajectory: platformer-trajectory + - Rectangular movement: rectangle-movement + - Screen wrap: screen-wrap + - Speed restrictions: speed-restrictions + - Stay On Screen: stay-on-screen + - Stick objects to others: sticker + - Timed Back and Forth Movement: timed-back-and-forth-movement + - Make object travel to random positions: travel-to-random-positions + - Turret movement: turret + - Network: + - Advanced HTTP: advanced-http + - Advanced p2p event handling: advanced-p2pevent-handling + - Platforms Validation: authorized-platforms-validation + - Internet Connectivity: internet-connectivity + - MQTT Client (advanced): mqtt + - Webpage URL tools (Web browser): urltools + - WebSocket client: web-socket-client + - Third-party: + - CrazyGames SDK v3: crazy-games-ad-api + - Discord rich presence (Windows, Mac, Linux): discord-rich-presence + - User interface: + - Auto typing animation for text ("typewriter" effect): auto-typing + - Button states and effects: button-states + - Cancellable draggable object: cancellable-draggable + - Checkbox (for Shape Painter): checkbox + - Clipboard: clipboard + - Cursor type: cursor-type + - Draggable slider (for Shape Painter): draggable-slider-control + - Emojis: emojis + - Iframe: iframe + - Input Validation: input-validation + - Language: language + - Panel sprite button: panel-sprite-button + - Resource bar (continuous): panel-sprite-continuous-bar + - Slider: panel-sprite-slider + - Player avatar: player-avatar + - Pop-up: pop-up + - Animated Score Counter: score-counter + - Share dialog and sharing options: share + - Toggle switch: sprite-toggle-switch + - Star Rating Bar: star-rating-bar + - Resource bar (separated units): tiled-units-bar + - Time formatting: time-formatter + - Toggle switch (for Shape Painter): toggle-switch + - Visual effect: + - 3D Billboard: billboard + - Depth effect: depth-effect + - Flash object: flash + - Flash layer: flash-layer + - Flash and transition painter: flash-transition-painter + - Marching Squares (experimental): marching-squares + - Slice an object into pieces: object-slicer + - 3D particle emitter: particle-emitter3d + - Object recolorizer (experimental): recolorizer + - Rolling counter: rolling-counter + - Animate Shadow Clones: shadow-clones + - Shake object: shake-object + - 3D object shake: shake-object3d + - Shock wave effect: shock-wave-effect + - Object Masking: sprite-masking + - Sway: sway + - 3D Flip: three-dflip + - YSort: ysort + - Community extensions: + - Advanced: + - Crypto Api: crypto-api + - Game properties data: get-properties-data + - Random Color Generator: random-color + - Rotate a string 13 characters: rotate13 + - Audio: + - Sounds and music by filename: audio-by-name + - Audio Context: audio-context + - Sound volume based on distance: sound-volume-based-on-distance + - Camera: + - 3D camera shake: camera-shake3d + - Device: + - GPS: geolocation + - Voice Recognition API: voice-recognition + - Game mechanic: + - Extra inventory functions: extra-inventory + - Ink Dialog Tree: ink-js + - Secret Code: secret-code + - Slot system: slot-system + - General: + - With Three JS: with-three-js + - Choose a random value (deprecated): choose + - 3D collision: collision3d + - Countdown Timer: countdown-timer + - JSON Resource Loading: jsonresource-loader + - Load images from a URL: load-image-from-url + - Maze Generator: maze-generator + - 3D model 9-patch: model9patch3d + - 3D raycast: raycaster3d + - Variables/References: references + - 3D sprite: sprite3d + - TimeDetector: time-detector + - Input: + - CheatCode: cheat-code + - Double key press: double-key-press + - Multitouch joystick and buttons (deprecated): multitouch-joystick + - Screen Orientation Checker: screen-orientation-checker + - Selection tools: selection-tools + - Movement: + - Flip Gravity: flip-gravity + - 3D grid jump: grid-jump3d + - HasLanded: has-landed + - Hedgehog platformer: hedgehog-platformer + - Joint connector: joint-connector + - 3D jump (deprecated): jump3d + - Magnetic Effect: magnetic-effect + - Navigation mesh pathfinding (experimental): nav-mesh-pathfinding + - Platform ledge grabber: platform-ledge-grabber + - Point and Orbit: point-and-orbit + - Pushable/Pullable Box: pushable-and-pullable-box + - Record Movements: record-movements + - Rectangular Movement (deprecated): rectangular-movement + - Sine (or ellipsis) Movement (deprecated): sine-movement + - Top-down corner sliding: top-down-corner-sliding + - Top-down movement animator: top-down-movement-animator + - Trampoline Platform: trampoline-platform + - Top-down walk: walk3d + - Network: + - Update checker: update-checker + - Upload Download Text File: upload-download-text-file + - Text: + - 3D text: text3d + - Third-party: + - GamePix SDK: game-pix-sdk + - Gamejolt: gamejolt-api + - Newgrounds API: newgrounds-api + - OllamaAI: ollama-ai + - Wortal SDK: wortal-sdk + - Yandex Games SDK for GDevelop: ygame-sdk + - User interface: + - Align object on the screen: align-object + - ChatBubble: chat-bubble + - Clock: clock + - Dialog Box: dialog-box + - Flexbox: flex-box + - Pause when losing focus: pause-focus-lost + - Star Rating: star-rating + - Console (commands handler for Text Entry objects): text-entry-console + - Mobile virtual keyboard for Text Entry: text-entry-virtual-keyboard + - Visual effect: + - Animation system: animation-system + - Character game feel: character-game-feel + - Dynamic Water: dynamic-water + - Make it rain: make-it-rain + - Reflection: reflection + - 3D Sky and sun: sky3d + - Sprite-based lighting: sprite-based-lighting + - Advanced 3D tween: tween3d + - ... diff --git a/docs/gdevelop5/publishing/publishing-to-itch-io.md b/docs/gdevelop5/publishing/publishing-to-itch-io.md index 3412b68b77a..40149df81ba 100644 --- a/docs/gdevelop5/publishing/publishing-to-itch-io.md +++ b/docs/gdevelop5/publishing/publishing-to-itch-io.md @@ -8,7 +8,7 @@ title: Publish to Itch.io Creators have access to detailed analytics and about how people discover, download, or play what they've created. ------------------------------------------------------------------------- +--- ## Why itch.io? @@ -22,7 +22,7 @@ Creators have access to detailed analytics and about how people discover, downlo - You can share downloadable games for Windows, Linux, Mac, Android and also HTML5 games played in the browser. - You can**make money**without starting your own business and pay taxes. itch.io can collect the money, deal with refund requests and pay the required taxes on your behalf and you can request a payout any time. - In case you do want to start your own business, itch.io can take care of the transaction for you and transfer each purchase directly to you, but then you need to take care of Refunds and Taxes -- You can **set a fixed price** for your content, **share it freely** or accept a donation. You can also set an unique option where payment is necessary but the amount is decided by the user himself. +- You can **set a fixed price** for your pcontent, **share it freely** or accept a donation. You can also set an unique option where payment is necessary but the amount is decided by the user himself. - Revenue share is also flexible which makes itch.io the most unique, you can decide how much revenue share you want to pay to itch.io and yes you can set this value to 0 if you want and pay nothing yet itch.io still happy to host your content for free and hope if you are successful you are going to consider to pay something to them. - **No annoying Ads** on Browser games - You can now also connect itch.io with Patreon and offer access to content to those who support you through Patreon. diff --git a/docs/hi/gdevelop5/community/season-of-docs.md b/docs/hi/gdevelop5/community/season-of-docs.md deleted file mode 100644 index 60d89725f9e..00000000000 --- a/docs/hi/gdevelop5/community/season-of-docs.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: GDevelop Season of Docs ---- -# GDevelop Season of Docs - -![](/gdevelop5/community/seasonofdocs_logo_secondarygrey_72ppi.png) - -डॉक्स का सीज़न खुले स्रोत और तकनीकी लेखक समुदायों को एक साथ लाने की एक पहल है। - -GDevelop एक ओपन-सोर्स **गेम डेवलपमेंट** सॉफ्टवेयर है, जिससे कोई भी गेम बना सकता है। GDevelop को अद्वितीय और उपयोग करने में आसान बनाता है [events](https://gdevelop.io/). Events एक प्रोग्रामिंग भाषा सीखने के बिना, आपके खेल के तर्क को व्यक्त करने का एक शक्तिशाली तरीका है। कोशिश करना चाहेंगे? [ऑनलाइन संस्करण का प्रयास करें](https: //editor.gdevelop.io) या [पूर्ण सॉफ्टवेयर डाउनलोड करें](https://gdevelop.io/download/)! - -इस साल, हम GDevelop प्रलेखन में सुधार करने के लिए एक **तकनीकी लेखक** का उल्लेख करना पसंद करेंगे! हमारे पास कुछ विचार हैं जो वास्तव में हमारे उपयोगकर्ताओं की मदद कर सकते हैं। - -प्रत्येक माह हजारों उपयोगकर्ता GDevelop के साथ गेम बना रहे हैं। कई उपयोगकर्ता पहली बार गेम निर्माण की खोज कर रहे हैं। अन्य लोग इंजन के साथ [प्रभावशाली खेल](https://gdevelop.io/games-showcase/) बनाने के अधिक अनुभवी उपयोगकर्ता हैं। - -## विचार - -!!! tip - - वे विचार संपूर्ण *नहीं* हैं। अपने स्वयं के विचार का सुझाव देने के लिए स्वतंत्र महसूस करें! या विचारों को अपने में मिला लें। - -**एक नया ट्यूटोरियल 🚀** - - * गेम बनाने के तरीके के बारे में बताते हुए एक नया चरण-दर-चरण ट्यूटोरियल लिखें। विकी पर हमारे पास पहले से ही दो पूर्ण ट्यूटोरियल हैं, लेकिन वे काफी बुनियादी हैं। - * एक उदाहरण के रूप में [मौजूदा ट्यूटोरियल](http://wiki.compilgames.net/doku.php/gdevelop5/tutorials/platform-game/start) देखें। - * खेल का विषय कुछ भी हो सकता है जो दिलचस्प लगता है: अंतरिक्ष शूटर, अंतहीन चल रहे खेल, महल्वेनिया-जैसे, बीट'एम अप ... आदि। मेंटर्स आपको सॉफ्टवेयर और गेम बनाने के साथ शुरू करने में मदद करेंगे। - -> यह एक महत्वपूर्ण छोटे खेल को खोजने के लिए महत्वपूर्ण होगा ताकि एक ट्यूटोरियल इसे शुरू से अंत तक कवर कर सके - लेकिन इसके लिए अच्छा दिखने और दिलचस्प होने की आवश्यकता है! (*Itch.io* या *opengameart.org* जैसी वेबसाइटों पर एसेट पैक हैं जिनका हम उपयोग कर सकते हैं।) - -**विकी पृष्ठों में सुधार 📚** - - * मौजूदा दस्तावेज़ीकरण में यह जाँच कर सुधार करें कि प्रत्येक वस्तु, घटना, व्यवहार को प्रलेखन द्वारा कवर किया गया है और प्रत्येक पृष्ठ को नए उदाहरणों, लिंक और स्पष्टीकरण के साथ बेहतर बनाता है। - * [ऑब्जेक्ट](http://wiki.compilgames.net/doku.php/gdevelop5/objects), [व्यवहार](http://wiki.compilgames.net/doku.php/gdevelop5/behaviors), [ईवेंट](http://wiki.compilgames.net/doku.php/gdevelop5/events) और [अन्य सभी फ़ीचर](http://wiki.compilgames.net/doku.php/gdevelop5/all-features) पेज देखें। - * ये पृष्ठ बहुत उपयोगी होंगे क्योंकि सॉफ्टवेयर में सभी सुविधाओं के लिए संपादक के अंदर "सहायता" लिंक हैं। उपयोगकर्ता हेल्प पर क्लिक करके किसी भी फीचर के बारे में अधिक जान सकेंगे। - -**बेहतर विस्तार डेवलपर गाइड ** - - * एक्सटेंशन GDevelop का एक महत्वपूर्ण हिस्सा हैं। वे सबसे अधिक सुविधाएँ प्रदान करते हैं जो उपयोगकर्ता अपने गेम में उपयोग करते हैं। सॉफ़्टवेयर के लिए एक नया एक्सटेंशन बनाने के तरीके को समझाने के लिए [GitHub](https://github.com/4ian/GDevelop/blob/master/new/README-extensions.md) पर प्रलेखन सुधारें। - * इसे भी देखें [विकी पेज](http://wiki.compilgames.net/doku.php/gdevelop5/extending-gdevelop)। यह नए लोगों को खेल इंजन में योगदान करने के लिए प्रोत्साहित करने में मदद करेगा। - -**विभिन्न प्लेटफार्मों पर खेल प्रकाशित करने के लिए प्रलेखन और ट्यूटोरियल 🌍** - - * मार्केटप्लेस, गेमिंग वेबसाइट और ऐप स्टोर पर गेम प्रकाशित करने के बारे में अधिक प्रलेखन बनाएं। यह एक बहुत ही महत्वपूर्ण विषय है। उपयोगकर्ता गेम बनाना पसंद करते हैं, लेकिन अगर यह प्रकाशित नहीं हुआ है तो एक गेम समाप्त नहीं हुआ है! - * पहले से ही कुछ [प्रलेखन विकी पर](http://wiki.compilgames.net/doku.php/gdevelop5/publishing) है, लेकिन अधिक कदम-दर-चरण ट्यूटोरियल और बाज़ार के बारे में विस्तृत विवरण (Kongregate, Itch.io , फेसबुक इंस्टेंट गेम्स ...) या ऐप स्टोर बहुत उपयोगी होंगे! - - -> ये लेख / प्रलेखन यहां तक कि GDevelop ऐप में ही कसकर एकीकृत किए जा सकते हैं। GDevelop में Mentors अपडेट कर सकेंगे। - - -## GDevelop के ओपन-सोर्स प्रोजेक्ट, संगठन और आकाओं के बारे में - -GDevelop कोष [GitHub](https://github.com/4ian/GDevelop) पर उपलब्ध है। आप सॉफ़्टवेयर के बारे में अधिक जानने और इसे डाउनलोड करने के लिए [वेबसाइट](https://gdevelop.io/) भी ब्राउज़ कर सकते हैं। - -📣 डॉक्स के सीज़न में भाग लेने की घोषणा [Twitter](https://twitter.com/GDevelopApp/status/1120410655675359234) और [Facebook](https://www.facebook.com/GDevelopApp/pps/10157106427160768) पर की गई थी। - -👋 Mentors होंगे [4ian](https://github.com/4ian) और [Blurymind](https://github.com/blurymind)। 4ian GDevelop का मूल लेखक है और Blurymind सॉफ्टवेयर में एक सक्रिय योगदानकर्ता है। [Forum](https://forum.gdevelop.io) या [the Discord](https://discord.gg/rjdYHvj) पर आपको समुदाय के अन्य सदस्यों से भी समर्थन मिलेगा! - -##मेरी दिलचस्पी है! हम कैसे शुरू करें? - -यदि आपके कोई प्रश्न हैं, तो बेझिझक 4ian पर पहुँचें (मेरे [GitHub](https://github.com/4ian) पेज पर ईमेल देखें, मुझे मंच पर डीएम भेजें या मुझे एक ट्वीट भेजें)। - -Google के डॉक्स सीजन पर [Technical Writer](https://developers.google.com/season-of-docs/docs/tech-writer-guide) के लिए पेज पढ़ें। अन्वेषण चरण के बाद, 28 मई को परिष्करण, आधिकारिक आवेदन जमा किए जा सकते हैं। - -GDevelop की मदद करने पर विचार करने के लिए धन्यवाद!❤️ - -## अक्सर पूछे जाने वाले प्रश्न - -**क्या मेरे लिए डॉक्स के Google सीजन में GDevelop में योगदान करना संभव है, यह देखते हुए कि मुझे कोडिंग या तकनीकी लेखन में कोई पूर्व अनुभव नहीं है, लेकिन अतीत में GDevelop का उपयोग किया है?** - -हाँ! आप आधिकारिक तौर पर परियोजना शुरू होने से पहले इसका इस्तेमाल करते हुए GDevelop से परिचित होंगे। अगस्त में इसके लिए विशेष रूप से एक अवधि है जिसे "सामुदायिक संबंध" कहा जाता है। - -**मुझे किसी परियोजना के लिए योगदान करने में अपनी रुचि कैसे व्यक्त करनी चाहिए और इसे किसके प्रति व्यक्त करना चाहिए?** - -एक आधिकारिक आवेदन जमा करें! यहां लिंक खोजें: https://developers.google.com/season-of-docs/docs/tech-writer-guide - -**प्रस्ताव में क्या होना चाहिए? प्रस्ताव का प्रारूप क्या है?** - -यहां पढ़ें गाइड: https://developers.google.com/season-of-docs/docs/tech-writer-application-ts - -* अपने अनुभव के बारे में थोड़ी जानकारी और आप कौन हैं। हमें बताएं कि क्या आपके पास **GDevelop** (मौजूदा ट्यूटोरियल, गेम, आदि ...) या ** गेम डेवलपमेंट ** के साथ सामान्य रूप से अनुभव है? -* आप क्या करना चाहते हैं, यह क्यों दिलचस्प है, आप क्या शामिल करेंगे, आदि का विवरण ... -* जीएसओडी के लिए GDevelop परियोजना निश्चित रूप से -* मानक-लंबाई -* होगी। -* कोई विशेष प्रारूप नहीं - आप तकनीकी लेखक हैं, इसलिए आपके लिए यह तय करना है कि सबसे अच्छा क्या है :) - -**क्या मुझे दी गई सहायता से परियोजना के बजाय प्रलेखन की दिशा में योगदान होगा?** - -बिल्कुल, प्रलेखन GDevelop के लिए महत्वपूर्ण है, इसलिए सॉफ्टवेयर के लेखक / अनुचर आपको समर्थन करने में सक्षम होंगे और मदद करने के लिए तकनीकी लेखक के साथ नियमित रूप से संवाद करेंगे। - -**कितने तकनीकी लेखक भाग ले पाएंगे?** - -दुर्भाग्य से, केवल 1. ध्यान दें कि ट्यूटोरियल में भाग लेना और प्रलेखन पहले से ही संभव है! यदि आप विकी पर एक खाता बनाते हैं, तो आप उन्हें सुधारने या ट्यूटोरियल के लिए नए पृष्ठ बनाने के लिए मौजूदा पृष्ठों को संपादित कर सकते हैं। - -**GDevelop को क्या चाहिए?** - -लोगों के लिए विभिन्न खेल बनाने के लिए अधिक प्रलेखन और ट्यूटोरियल, मुख्य रूप से :) विचारों की सूची देखें। सबसे अच्छी बात यह है कि लोग क्या पूछ रहे हैं यह देखने के लिए मंच को ब्राउज़ करें। मंच उन मुख्य मुद्दों पर प्रकाश डालता है जिनका सामना उपयोगकर्ता करते हैं। - -नए उपयोगकर्ताओं के लिए चरण-दर-चरण ट्यूटोरियल सबसे उपयोगी लगता है। - -**तकनीकी लेखकों के लिए आप कौन से विशिष्ट कौशल खोज रहे हैं?** - -प्रोग्रामिंग कौशल की आवश्यकता नहीं है, लेकिन ये होना अच्छा होगा: - -* गलतियों के बिना एक पठनीय तरीके से अंग्रेजी लिखने की क्षमता -* खेल निर्माण कौशल (GDevelop के साथ या बिना) - उदाहरण के लिए एक नया, दिलचस्प ट्यूटोरियल बनाने के लिए महत्वपूर्ण होगा। -* GDevelop का उपयोग करने की क्षमता -* खेल बनाने वाले समुदाय के साथ अच्छी बातचीत (GDevelop या व्यापक खेल विकास समुदाय) - -**क्या आप मुझे उस दिशा में मार्गदर्शन कर सकते हैं, जिसे मुझे प्रस्ताव में शामिल करना चाहिए?** - -नहीं :) एक तकनीकी लेखक के रूप में, यह आपके ऊपर है कि आप अपने मन को GDevelop पारिस्थितिकी तंत्र और मौजूदा प्रलेखन के आसपास बनायें, और, परियोजना के विचारों (या अपने स्वयं के विचारों) के अनुसार, यह वर्णन करें कि आपको क्या करना सबसे अच्छा लगता है। 👍 \ No newline at end of file diff --git a/docs/hi/gdevelop5/getting_started.md b/docs/hi/gdevelop5/getting_started.md deleted file mode 100644 index 8a08e18222a..00000000000 --- a/docs/hi/gdevelop5/getting_started.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: getting_started ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -#शुरू करना - -GDevelop is a free, open-source, and cross-platform game creation tool that anyone can use to create games *without* programming skills. - -This guide explains how to get up and running with GDevelop. - -## Step 1: Install GDevelop - -GDevelop is available for all major operating systems, including the latest versions of Windows, macOS, and Linux. To download GDevelop, visit \[gdevelop.io/download\](). - -The installation instructions depend on the operating system. - -* **Windows**: double-click the executable. This installs GDevelop, launches the app, and adds an icon to the Desktop. * **macOS**: - -1. Open the DMG file. -2. Drag "GDevelop.app" into the "~/Applications" directory. - -* **Linux**: - -1. Open a terminal. -2. Make the AppImage file executable by typing `chmod a+x GDevelop*.AppImage`. -3. Run it: `./GDevelop*.AppImage` (or double click on the file). - -!!! note - - There's an online version of GDevelop available at \[editor.gdevelop.io\](). In general though, we recommend using the desktop version. - -## Step 2: Create a new project - -1\. Launch GDevelop. 2. Click **Create a new project**. 3. Choose a location for the project. 4. Select one of the projects from the **Starters** tab, such as **Platformer** or **8-bit Space Shooter**, or start a game from scratch by selecting the **Empty** project. - -![](/gdevelop5/getting-started-create-new-project.jpg) - -The projects in the **Starters** tab demonstrate how to create entire games, while the projects in the **Examples** tab demonstrate how to create specific features. - -## Step 3: Preview the game - -If a project has at least one scene, which all of the starter projects do, a **Preview** button is available via the toolbar. This button launches a preview of the game. - -![](/gdevelop5/getting-started-preview-button.jpg) - -## Next step - -Read the [Platformer Tutorial](/gdevelop5/tutorials/platformer/start). You'll learn how to create a platforming game from absolute scratch and discover many of GDevelop's fundamental concepts, such as objects, events, and expressions. diff --git a/docs/hi/gdevelop5/index.md b/docs/hi/gdevelop5/index.md deleted file mode 100644 index fa26925b298..00000000000 --- a/docs/hi/gdevelop5/index.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: start ---- -![](/logocompleteeffecttranparent400x100.png) - -# GDevelop 5 प्रलेखन - -GDevelop एक मुफ़्त, ओपन-सोर्स और क्रॉस-प्लेटफ़ॉर्म गेम निर्माण उपकरण है जिसका उपयोग कोई भी प्रोग्रामिंग कौशल के बिना गेम बनाने के लिए कर सकता है। इस प्रलेखन में वह सब कुछ है जो आपको GDevelop के साथ गेम बनाने के लिए जानना होगा - भले ही आपने पहले कभी गेम नहीं बनाया हो। - -![](/gdevelop5/interface/scene-editor/pasted/20200628-132624.png) - -# अगला कदम - -* यदि आपने GDevelop को इंस्टॉल नहीं किया है, तो [शुरू करना की मार्गदर्शक](/gdevelop5/getting_started) पढ़ें। -* यदि आपने पहले कभी गेम नहीं बनाया है, तो [बेसिक गेम मेकिंग कॉन्सेप्ट की मार्गदर्शक](/gdevelop5/tutorials/basic-game-making-concepts) पढ़ें। -* यदि आप एक गेम बनाना शुरू करने के लिए तैयार हैं, तो [ट्यूटोरियल खोज करें](/gdevelop5/tutorials) खोज करें diff --git a/docs/hi/gdevelop5/interface.md b/docs/hi/gdevelop5/interface.md deleted file mode 100644 index b6ef9a88486..00000000000 --- a/docs/hi/gdevelop5/interface.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: interface ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -# GDevelop interface - -The working interface of GDevelop is based around editors that are displayed in tabs. These editors allow you to change different parts of your game. - -![20200509-231255.png](/gdevelop5/interface/pasted/20200509-231255.png) - -## Start Page - -The Start Page is displayed when you first launch GDevelop. It is here that you create your projects, load previously saved projects, or load tutorials. - -![](/gdevelop5/gdevelopstart.png) - -At the startup, GDevelop will check for new updates. If a new update is available, the update will automatically be downloaded (unless deactivated in preferences). - -You can see [the progress by clicking on About GDevelop](/gdevelop5/interface/updates). - -## Project Manager - -When a project is opened, you can click on the top-left button to access to the project manager. ![](/gdevelop5/project-manager-button.png) - -The project manager shows the structure of your game: - -![](/gdevelop5/interface/pasted/20200406-000213.png) - -Using the project manager, you can add new elements to your game and open editors. Learn more about [the content of the project manager here](/gdevelop5/interface/project-manager). - -## Scene editor - -When opening a scene (or an external layout), a scene editor opens. This is where you can design and build your game levels and menus by creating and adding objects to the scene. The first scene in list is the first scene loaded when game is launched. - -[Learn more about using scene editors](/gdevelop5/interface/scene-editor). - -## Events editor - -When opening a scene (or when opening external events), an events editor is also opened. This is where you can use the events to create the actual gameplay and allow players to interact with your game and play it. The events editor is a tool that allow you to visually program your game without any specific programming knowledge or experience. - -Learn more about [its usage on this page](/gdevelop5/interface/events-editor) or check [the help about events](/gdevelop5/events). - -## Top menus - -The menu at the top of the screen (only on the desktop version) allows you to open, save, and [publish a game](/gdevelop5/publishing). They are located in the Project Manager on the web version. - -You can also open GDevelop preferences or see [the profile associated with your GDevelop account](/gdevelop5/interface/profile). - -## Interface Themes - -You can choose a different theme for the interface, according to your taste. To change the theme, navigate to **File**-\>**Preferences**. - -See, [preferences](/gdevelop5/preferences) - -You can also create themes of your own to use and share. Learn more about creating a theme [here](/gdevelop5/all-features/themes). diff --git a/docs/hi/gdevelop5/tutorials.md b/docs/hi/gdevelop5/tutorials.md deleted file mode 100644 index fbeb63244fc..00000000000 --- a/docs/hi/gdevelop5/tutorials.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: GDevelop 5 ट्यूटोरियल ---- -# GDevelop 5 ट्यूटोरियल - -ये ट्यूटोरियल स्टेप बाई स्टेप गाइड हैं जो बताते हैं कि स्क्रैच से गेम कैसे बनाया जाता है: - -!!! tip - - यदि आप पहली बार GDevelop का उपयोग कर रहे हैं, तो इन ट्यूटोरियल के साथ शुरू करने की सिफारिश की जाती है - - * **[बुनियादी गेम बनाने की अवधारणाएं: आपको GDevelop के साथ शुरू करने के लिए क्या जानने की आवश्यकता है](/gdevelop5/tutorials/basic-game-making-concepts)** - * **[एक मंच खेल बनाएँ](/gdevelop5/tutorials/platformer)** - * **[ज्यामिति दानव: एक पूर्ण, सरल मोबाइल गेम](/gdevelop5/tutorials/geometry-monster)** - -सामुदायिक ट्यूटोरियल: - - * [एक साधारण टैंक शूटर खेल बनाएँ](/gdevelop5/tutorials/tank-shooter) - * [एक सरल अंतहीन धावक खेल बनाएँ](/gdevelop5/tutorials/endless-runner) - * [एक साधारण ब्रेकआउट गेम बनाएं](/gdevelop5/tutorials/roadrider) - ----- - -# GDevelop लघु गाइड ("कैसे करें") -निम्नलिखित गाइड GDevelop के कुछ भागों के लिए स्पष्टीकरण प्रदान करते हैं। वे आपको अपने गेम डिजाइन करने के लिए कुछ उन्नत मैकेनिक्स भी दिखाते हैं: - - * [अपने गेम में ऑब्जेक्ट्स को कैसे स्थानांतरित करें (सभी अलग-अलग समाधान)](/gdevelop5/tutorials/how-to-move-objects) - * [कैसे एक प्लेटफ़ॉर्मर खेल में एक चरित्र के कूद और गिरावट चेतन करने के लिए](/gdevelop5/tutorials/how-to-animate-jump-fall-platformer) - * [अपने खेल में एक बड़ी पृष्ठभूमि कैसे प्रदर्शित करें](/gdevelop5/tutorials/how-to-display-big-background) - * [कैसे खराब खेल प्रदर्शन को डीबग करें](/gdevelop5/tutorials/how-to-debug-poor-performance) - * [भंडारण कार्रवाई की व्याख्या की](/gdevelop5/tutorials/storage-action-explained) - * [अपने खेल के आकार को कैसे कम करें](/gdevelop5/tutorials/reduce-size-game) - * [जटिल तर्क को कैसे संभालना है - परिमित राज्य मशीन (FSM)](/gdevelop5/tutorials/finite_state_machine) - * [एक टीम के रूप में GDevelop का उपयोग कैसे करें (कई डेवलपर्स और टीम के साथी)](/gdevelop5/tutorials/how-to-use-GDevelop-as-a-team) - ----- - -# अन्य गाइड -नीचे दिए गए गाइड गेम के विकास संबंधी स्पष्टीकरण प्रदान करते हैं। वे GDevelop के लिए विशिष्ट नहीं हैं। - - * [अपने खेल को itch.io पर प्रकाशित करें](/gdevelop5/publishing/publishing-to-itch-io) - * [अपने गेम को अमेज़न ऐप स्टोर पर प्रकाशित करें](/gdevelop5/publishing/publishing-to-amazon-app-store) - * [आपका गेम टू गेम जोल्ट प्रकाशित करना](/gdevelop5/publishing/publishing-to-gamejolt-store) - * [अपने खेल को Kongregate के लिए प्रकाशित करना](/gdevelop5/publishing/publishing-to-kongregate-store) - ----- - -# GDevelop वीडियो ट्यूटोरियल - - * देखें [समुदाय निर्मित वीडियो ट्यूटोरियल की सूची](/gdevelop5/tutorials/videos) - - ----- - -# साधन -3 पार्टी वेबसाइटों के लिंक जहां आप खेल के विकास में मदद करने के लिए अपने खेल और खेल उदाहरणों, टेम्पलेट्स और सॉफ्टवेयर के लिए स्प्राइट, संगीत और ध्वनि प्रभाव पा सकते हैं। - - * [संसाधनों की सूची](/gdevelop5/tutorials/resources) \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 090d60886ac..0e101a9e527 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,20 +1,19 @@ --- title: GDevelop documentation hide: - - navigation - - toc - - footer + - navigation + - toc + - footer --- # GDevelop documentation: guides, tutorials and help You can find here the full documentation for GDevelop: guides, tutorials and help about using the app, as well as the reference of its features. - [Open the documentation](gdevelop5/index.md){ .md-button .md-button--primary .full-width } [Download or try GDevelop](https://gdevelop.io/download){ .md-button .full-width } [Get started with GDevelop](gdevelop5/getting_started/index.md){ .md-button .full-width } -[Basic game making concepts](gdevelop5/tutorials/basic-game-making-concepts.md){ .md-button .full-width } \ No newline at end of file +[Basic game making concepts](gdevelop5/tutorials/basic-game-making-concepts/index.md){ .md-button .full-width } diff --git a/docs/ja/gdevelop5/all-features/advanced-conditions.md b/docs/ja/gdevelop5/all-features/advanced-conditions.md deleted file mode 100644 index 17536488771..00000000000 --- a/docs/ja/gdevelop5/all-features/advanced-conditions.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: 高度な条件 ---- -# 高度な条件 - -## かつ(And)論理操作 -![](/gdevelop5/all-features/and.png) - -イベントで「**かつ**」条件を使用すると、すべての副条件が真である場合のみ、アクションを実行します。もし一つでも副条件が偽だったら、アクションは実行されません。 -!!! note - - 「**かつ**」条件はふつう、「**または**」条件の内部で使われます。同じイベントボックス内に 2 つの条件を並べると、それだけで「**かつ**」条件を使ったのと同じ意味になるため、「かつ」条件単独でわざわざ使うことは、あまりありません。 - - - -## または(Or)論理操作 -![](/gdevelop5/all-features/or-condition.png) - -イベントで「**または**」条件を使用すると、一つでも副条件が真であれば、アクションを実行します。もし真になる副条件が一つもなければ、アクションは実行されません。 - -!!! warning - - 「または」条件は、[GDevelop のオブジェクトフィルタリングロジック](http://wiki.compilgames.net/doku.php/ja/gdevelop5/tutorials/basic-game-making-concepts#イベントとそれがいかにしてオブジェクトを選択するか)に関して特殊な振る舞いをします。条件判定の対象になったオブジェクトは、条件に合致しない場合は_選択されません_。そのため、これらのオブジェクトを対象にしたアクションは動作しないことがあります。状況によっては、「すべてのインスタンスを選択する」アクションを併用することで問題が解決するかもしれません。そうでなければ、「または」条件を置き換える必要があります。 - -## ではない(Not)論理操作 -![](/gdevelop5/all-features/not-condition.png) - -イベントで「**ではない**」条件を使用すると、副条件の結果を反転した結果を返します。副条件が真であれば偽を返し、副条件が偽であれば真を返します。 - -## 一度だけ実行する -![](/gdevelop5/all-features/trigger-once-condition.png) - -「**真のあいだ一度だけ実行する**」条件を使用すると、条件が真になっているあいだ、そのイベントのアクションを一度だけ実行します。たとえばキーが押された時に一回だけ何かしたいが、キーが連続何フレームに渡って押され続けるか予測できない(1 フレームだけしか押されないとは言い切れない)というような場合に使います。 - -!!! warning - - この条件はオブジェクトに適用されます。インスタンスには適用されません。個々のインスタンスについて一度だけトリガーさせる必要がある場合は、代わりにインスタンス変数を使ってください。 - -## 二つの数値を比べる -![](/gdevelop5/all-features/compare-two-numbers-condition.png) - -**二つの数値を比べる**条件は、2 つの数値/式をテスト記号に基づいて比較します。テストをパスした場合は、条件が真を返し、対応するアクションが実行されます。 - -たとえば最初の数値が 5 でテスト記号が「<(未満)」、2 番目の数値に 7 が入力されたとします。この場合、5 は 7 未満なので条件は真を返します。 - -## 二つの文字列を比べる -![](/gdevelop5/all-features/compare-two-strings-condition.png) - -**二つの文字列を比べる**条件は、2 つの文字列/式をテスト記号に基づいて比較します。テストをパスした場合は、条件が真を返し、対応するアクションが実行されます。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/all-features/audio.md b/docs/ja/gdevelop5/all-features/audio.md deleted file mode 100644 index 3b97625c208..00000000000 --- a/docs/ja/gdevelop5/all-features/audio.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: オーディオ ---- -# オーディオ - -音楽やサウンドの再生は、どんなゲームでも欠かせない要素です。GDevelop には音楽ファイルの再生に関連する条件とアクションが用意されています。 - -## サウンドや音楽ファイルを再生する - -!!! warning - - サウンドや音楽ファイルを再生する前に、プレイヤーがゲームを操作する必要があります(オーディオのアンロックは、ただ画面をクリック/タッチするだけで十分です)。これはブラウザーの制限事項で、回避策はありません。最終的に公開するゲームでは、最初のシーンに「続けるには何かキーを押すか画面をタッチしてください」というメッセージを表示することをお勧めします。 - -音楽ファイルを再生する一番簡単な方法は、「**サウンドを再生する**」や「**音楽ファイルを再生する**」アクションを実行することです。 -どちらのアクションも最初のパラメーターに再生したいファイルを指定します。 - -サウンドと音楽の違いはもっぱらその長さと容量の大きさに起因していて、音楽の方がふつう時間が長くサイズの大きいファイルになります。サウンドはたいていの場合、数秒ていどの長さです。GDevelop で推奨している音楽ファイルのフォーマットは次の通りです。 - -* サウンドには `wav` -* 音楽には `mp3` - -ゲームを Web で公開するなら、ブラウザーによっては他のファイルフォーマットを使える場合があります。たとえば `ogg` です。`ogg` は音楽用の `mp3` に代わる優れた代替フォーマットです。残念ながら、すべてのブラウザーがこれに対応しているわけではありません。くわしくは [Wikipedia](https://en.wikipedia.org/wiki/HTML5_audio#Supported_audio_coding_formats) を参照してください。 - -!!! note - - 音楽ファイルを選択すると、それはゲーム起動時に読み込むためにゲームのリソースに追加されます。 - ゲームのサイズを軽くするためには、ゲームで使用しなくなった音楽ファイルを削除するようにしてください。 - - -## シーンの切り替え時に音楽やサウンドを再生し続ける - -新しいシーンの開始時には、デフォルトで音楽とサウンドが停止します。途切れずに再生を続けたい場合は、シーンのプロパティを開き(シーンエディターでシーンを右クリック)、次のチェックボックスのチェックを外してください。 -![](/gdevelop5/all-features/scene_properties.png) - - - -## チャンネルを使用する - -「**サウンドを再生する**」や「**音楽ファイルを再生する**」アクションを実行すると、音楽ファイルがすぐに再生されます。再生を完了すると、メモリーから削除されます。ただしリピート再生した場合は別です。音楽ファイルをリピート再生すると、それは永遠に流れ続けます(エンドレスループ)。音楽やサウンドを止めるには、そのためのアクションが必要です。 - -より細かい制御が必要な場合は、「**チャンネルでサウンドを再生する**」や「**チャンネルで音楽ファイルを再生する**」アクションを使ってください。このアクションは先ほどと同じ使い方ですが、一点だけチャンネル識別子に番号を指定するという違いがあります。チャンネル識別子は後ほど、他のアクションや条件で再利用します。「チャンネル識別子」は、サウンドがチャンネルで再生中かどうかをチェックしたり、再生中の音楽の何かのプロパティを変更するのに使われます。これを使うと、たとえばプレイヤーの近くに敵がいるかどうかに応じて、音楽の音量を動的に変更することが可能になります。 - -## 音量 - -サウンドと音楽はデフォルトで音量 100% で再生されます。これは最大音量です。サウンドや音楽を開始するときに、その音量を指定することができます(0~100)。 - -また「ゲームグローバル音量」アクションを使ってゲーム全体のオーディオ音量を変更できます。値 0 は無音で、サウンドや音楽が何も聞こえない状態を指します。このアクションはプレイヤーにミュートを許可したり、ゲームの音量を調整させるのに便利です。たとえばゲームの設定画面を用意して、そこでゲームの音量を設定項目として提示することができます。またモバイルゲームではゲームサウンドをミュートするためのボタンが用意されていることがよくあります。 - -## パフォーマンスに関する留意事項 - -音楽やサウンドの初回再生時は、ファイルを読み込むためのタイムラグが発生します。この遅延を避けることが必須の場合は、それを使用するシーンの開始時に音楽やサウンドを再生してしまいましょう。ただし音量は 0 にします。これによって、音楽やサウンドの読み込みが強制されます。そしてオーディオデータがメモリー上にキャッシュされます。その後、関連アクションを実行したときにはすぐに反応するでしょう。 - -## サウンド/音楽の状態に関する詳細 - -**チャンネルでサウンド/音楽ファイルを再生する**アクションを実行すると、まだメモリーに**読み込んでいる途中**であったとしても、**「再生中」** という状態が設定されます。 - -そのため(チャンネルの)「サウンドは再生中である」条件はこの時点で真になります。(チャンネルの)「サウンドは停止している」条件は偽で、(同じくチャンネルの)「サウンドは一時停止している」条件も偽です。 -サウンドの読み込みが完了すると、デバイス上で実際の再生が開始されます(音が聞こえるようになります)。 - -サウンドは次のいずれかのときに停止します。 - -* **最後**まで再生し終わって、リピート再生が設定されていない -* **読み込み時にエラーが発生した**(数ミリ秒のあいだ再生してから、その後で読み込みできないために停止したものと見なされる) -* **アクション**を実行して、チャンネル内のサウンドか音楽を停止した \ No newline at end of file diff --git a/docs/ja/gdevelop5/all-features/common-conversions.md b/docs/ja/gdevelop5/all-features/common-conversions.md deleted file mode 100644 index 1a71dc16f45..00000000000 --- a/docs/ja/gdevelop5/all-features/common-conversions.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: 一般的な変換 ---- -# 一般的な変換 - -このカテゴリーは、角度の変換や数値とテキストの相互変換をサポートします。 - -## 角度の変換 - -角度は度とラジアンのどちらの単位でも表現できます。円の角度は 360 度または 2π ラジアンと形容されます。同様に、半円は 180 度または π ラジアンと形容されます。 - -数式の中で `ToRad` か `ToDeg` を使うと、ラジアンと度をお互いに変換できます。 - -![](/wiki/pres_coord2.png) - -## 数値とテキストの相互変換 - -文字列フィールドにはテキストのみを入力できます。同様に、数値フィールドには数値のみを入力できます。 - -数式中に文字列を入力するには、「テキスト→数値」式で文字列を数値に変換する必要があります。もし文字列中に数字以外の文字が含まれていた場合、式は非数を表す「NaN」(Not a Number)を返します。 - -逆に文字列式中に数値を入力するには、「数値→テキスト」式で数値を文字列に変換する必要があります。このとき数値が 1e+21 以上であれば、式は科学表記(指数表記)の値を返します。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/all-features/expressions-reference.md b/docs/ja/gdevelop5/all-features/expressions-reference.md deleted file mode 100644 index 0f7b9716788..00000000000 --- a/docs/ja/gdevelop5/all-features/expressions-reference.md +++ /dev/null @@ -1,1096 +0,0 @@ ---- -title: 式リファレンス ---- -# 式リファレンス - -次の 2 つのボタンのどちらかが脇に表示されているフィールドには、式を入力できます。 - -![](/gdevelop5/field_expressions.png) - - * 左のボタンは「文字列式」(テキスト)を表します - * 右のボタンは「数式」(数値)を表します - -このページは GDevelop で利用できるすべての式を、それが属する拡張機能や -オブジェクト、ビヘイビア別に分類したリファレンスです。`Object` と表記されている部分は、実際のオブジェクト名を入力する場所です。**[式の書き方についての詳細は、こちらを参照してください。](/ja/gdevelop5/all-features/expressions)** - -!!! note - - 式は、数学と同じように関数と呼ばれるときもあります。 - -## すべてのオブジェクト向け機能 - -GDevelop の全オブジェクト共通の機能です。[くわしい説明を読む](/ja/gdevelop5/objects) - -| 式 | 説明 || -|----|-----|----| -| `Count(object)` | イベントで現在選択されている指定オブジェクトの個数 || -|| _object_ | オブジェクト | - -| 式 | 説明 || -|----|-----|----| -| `Object.Angle()` | オブジェクトの現在の角度(度) || -| `Object.AngleToObject(object)` | 2 オブジェクト間の角度を計算する。もし任意の位置に対する角度を調べたい場合は、AngleToPosition を使ってください。| | -|| _object_ | オブジェクト | -| `Object.AngleToPosition(number, number)` | オブジェクトの中心と対象位置のあいだの角度を計算する。もし 2 オブジェクト間の角度を調べたい場合は、AngleToObject を使ってください。|| -|| _number_ | 対象の X 位置 | -|| _number_ | 対象の Y 位置 | -| `Object.Distance(object)` | 2 つのオブジェクト間の距離 || -|| _object_ | オブジェクト | -| `Object.DistanceToPosition(number, number)` | オブジェクトと対象位置のあいだの距離 || -|| _number_ | 対象の X 位置 | -|| _number_ | 対象の Y 位置 | -| `Object.ForceAngle()` | フォースの平均角度 || -| `Object.ForceLength()` | フォースの平均長さ(大きさ) || -| `Object.ForceX()` | フォースの平均 X 座標 || -| `Object.ForceY()` | フォースの平均 Y 座標 || -| `Object.Height()` | オブジェクトの高さ || -| `Object.Layer()` | オブジェクトが属しているレイヤー名を返す || -| `Object.ObjectName()` | オブジェクト名を返す || -| `Object.ObjectTimerElapsedTime(string)` | タイマーの値 || -|| _string_ | タイマーの名称 | -| `Object.SqDistance(object)` | 2 つのオブジェクト間の 2 乗距離 || -|| _object_ | オブジェクト | -| `Object.SqDistanceToPosition(number, number)` | Square distance between an object and a position || -|| _number_ | 対象の X 位置 | -|| _number_ | 対象の Y 位置 | -| `Object.Variable(objectvar)` | オブジェクトの変数 || -|| _objectvar_ | 変数 | -| `Object.VariableChildCount(objectvar)` | オブジェクトから子要素の数を取得する || -|| _objectvar_ | 変数 | -| `Object.VariableString(objectvar)` | オブジェクトの変数のテキスト || -|| _objectvar_ | 変数 | -| `Object.Width()` | オブジェクトの幅 || -| `Object.X()` | オブジェクトの X 位置 || -| `Object.Y()` | オブジェクトの Y 位置 || -| `Object.ZOrder()` | オブジェクトの Z オーダー || - ---- - - - -## スプライト - -ゲームのほとんどの要素に使用できるアニメーション対応オブジェクトです。[くわしい説明を読む](/ja/gdevelop5/objects/sprite) - -| 式 | 説明 || -|----|-----|----| -| `Object.Animation()` | オブジェクトのアニメーション || -| `Object.AnimationName()` | オブジェクトのアニメーション名 || -| `Object.AnimationSpeedScale()` | アニメーションの速度スケール || -| `Object.Direction()` | オブジェクトの方向 || -| `Object.Opacity()` | 不透明度 || -| `Object.PointX(string)` | ポイントの X 位置 || -|| _string_ | ポイントの名前 | -| `Object.PointY(string)` | ポイントの Y 位置 || -|| _string_ | ポイントの名前 | -| `Object.ScaleX()` | オブジェクトの幅スケール || -| `Object.ScaleY()` | オブジェクトの高さスケール || -| `Object.Sprite()` | オブジェクトのアニメーションフレーム || - ---- - - -## 標準的な変換 - -数値、テキスト、単位量へ変換する式です。[くわしい説明を読む](/ja/gdevelop5/all-features/common-conversions) - -| 式 | 説明 || -|----|-----|----| -| `LargeNumberToString(number)` | 科学的表記を使わずに式の結果をテキストに変換する || -|| _number_ | テキストに変換される式 | -| `ToDeg(number)` | ラジアンで表現された角度を度に変換する || -|| _number_ | ラジアン表記の角度 | -| `ToNumber(string)` | テキストを数値に変換する || -|| _string_ | 数値に変換するテキスト | -| `ToRad(number)` | 度で表現された角度をラジアンに変換する || -|| _number_ | 度表記の角度 | -| `ToString(number)` | 式の結果をテキストに変換する || -|| _number_ | テキストに変換される式 | - ---- - - -## 変数機能 - -変数を処理するアクション、条件、式です。プレイヤーのスコアや残ライフ数といった単純な変数から、インベントリや Web リクエストの結果のような任意データを含む複雑な変数まで、幅広く取り扱います。[くわしい説明を読む](/ja/gdevelop5/all-features/variables) - -| 式 | 説明 || -|----|-----|----| -| `GlobalVariable(globalvar)` | グローバル変数の数値 || -|| _globalvar_ | グローバル変数の名前 | -| `GlobalVariableChildCount(globalvar)` | グローバル変数の子要素の数を取得する || -|| _globalvar_ | 変数 | -| `GlobalVariableString(globalvar)` | グローバル変数のテキスト || -|| _globalvar_ | 変数 | -| `Variable(scenevar)` | シーン変数の数値 || -|| _scenevar_ | 変数 | -| `VariableChildCount(scenevar)` | シーン変数の子要素の数を取得する || -|| _scenevar_ | 変数 | -| `VariableString(scenevar)` | シーン変数のテキスト || -|| _scenevar_ | 変数 | - ---- - - -## マウスとタッチ - -マウスとタッチスクリーン上のタッチの両方を処理する条件とアクションです。マウス関連の条件は、デフォルトでタッチにも反応するように設定されています。これはゲームで両方に対応するのを簡単にするための措置ですが、マウスとタッチを個別のイベントで処理したい場合は、その設定を無効にもできます。[くわしい説明を読む](/ja/gdevelop5/all-features/mouse-touch) - -| 式 | 説明 || -|----|-----|----| -| `LastEndedTouchId()` | 最後に終わったタッチの識別子 || -| `LastTouchId()` | 最終タッチの識別子 || -| `MouseWheelDelta()` | スクロールホイールによる変位 || -| `MouseX(layer, camera)` | カーソル X 位置 || -|| _layer_ | レイヤ― _省略可_| -|| _camera_ | カメラ _省略可_| -| `MouseY(layer, camera)` | カーソル Y 位置 || -|| _layer_ | レイヤ― _省略可_| -|| _camera_ | カメラ _省略可_| -| `TouchX(number, layer, camera)` | タッチ X 位置 || -|| _number_ | タッチ識別子 | -|| _layer_ | レイヤ― _省略可_| -|| _camera_ | カメラ _省略可_| -| `TouchY(number, layer, camera)` | タッチ Y 位置 || -|| _number_ | タッチ識別子 | -|| _layer_ | レイヤ― _省略可_| -|| _camera_ | カメラ _省略可_| - ---- - - -## キーボード機能 - -ゲームをキーボード入力に対応させます。タッチスクリーンのオンスクリーンキーボードには対応していません。モバイル/タッチスクリーンデバイス用のゲームの場合は、代わりにタッチ関連の条件を使ってください。[くわしい説明を読む](/ja/gdevelop5/all-features/keyboard) - -| 式 | 説明 || -|----|-----|----| -| `LastPressedKey()` | キーボードの最後に押されたキー名を取得する || - ---- - - -## シーンマネジメント機能 - -ゲーム中にシーンを操作するためのアクションと条件です。 - -| 式 | 説明 || -|----|-----|----| -| `CurrentSceneName()` | 現在のシーン名 || -| `Random(number)` | ランダムな整数 || -|| _number_ | 最大値 | -| `RandomFloat(number)` | ランダムな浮動小数点数 || -|| _number_ | 最大値 | -| `RandomFloatInRange(number, number)` | 指定範囲内でランダムな浮動小数点数 || -|| _number_ | 最小値 | -|| _number_ | 最大値 | -| `RandomInRange(number, number)` | 指定範囲内でランダムな整数 || -|| _number_ | 最小値 | -|| _number_ | 最大値 | -| `RandomWithStep(number, number, number)` | ステップ値刻みのランダム値 || -|| _number_ | 最小値 | -|| _number_ | 最大値 | -|| _number_ | ステップ値 | - ---- - - -## 時間 - -タイマーの実行や現在時刻の取得、タイムスケールの変更(ゲーム実行速度に影響し、スローモーションエフェクトに有用)を行うアクションと条件です。[くわしい説明を読む](/ja/gdevelop5/all-features/timers) - -| 式 | 説明 || -|----|-----|----| -| `Time(string)` | 現在の時間 || -|| _string_ | 時間:hour - 分:min - 秒: sec - 月間通算日(1日=1):mday - 月(1月=0):mon - 1900年からの経過年数:year - 日曜日からの経過日数(日曜=0):wday - 年間通算日(1月1日=1):yday - タイムスタンプ(ms):timestamp | -| `TimeDelta()` | 前のフレームが画面にレンダーされてからの経過時間 || -| `TimeFromStart()` | シーンの最初からの経過時間 || -| `TimerElapsedTime(string)` | シーンタイマーの値 || -|| _string_ | タイマーの名称 | - ---- - - -## 数学的ツール - -式で使用する数学関数のセットです。 - -| 式 | 説明 || -|----|-----|----| -| `AngleBetweenPositions(number, number, number, number)` | 2 点間の角度を計算する。|| -|| _number_ | 最初の点の X 位置 | -|| _number_ | 最初の点の Y 位置 | -|| _number_ | 2 番目の点の X 位置 | -|| _number_ | 2 番目の点の Y 位置 | -| `AngleDifference(number, number)` | 二つの角度間の差 || -|| _number_ | 最初の角度 | -|| _number_ | 2 番目の角度 | -| `DistanceBetweenPositions(number, number, number, number)` | 2 点間の距離を計算する。|| -|| _number_ | 最初の点の X 位置 | -|| _number_ | 最初の点の Y 位置 | -|| _number_ | 2 番目の点の X 位置 | -|| _number_ | 2 番目の点の Y 位置 | -| `abs(number)` | 絶対値 || -|| _number_ | 式 | -| `acos(number)` | アークコサイン(逆余弦) || -|| _number_ | 式 | -| `acosh(number)` | ハイパーボリックアークコサイン(双曲線逆余弦) || -|| _number_ | 式 | -| `asin(number)` | アークサイン(逆正弦) || -|| _number_ | 式 | -| `asinh(number)` | ハイパーボリックアークサイン(双曲線逆正弦) || -|| _number_ | 式 | -| `atan(number)` | アークタンジェント(逆正接) || -|| _number_ | 式 | -| `atan2(number, number)` | 2 引数アークタンジェント(atan2) || -|| _number_ | Y | -|| _number_ | X | -| `atanh(number)` | ハイパーボリックアークタンジェント(双曲線逆正接) || -|| _number_ | 式 | -| `cbrt(number)` | 平方根 || -|| _number_ | 式 | -| `ceil(number)` | 値を整数に切り上げる || -|| _number_ | 式 | -| `clamp(number, number, number)` | 値を指定範囲に制限する || -|| _number_ | 値 | -|| _number_ | 最小値 | -|| _number_ | 最大値 | -| `cos(number)` | コサイン(余弦) || -|| _number_ | 式 | -| `cosh(number)` | ハイパーボリックコサイン(双曲線余弦) || -|| _number_ | 式 | -| `cot(number)` | コタンジェント(余接) || -|| _number_ | 式 | -| `csc(number)` | コセカント(余割) || -|| _number_ | 式 | -| `exp(number)` | 指数 || -|| _number_ | 式 | -| `floor(number)` | 値を整数に切り下げる || -|| _number_ | 式 | -| `lerp(number, number, number)` | a から b 間の x を線形補間する || -|| _number_ | (式 a+(b-a) * x における)a | -|| _number_ | (式 a+(b-a) * x における)b | -|| _number_ | (式 a+(b-a) * x における)x | -| `log(number)` | 対数 || -|| _number_ | 式 | -| `log10(number)` | 底 10 の対数 || -|| _number_ | 式 | -| `log2(number)` | 底 2 の対数 || -|| _number_ | 式 | -| `max(number, number)` | 2 つの数値の最大値 || -|| _number_ | 最初の式 | -|| _number_ | 2 番目の式 | -| `min(number, number)` | 2 つの数値の最小値 || -|| _number_ | 最初の式 | -|| _number_ | 2 番目の式 | -| `mod(number, number)` | 剰余(x mod y) || -|| _number_ | (x mod y における)x | -|| _number_ | (x mod y における)y | -| `normalize(number, number, number)` | 値を 0 から 1 のあいだで再配置する|| -|| _number_ | 値 | -|| _number_ | 最小値 | -|| _number_ | 最大値 | -| `nthroot(number, number)` | N 乗根(ルート) || -|| _number_ | 数値 | -|| _number_ | N | -| `pow(number, number)` | 指数 n で累乗(べき乗)する || -|| _number_ | 数値 | -|| _number_ | 指数(「x の n 乗」における n) | -| `round(number)` | 丸め(四捨五入) || -|| _number_ | 式 | -| `sec(number)` | セカント(正割) || -|| _number_ | 式 | -| `sign(number)` | 数値の符号(1、-1、0) || -|| _number_ | 式 | -| `sin(number)` | サイン(正弦) || -|| _number_ | 式 | -| `sinh(number)` | ハイパーボリックサイン(双曲線正弦) || -|| _number_ | 式 | -| `sqrt(number)` | 平方根 || -|| _number_ | 式 | -| `tan(number)` | タンジェント(正接) || -|| _number_ | 式 | -| `tanh(number)` | ハイパーボリックタンジェント(双曲線正接) || -|| _number_ | 式 | -| `trunc(number)` | 小数点以下を切り捨て || -|| _number_ | 式 | - ---- - - -## カメラとレイヤー機能 - -各シーンは複数のレイヤーで構成できます。これらの条件とアクションでゲーム中にレイヤーを操作できます。具体的には、レイヤーのカメラをあるオブジェクトの中心や指定位置に合わせることができます。[くわしい説明を読む](/ja/gdevelop5/interface/scene-editor/layers-and-cameras) - -| 式 | 説明 || -|----|-----|----| -| `CameraHeight(layer, number)` | レイヤーのカメラの高さ || -|| _layer_ | レイヤー | -|| _number_ | カメラ番号(デフォルト:0) | -| `CameraRotation(layer, number)` | レイヤーのカメラの角度 || -|| _layer_ | レイヤ― _省略可_| -|| _number_ | カメラ番号(デフォルト:0) _省略可_| -| `CameraWidth(layer, number)` | レイヤーのカメラの幅 || -|| _layer_ | レイヤー | -|| _number_ | カメラ番号(デフォルト:0) | -| `CameraX(layer, number)` | カメラ X 位置 || -|| _layer_ | レイヤ― _省略可_| -|| _number_ | カメラ番号(デフォルト:0) _省略可_| -| `CameraY(layer, number)` | カメラ Y 位置 || -|| _layer_ | レイヤ― _省略可_| -|| _number_ | カメラ番号(デフォルト:0) _省略可_| -| `CameraZoom(layer, number)` | レイヤーのカメラのズーム値 || -|| _layer_ | レイヤ― _省略可_| -|| _number_ | カメラ番号(デフォルト:0) _省略可_| -| `LayerDefaultZOrder(layer)` | レイヤーのデフォルト Z オーダー || -|| _layer_ | レイヤー | -| `LayerTimeScale(layer)` | タイムスケール || -|| _layer_ | レイヤー | - ---- - - -## オーディオ - -GDevelop はオーディオファイルを再生するための条件とアクションを提供しています。長い音楽と短い効果音の両方に使えます。[くわしい説明を読む](/ja/gdevelop5/all-features/audio) - -| 式 | 説明 || -|----|-----|----| -| `GlobalVolume()` | ゲームグローバルボリューム値 || -| `MusicChannelPitch(number)` | 音楽のピッチ || -|| _number_ | チャンネル | -| `MusicChannelPlayingOffset(number)` | 音楽再生位置 || -|| _number_ | チャンネル | -| `MusicChannelVolume(number)` | 音楽ボリューム || -|| _number_ | チャンネル | -| `SoundChannelPitch(number)` | サウンドのピッチ || -|| _number_ | チャンネル | -| `SoundChannelPlayingOffset(number)` | サウンド再生位置 || -|| _number_ | チャンネル | -| `SoundChannelVolume(number)` | サウンドボリューム || -|| _number_ | チャンネル | - ---- - - -## 基本的インターネット機能 - -Web リクエストの送信、外部「API」との通信、その他ネットワーク関連のタスクを処理する機能です。[くわしい説明を読む](/ja/gdevelop5/all-features/network) - -| 式 | 説明 || -|----|-----|----| -| `GlobalVarToJSON(globalvar)` | グローバル変数を JSON に変換する || -|| _globalvar_ | 文字列化するグローバル変数 | -| `ObjectVarToJSON(object, objectvar)` | オブジェクト変数を JSON に変換する || -|| _object_ | 変数を持つオブジェクト | -|| _objectvar_ | 文字列化するオブジェクト変数 | -| `ToJSON(scenevar)` | シーン変数を JSON に変換する || -|| _scenevar_ | 文字列化するシーン変数 | - ---- - - -## ウィンドウ機能 - -ゲームウィンドウを操作するアクションと条件です。ゲームを実行するプラットフォームによっては、一部の機能を利用できない場合があります。[くわしい説明を読む](/ja/gdevelop5/all-features/window) - -| 式 | 説明 || -|----|-----|----| -| `SceneWindowHeight()` | シーンウィンドウ(または HTML5 ゲームのシーンキャンバス)の高さ || -| `SceneWindowWidth()` | シーンウィンドウ(または HTML5 ゲームのシーンキャンバス)の幅 || -| `ScreenHeight()` | Height of the screen (or the page for HTML5 games in browser) || -| `ScreenWidth()` | 画面(またはブラウザー内の HTML5 ゲームのページ)の幅 || -| `WindowTitle()` | ウィンドウタイトル || - ---- - - -## テキスト操作 - -文字列(テキスト)操作関連の式を提供します。 - -| 式 | 説明 || -|----|-----|----| -| `FromCodePoint(number)` | コードポイントを文字に変換する || -|| _number_ | コードポイント | -| `NewLine()` | 改行を挿入する || -| `StrAt(string, number)` | 指定位置の文字を取得する || -|| _string_ | テキスト | -|| _number_ | 文字の位置(最初の文字は位置 0) | -| `StrFind(string, string)` | テキスト内検索(見つかった位置を返す、見つからなければ -1) || -|| _string_ | テキスト | -|| _string_ | 検索語句 | -| `StrFindFrom(string, string, number)` | 指定位置からテキスト内検索(見つかった位置を返す、見つからなければ -1) || -|| _string_ | テキスト | -|| _string_ | 検索語句 | -|| _number_ | 検索開始位置 | -| `StrFindLast(string, string)` | 末尾からテキスト内検索(見つかった語句の先頭位置を返す、見つからなければ -1) || -|| _string_ | テキスト | -|| _string_ | 検索語句 | -| `StrFindLastFrom(string, string, number)` | 末尾からテキスト内検索(見つかった語句の先頭位置が指定位置までのものを返す、見つからなければ -1)(訳注:指定位置は検索範囲の終点ではない点に注意) || -|| _string_ | テキスト | -|| _string_ | 検索語句 | -|| _number_ | 見つかった語句の先頭位置の上限 | -| `StrLength(string)` | テキストの長さ(文字数) || -|| _string_ | テキスト | -| `StrRepeat(string, number)` | テキストをリピートする || -|| _string_ | リピートするテキスト | -|| _number_ | リピート回数 | -| `SubStr(string, number, number)` | 部分文字列を取得する || -|| _string_ | テキスト | -|| _number_ | 部分文字列の開始位置(最初の文字は位置 0) | -|| _number_ | 部分文字列の長さ(文字数) | -| `ToLowerCase(string)` | テキストを小文字にする || -|| _string_ | テキスト | -| `ToUpperCase(string)` | テキストを大文字にする || -|| _string_ | テキスト | - ---- - - -## 高度な制御機能 - -イベントで使用する高度な制御機能です。 - -| 式 | 説明 || -|----|-----|----| -| `GetArgumentAsNumber(string)` | 関数パラメーター(引数とも呼ぶ)の値を取得する || -|| _string_ | パラメーター名 | -| `GetArgumentAsString(string)` | 関数パラメーター(引数とも呼ぶ)のテキストを取得する || -|| _string_ | パラメーター名 | - ---- - - - -## プラットフォーム(プラットフォームビヘイビア拡張機能より) - -プラットフォーマーキャラクターがその上を走れるプラットフォームです。[くわしい説明を読む](/ja/gdevelop5/behaviors/platformer) - -_このビヘイビアには式がありません。_ - - -## プラットフォーマーキャラクター(プラットフォームビヘイビア拡張機能より) - -プラットフォーム上をジャンプしたり走ったりできる操作可能なキャラクターです。[くわしい説明を読む](/ja/gdevelop5/behaviors/platformer) - -| 式 | 説明 || -|----|-----|----| -| `Object.PlatformerObject::Acceleration()` | 加速度 || -| `Object.PlatformerObject::CurrentFallSpeed()` | 現在の落下速度 || -| `Object.PlatformerObject::CurrentJumpSpeed()` | 現在のジャンプ速度 || -| `Object.PlatformerObject::CurrentSpeed()` | 現在の速度 || -| `Object.PlatformerObject::Deceleration()` | 減速度 || -| `Object.PlatformerObject::Gravity()` | オブジェクトに適用された重力を取得する || -| `Object.PlatformerObject::JumpSpeed()` | ジャンプ速度 || -| `Object.PlatformerObject::JumpSustainTime()` | ジャンプボタンを押し続けているあいだ、ジャンプの初速を持続できる時間です。|| -| `Object.PlatformerObject::LadderClimbingSpeed()` | はしごを登る速度を取得する || -| `Object.PlatformerObject::MaxFallingSpeed()` | 最大落下速度を取得する || -| `Object.PlatformerObject::MaxSpeed()` | 最大速度 || - ---- - - - -## 画面外に出たら破棄(画面外で破棄ビヘイビア拡張機能より) - -画面境界の外に出たらオブジェクトを自動的に破棄します。[くわしい説明を読む](/ja/gdevelop5/behaviors/destroyoutside) - -_このビヘイビアには式がありません。_ - - ---- - - - -## タイルスプライト(タイルスプライトオブジェクト拡張機能より) - -領域全体に画像を敷き並べて表示します。[くわしい説明を読む](/ja/gdevelop5/objects/tiled_sprite) - -| 式 | 説明 || -|----|-----|----| -| `Object.Opacity()` | 不透明度 || - ---- - - - -## ドラッグ対応オブジェクト(ドラッグ対応ビヘイビア拡張機能より) - -オブジェクトをマウス(またはタッチ)で動かせるようにします。[くわしい説明を読む](/ja/gdevelop5/behaviors/draggable) - -_このビヘイビアには式がありません。_ - - ---- - - - -## トップダウン移動(4 または 8 方向)(トップダウン移動拡張機能より) - -オブジェクトを上下左右に(オプションで斜めにも)移動できるようにします。[くわしい説明を読む](/ja/gdevelop5/behaviors/topdown) - -| 式 | 説明 || -|----|-----|----| -| `Object.TopDownMovement::Acceleration()` | オブジェクトの加速度 || -| `Object.TopDownMovement::Angle()` | 移動角度(度) || -| `Object.TopDownMovement::AngleOffset()` | オブジェクトに適用された回転オフセット(訳注:移動時にオブジェクトのどの側が進行方向を向くか) || -| `Object.TopDownMovement::AngularMaxSpeed()` | オブジェクトの最大角速度 || -| `Object.TopDownMovement::Deceleration()` | オブジェクトの減速度 || -| `Object.TopDownMovement::MaxSpeed()` | オブジェクトの最大速度 || -| `Object.TopDownMovement::Speed()` | オブジェクトの速度 || -| `Object.TopDownMovement::XVelocity()` | X 軸方向の移動速度 || -| `Object.TopDownMovement::YVelocity()` | Y 軸方向の移動速度 || - ---- - - - -## テキスト(テキストオブジェクト拡張機能より) - -テキストを画面に表示します。[くわしい説明を読む](/ja/gdevelop5/objects/text) - -| 式 | 説明 || -|----|-----|----| -| `Object.Angle()` | 角度 || -| `Object.Opacity()` | テキストオブジェクトの不透明度 || -| `Object.Padding()` | パディング || -| `Object.ScaleX()` | テキストオブジェクトの X スケール || -| `Object.ScaleY()` | テキストオブジェクトの Y スケール || -| `Object.String()` | テキスト || - ---- - - - -## パーティクルエミッター(パーティクルシステム拡張機能より) - -小さなパーティクルを大量に表示するビジュアルエフェクトです。[くわしい説明を読む](/ja/gdevelop5/objects/particles_emitter) - -| 式 | 説明 || -|----|-----|----| -| `Object.EmitterAngle()` | エミッション角度 || -| `Object.EmitterAngleA()` | エミッション角度 A || -| `Object.EmitterAngleB()` | エミッション角度 B || -| `Object.EmitterForceMax()` | 最大放出力 || -| `Object.EmitterForceMin()` | 最小放出力 || -| `Object.Flow()` | フロー || -| `Object.NbParticles()` | パーティクル数 || -| `Object.ParticleAlpha1()` | 透明度のパラメーター 1 || -| `Object.ParticleAlpha2()` | 透明度のパラメーター 2 || -| `Object.ParticleBlue1()` | 青色のパラメーター 1 || -| `Object.ParticleBlue2()` | 青色のパラメーター 2 || -| `Object.ParticleGravityAngle()` | 重力角度 || -| `Object.ParticleGravityLength()` | 重力値 || -| `Object.ParticleGravityX()` | パーティクルの X 重力 || -| `Object.ParticleGravityY()` | パーティクルの Y 重力 || -| `Object.ParticleGreen1()` | 緑色のパラメーター 1 || -| `Object.ParticleGreen2()` | 緑色のパラメーター 2 || -| `Object.ParticleLifeTimeMax()` | パーティクルの最大生存時間 || -| `Object.ParticleLifeTimeMin()` | パーティクルの最小生存時間 || -| `Object.ParticleRed1()` | 赤色のパラメーター 1 || -| `Object.ParticleRed2()` | 赤色のパラメーター 2 || -| `Object.ParticleSize1()` | サイズのパラメーター 1 || -| `Object.ParticleSize2()` | サイズのパラメーター 2 || -| `Object.RendererParam1()` | レンダリングのパラメーター 1 || -| `Object.RendererParam2()` | レンダリングのパラメーター 2 || -| `Object.Tank()` | 容量 || -| `Object.Texture()` | パーティクルに表示する画像の名前 || -| `Object.ZoneRadius()` | エミッション領域の半径 || - ---- - - - -## パネルスプライト(9 パッチ)(パネルスプライト(9 パッチ)オブジェクト拡張機能より) - -画像を格子状に9分割し、角以外を引き延ばして表示します。[くわしい説明を読む](/ja/gdevelop5/objects/panel_sprite) - -| 式 | 説明 || -|----|-----|----| -| `Object.Opacity()` | 不透明度 || - ---- - - - -## アンカー - -ウインドウ境界にオブジェクトをアンカーするビヘイビアです。[くわしい説明を読む](/ja/gdevelop5/behaviors/anchor) - -_このビヘイビアには式がありません。_ - - ---- - - - -## シェイプペインター - -シンプルな図形を画面に描画します。[くわしい説明を読む](/ja/gdevelop5/objects/shape_painter) - -| 式 | 説明 || -|----|-----|----| -| `Object.FillColorBlue()` | 塗りつぶし色の青成分 || -| `Object.FillColorGreen()` | 塗りつぶし色の緑成分 || -| `Object.FillColorRed()` | 塗りつぶし色の赤成分 || -| `Object.FillOpacity()` | 塗りつぶし色の不透明度 || -| `Object.OutlineColorBlue()` | 輪郭線の青成分 || -| `Object.OutlineColorGreen()` | 輪郭線の緑成分 || -| `Object.OutlineColorRed()` | 輪郭線の赤成分 || -| `Object.OutlineOpacity()` | 輪郭線の不透明度 || -| `Object.OutlineSize()` | 輪郭線の太さ || - ---- - - - -## テキスト入力(テキスト入力オブジェクト拡張機能より) - -キーボード入力されたテキストを保持する非表示のオブジェクトです。[くわしい説明を読む](/ja/gdevelop5/objects/text_entry) - -| 式 | 説明 || -|----|-----|----| -| `Object.String()` | キーボードから入力されたテキスト || - ---- - - -## インベントリ - -メモリ内アイテムを扱うインベントリをゲームに追加するためのアクションと条件を提供します。[くわしい説明を読む](/ja/gdevelop5/all-features/inventory) - -| 式 | 説明 || -|----|-----|----| -| `Inventory::Count(string, string)` | インベントリ内のアイテム数を取得する || -|| _string_ | インベントリ名 | -|| _string_ | アイテム名 | - ---- - - - -## 経路探索(経路探索ビヘイビア拡張機能より) - -障害物として設定されたすべてのオブジェクトを避けてオブジェクトを移動します。[くわしい説明を読む](/ja/gdevelop5/behaviors/pathfinding) - -| 式 | 説明 || -|----|-----|----| -| `Object.Pathfinding::Acceleration()` | パス上のオブジェクトの加速度 || -| `Object.Pathfinding::AngleOffset()` | パス上のオブジェクトに適用された回転オフセット || -| `Object.Pathfinding::AngularMaxSpeed()` | パス上のオブジェクトの最大角速度 || -| `Object.Pathfinding::CellHeight()` | 仮想グリッドの高さ || -| `Object.Pathfinding::CellWidth()` | 仮想グリッドの幅 || -| `Object.Pathfinding::DestinationX()` | 目的地の X 位置 || -| `Object.Pathfinding::DestinationY()` | 目的地の Y 位置 || -| `Object.Pathfinding::ExtraBorder()` | パス上のオブジェクトに適用された追加境界 || -| `Object.Pathfinding::GetNodeX(number)` | 次の中間地点の X 位置を取得する || -|| _number_ | ノードインデックス(0 からスタート) | -| `Object.Pathfinding::GetNodeY(number)` | 次の中間地点の Y 位置を取得する || -|| _number_ | ノードインデックス(0 からスタート) | -| `Object.Pathfinding::LastNodeX()` | 前の中間地点の X 位置 || -| `Object.Pathfinding::LastNodeY()` | 前の中間地点の Y 位置 || -| `Object.Pathfinding::MaxSpeed()` | パス上のオブジェクトの最高速度 || -| `Object.Pathfinding::NextNodeIndex()` | 次に到着する中間地点のインデックスを取得する || -| `Object.Pathfinding::NextNodeX()` | 次の中間地点の X 位置を取得する || -| `Object.Pathfinding::NextNodeY()` | 次の中間地点の Y 位置を取得する || -| `Object.Pathfinding::NodeCount()` | パス上の中間地点の数を取得する || -| `Object.Pathfinding::Speed()` | パス上のオブジェクトの速度 || - -## 経路探索の障害物(経路探索ビヘイビア拡張機能より) - -オブジェクトを経路探索の障害物として設定します。[くわしい説明を読む](/ja/gdevelop5/behaviors/pathfinding) - -| 式 | 説明 || -|----|-----|----| -| `Object.PathfindingObstacle::Cost()` | 障害物コスト || - ---- - - - -## 物理エンジン(物理エンジン拡張機能より(非推奨)) - -まるで物理法則に従っているかのようにオブジェクトを移動します。ゲームを新規作成する場合は、物理エンジン 2.0 の方を使ってください。[くわしい説明を読む](/ja/gdevelop5/behaviors/physics) - -| 式 | 説明 || -|----|-----|----| -| `Object.Physics::AngularDamping()` | 角度減衰 || -| `Object.Physics::AngularVelocity()` | 角速度 || -| `Object.Physics::LinearDamping()` | 線形減衰 || -| `Object.Physics::LinearVelocity()` | 線速度 || -| `Object.Physics::LinearVelocityX()` | X コンポーネント || -| `Object.Physics::LinearVelocityY()` | Y コンポーネント || -| `Object.Physics::PolygonScaleX()` | 衝突ポリゴンの X スケール || -| `Object.Physics::PolygonScaleY()` | 衝突ポリゴンの Y スケール || - ---- - - -## 高度なウィンドウ管理 - -ゲームウィンドウの配置や OS との連携に関連した高度な機能を提供します。 - -| 式 | 説明 || -|----|-----|----| -| `AdvancedWindow::WindowOpacity()` | ウィンドウの現在の不透明度を返す(0 から 1 までの数値、1 は完全に不透明)|| -| `AdvancedWindow::WindowX()` | ウィンドウの現在の X 位置を返す|| -| `AdvancedWindow::WindowY()` | ウィンドウの現在の Y 位置を返す|| - ---- - - - -## BBText(BBCode テキストオブジェクト拡張機能より) - -BBCode マークアップに対応したリッチテキストラベルを表示します(テキストの一部を太字や斜体にしたり、色を変えたり影を付けることができます)。[くわしい説明を読む](/ja/gdevelop5/objects/bbtext) - -| 式 | 説明 || -|----|-----|----| -| `Object.GetBBText()` | BBCode テキストを取得する || -| `Object.GetFontFamily()` | 基本フォントファミリーを取得する || -| `Object.GetFontSize()` | 基本フォントサイズを取得する || -| `Object.GetOpacity()` | 基本の不透明度を取得する || -| `Object.GetWrappingWidth()` | 折り返し幅を取得する || - ---- - - -## デバイスセンサー - -モバイル端末のセンサーにアクセスできるようにします。[くわしい説明を読む](/ja/gdevelop5/all-features/device-sensors) - -| 式 | 説明 || -|----|-----|----| -| `DeviceSensors::AccelerationX()` | X 軸のデバイス加速度(m/s²)を取得する || -| `DeviceSensors::AccelerationY()` | Y 軸のデバイス加速度(m/s²)を取得する || -| `DeviceSensors::AccelerationZ()` | Z 軸のデバイス加速度(m/s²)を取得する || -| `DeviceSensors::OrientationAbsolute()` | 端末の方向が絶対方向(相対ではない)かどうかを取得する || -| `DeviceSensors::OrientationAlpha()` | 端末方向のアルファ値(コンパス)を取得する || -| `DeviceSensors::OrientationBeta()` | 端末方向のベータ値を取得する || -| `DeviceSensors::OrientationGamma()` | 端末方向のガンマ値を取得する || -| `DeviceSensors::RotationAlpha()` | 端末回転のアルファ値を取得する || -| `DeviceSensors::RotationBeta()` | 端末回転のベータ値を取得する || -| `DeviceSensors::RotationGamma()` | 端末回転のガンマ値を取得する || - ---- - - -## ダイアログツリー(実験的) - -Yarn Spinner を使ったダイアログツリーを制御します。複数選択肢を伴う複雑なダイアログ(せりふ)を作成するのに使います。Yarn Spinner エディターが GDevelop に組み込まれているため、GDevelop から別のアプリに切り替えることなくダイアログを編集できます。[くわしい説明を読む](/ja/gdevelop5/all-features/dialogue-tree) - -| 式 | 説明 || -|----|-----|----| -| `DialogueTree::BranchTag(number)` | 実行中のダイアログの現在のブランチから指定したインデックスのタグを取得する || -|| _number_ | タグインデックス番号 | -| `DialogueTree::BranchTags()` | 実行中のダイアログの現在のブランチからタグを取得する || -| `DialogueTree::BranchText()` | 現在のブランチの完全な生テキストを取得する || -| `DialogueTree::BranchTitle()` | 実行中のダイアログの現在のブランチからタイトルを取得する || -| `DialogueTree::ClippedLineText()` | タイプライターエフェクトでクリップされたダイアログラインテキストを取得する。タイプライターエフェクトは「クリップテキストをスクロールする」アクションで制御します。|| -| `DialogueTree::CommandParameter(number)` | <> 形式のコマンド呼び出しのパラメーターを取得する || -|| _number_ | パラメーターのインデックス番号 _省略可_| -| `DialogueTree::CommandParametersCount()` | 現在渡されたコマンドのパラメーター数を取得する || -| `DialogueTree::HorizontalOptionsList(string)` | オプションラインタイプから利用可能なすべてのオプションのテキストを横型リストとして取得する。オプションで選択カーソル文字列(デフォルトは ->)を指定できます。 || -|| _string_ | オプションの選択カーソル | -| `DialogueTree::LineText()` | 現在のダイアログラインテキストを返す || -| `DialogueTree::Option(number)` | オプションラインタイプから指定したオプション番号のオプションテキストを取得する。番号は 0 から始まります。|| -|| _number_ | オプションインデックス番号 | -| `DialogueTree::OptionsCount()` | オプションラインタイプ内のオプション番号を取得する || -| `DialogueTree::SelectedOptionIndex()` | 現在選択されているオプション番号を取得する。オプション選択マーカーを正しい場所にレンダーするために使います。|| -| `DialogueTree::TagParameter(number)` | ブランチのタグ条件で見つかったタグからパラメーターを取得する || -|| _number_ | パラメーターのインデックス番号 _省略可_| -| `DialogueTree::Variable(string)` | ダイアログ状態の値を取得する || -|| _string_ | 変数名 | -| `DialogueTree::VerticalOptionsList(string)` | オプションラインタイプから利用可能なすべてのオプションのテキストを縦型リストとして取得する。オプションで選択カーソル文字列(デフォルトは ->)を指定できます。 || -|| _string_ | オプションの選択カーソル | -| `DialogueTree::VisitedBranchTitles()` | 訪問済みブランチのリストを取得する || - ---- - - -## Facebook インスタントゲーム - -ゲームがスコアを送信し、Facebook インスタントゲームプラットフォームと通信できるようにします。[くわしい説明を読む](/ja/gdevelop5/publishing/publishing-to-facebook-instant-games) - -| 式 | 説明 || -|----|-----|----| -| `FacebookInstantGames::PlayerId()` | プレイヤーの固有識別子を取得する || -| `FacebookInstantGames::PlayerName()` | プレイヤー名を取得する || - ---- - - -## ファイルシステム - -OS のファイルシステムにアクセスします。[くわしい説明を読む](/ja/gdevelop5/all-features/filesystem) - -| 式 | 説明 || -|----|-----|----| -| `FileSystem::DesktopPath()` | デスクトップフォルダーのパスを取得する|| -| `FileSystem::DirectoryName(string)` | パスから最後のファイル名を取り除いた、ディレクトリを表す部分パスを返す|| -|| _string_ | ファイルまたはディレクトリのパス | -| `FileSystem::DocumentsPath()` | ドキュメントフォルダーのパスを取得する|| -| `FileSystem::ExecutableFolderPath()` | ゲーム実行フォルダーのパスを取得する|| -| `FileSystem::ExecutablePath()` | ゲーム実行ファイルのパスを取得する|| -| `FileSystem::ExtensionName(string)` | 指定したパスが表すファイルの拡張子を、ピリオドを含む形で返す。たとえば「.txt」。|| -|| _string_ | ファイルのパス | -| `FileSystem::FileName(string)` | ファイル名を返す。拡張子があれば、それも含みます。|| -|| _string_ | ファイルのパス | -| `FileSystem::PathDelimiter()` | OS のパス区切り文字を取得する|| -| `FileSystem::PicturesPath()` | 画像フォルダーのパスを取得する|| -| `FileSystem::TempPath()` | 一時フォルダーのパスを取得する|| -| `FileSystem::UserHomePath()` | ユーザーホームフォルダーのパスを取得する|| -| `FileSystem::UserdataPath()` | ユーザーデータフォルダー(アプリケーション設定用)のパスを取得する|| - ---- - - -## Firebase - -ゲームで Google Firebase サービス(データベース、関数、ストレージ…)を使えるようにします。[くわしい説明を読む](/ja/gdevelop5/all-features/firebase) - -| 式 | 説明 || -|----|-----|----| -| `Firebase::GetAccountCreationTime()` | アカウントの作成日時を取得する。|| -| `Firebase::GetAuthToken(string)` | ユーザー認証トークンを取得する。トークンは認証の証拠です。|| -|| _string_ | 設定名 | -| `Firebase::GetLastLoginTime()` | ユーザーの前回ログイン日時を取得する。|| -| `Firebase::GetPhoneNumber()` | ユーザーの電話番号を取得する。|| -| `Firebase::GetPhotoURL()` | ユーザーのプロファイル画像の URL を取得する。|| -| `Firebase::GetRefreshToken()` | ユーザーのリフレッシュトークンを取得する。高度な使用法です。|| -| `Firebase::GetRemoteConfigNumber(string)` | Firebase のリモート設定を数値で取得する。|| -|| _string_ | 設定名 | -| `Firebase::GetRemoteConfigString(string)` | Firebase のリモート設定を文字列で取得する。|| -|| _string_ | 設定名 | -| `Firebase::GetTenantID()` | ユーザーのテナント ID を取得する。高度な使用法です。|| -| `Firebase::GetUserDisplayName()` | ユーザーの表示名を取得する。|| -| `Firebase::GetUserEmail()` | ユーザーのメールアドレスを取得する。|| -| `Firebase::GetUserUID()` | ユーザーの固有識別子を取得する。名前やメールアドレスの代わりに、こちらをユーザーへのリンクデータに使ってください。|| - ---- - - - -## ライト(ライト拡張機能より) - -半径と色をカスタマイズできるライトをシーンに表示します。 これを作成した後、光をさえぎるオブジェクトにはライト障害物ビヘイビアを追加します。 - -_このオブジェクトには式がありません。_ - - -## ライト障害物ビヘイビア(ライト拡張機能より) - -このビヘイビアはオブジェクトをライト障害物にします。ライトオブジェクトから放射された光はこのオブジェクトにさえぎられます。 - -_このビヘイビアには式がありません。_ - - ---- - - -## ピアツーピア(P2P)通信(実験的) - -ゲームインスタンスが WebRTC(P2P)経由でメッセージをリモート通信できるようにします。[くわしい説明を読む](/ja/gdevelop5/all-features/p2p) - -| 式 | 説明 || -|----|-----|----| -| `P2P::GetEventData(string)` | 前回トリガーされた指定イベントで受信したデータを返す || -|| _string_ | イベント名 | -| `P2P::GetEventSender(string)` | イベントをトリガーしたピアの ID を返す || -|| _string_ | イベント名 | -| `P2P::GetID()` | 現在のゲームインスタンスのクライアント ID を取得する || -| `P2P::GetLastConnectedPeer()` | 新たに接続を開始したピアの ID を取得する|| -| `P2P::GetLastDisconnectedPeer()` | 前回接続を終了したピアの ID を取得する|| -| `P2P::GetLastError()` | 前回の P2P エラー内容を取得する || - ---- - - - -## 物理エンジン 2.0 - -重力、フォース、ジョイントなどを使ってリアルな物体の物理運動をシミュレートします。[もっとくわしく](/ja/gdevelop5/behaviors/physics2) - -| 式 | 説明 || -|----|-----|----| -| `Object.Physics2::AngularDamping()` | オブジェクトの角度減衰を取得する|| -| `Object.Physics2::AngularVelocity()` | オブジェクトの角速度を取得する|| -| `Object.Physics2::Density()` | オブジェクトの密度を取得する|| -| `Object.Physics2::DistanceJointDampingRatio(number)` | 距離ジョイントの減衰率 || -|| _number_ | ジョイント ID | -| `Object.Physics2::DistanceJointFrequency(number)` | 距離ジョイントのバネの硬さ || -|| _number_ | ジョイント ID | -| `Object.Physics2::DistanceJointLength(number)` | 距離ジョイントの長さ || -|| _number_ | ジョイント ID | -| `Object.Physics2::Friction()` | オブジェクトの摩擦を取得する|| -| `Object.Physics2::FrictionJointMaxForce(number)` | 摩擦ジョイントの最大出力 || -|| _number_ | ジョイント ID | -| `Object.Physics2::FrictionJointMaxTorque(number)` | 摩擦ジョイントの最大トルク || -|| _number_ | ジョイント ID | -| `Object.Physics2::GearJointFirstJoint(number)` | 歯車ジョイントの最初のジョイント || -|| _number_ | ジョイント ID | -| `Object.Physics2::GearJointRatio(number)` | 歯車ジョイントの比率 || -|| _number_ | ジョイント ID | -| `Object.Physics2::GearJointSecondJoint(number)` | 歯車ジョイントの 2 番目のジョイント || -|| _number_ | ジョイント ID | -| `Object.Physics2::GravityScale()` | オブジェクトの重力スケールを取得する|| -| `Object.Physics2::GravityX()` | X 軸上のワールド重力 || -| `Object.Physics2::GravityY()` | Y 軸上のワールド重力 || -| `Object.Physics2::JointFirstAnchorX(number)` | ジョイントの最初のアンカーの X 位置 || -|| _number_ | ジョイント ID | -| `Object.Physics2::JointFirstAnchorY(number)` | ジョイントの最初のアンカーの Y 位置 || -|| _number_ | ジョイント ID | -| `Object.Physics2::JointReactionForce(number)` | ジョイントの反動力 || -|| _number_ | ジョイント ID | -| `Object.Physics2::JointReactionTorque(number)` | ジョイントの反動トルク || -|| _number_ | ジョイント ID | -| `Object.Physics2::JointSecondAnchorX(number)` | ジョイントの 2 番目のアンカーの X 位置 || -|| _number_ | ジョイント ID | -| `Object.Physics2::JointSecondAnchorY(number)` | ジョイントの 2 番目のアンカーの Y 位置 || -|| _number_ | ジョイント ID | -| `Object.Physics2::LinearDamping()` | オブジェクトの線形減衰を取得する|| -| `Object.Physics2::LinearVelocity()` | オブジェクトの線速度を取得する|| -| `Object.Physics2::LinearVelocityX()` | オブジェクトの X 軸上の線速度を取得する|| -| `Object.Physics2::LinearVelocityY()` | オブジェクトの Y 軸上の線速度を取得する|| -| `Object.Physics2::MassCenterX()` | 質量中心の X 位置 || -| `Object.Physics2::MassCenterY()` | 質量中心の Y 位置 || -| `Object.Physics2::MotorJointAngularOffset(number)` | モータージョイントの角度オフセット || -|| _number_ | ジョイント ID | -| `Object.Physics2::MotorJointCorrectionFactor(number)` | モータージョイントの補正係数 || -|| _number_ | ジョイント ID | -| `Object.Physics2::MotorJointMaxForce(number)` | モータージョイントの最大出力 || -|| _number_ | ジョイント ID | -| `Object.Physics2::MotorJointMaxTorque(number)` | モータージョイントの最大トルク || -|| _number_ | ジョイント ID | -| `Object.Physics2::MotorJointOffsetX(number)` | モータージョイントのオフセット X || -|| _number_ | ジョイント ID | -| `Object.Physics2::MotorJointOffsetY(number)` | モータージョイントのオフセット Y || -|| _number_ | ジョイント ID | -| `Object.Physics2::MouseJointDampingRatio(number)` | マウスジョイントの減衰率 || -|| _number_ | ジョイント ID | -| `Object.Physics2::MouseJointFrequency(number)` | マウスジョイントのバネの硬さ || -|| _number_ | ジョイント ID | -| `Object.Physics2::MouseJointMaxForce(number)` | マウスジョイントの最大出力 || -|| _number_ | ジョイント ID | -| `Object.Physics2::MouseJointTargetX(number)` | マウスジョイント目標の X 位置 || -|| _number_ | ジョイント ID | -| `Object.Physics2::MouseJointTargetY(number)` | マウスジョイント目標の Y 位置 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PrismaticJointAxisAngle(number)` | 直動ジョイントの軸角度 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PrismaticJointMaxMotorForce(number)` | 直動ジョイントの最大モーター出力 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PrismaticJointMaxTranslation(number)` | 直動ジョイントの最大移動量 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PrismaticJointMinTranslation(number)` | 直動ジョイントの最小移動量 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PrismaticJointMotorForce(number)` | 直動ジョイントのモーター出力 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PrismaticJointMotorSpeed(number)` | 直動ジョイントのモーター速度 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PrismaticJointReferenceAngle(number)` | 直動ジョイントの基準角度 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PrismaticJointSpeed(number)` | 直動ジョイントの速度 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PrismaticJointTranslation(number)` | 直動ジョイントの現在移動量 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PulleyJointFirstGroundAnchorX(number)` | 滑車ジョイントの最初の接地アンカーの X 位置 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PulleyJointFirstGroundAnchorY(number)` | 滑車ジョイントの最初の接地アンカーの Y 位置 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PulleyJointFirstLength(number)` | 滑車ジョイントの最初の長さ || -|| _number_ | ジョイント ID | -| `Object.Physics2::PulleyJointRatio(number)` | 滑車ジョイントの比率 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PulleyJointSecondGroundAnchorX(number)` | 滑車ジョイントの 2 番目の接地アンカーの X 位置 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PulleyJointSecondGroundAnchorY(number)` | 滑車ジョイントの 2 番目の接地アンカーの Y 位置 || -|| _number_ | ジョイント ID | -| `Object.Physics2::PulleyJointSecondLength(number)` | 滑車ジョイントの 2 番目の長さ || -|| _number_ | ジョイント ID | -| `Object.Physics2::Restitution()` | オブジェクトの反発を取得する|| -| `Object.Physics2::RevoluteJointAngle(number)` | 回転ジョイントの現在角度 || -|| _number_ | ジョイント ID | -| `Object.Physics2::RevoluteJointMaxAngle(number)` | 回転ジョイントの最大角度 || -|| _number_ | ジョイント ID | -| `Object.Physics2::RevoluteJointMaxMotorTorque(number)` | 回転ジョイントの最大モータートルク || -|| _number_ | ジョイント ID | -| `Object.Physics2::RevoluteJointMinAngle(number)` | 回転ジョイントの最小角度 || -|| _number_ | ジョイント ID | -| `Object.Physics2::RevoluteJointMotorSpeed(number)` | 回転ジョイントのモーター速度 || -|| _number_ | ジョイント ID | -| `Object.Physics2::RevoluteJointMotorTorque(number)` | 回転ジョイントのモータートルク || -|| _number_ | ジョイント ID | -| `Object.Physics2::RevoluteJointReferenceAngle(number)` | 回転ジョイントの基準角度 || -|| _number_ | ジョイント ID | -| `Object.Physics2::RevoluteJointSpeed(number)` | 回転ジョイントの角速度 || -|| _number_ | ジョイント ID | -| `Object.Physics2::RopeJointMaxLength(number)` | ロープジョイントの最大長 || -|| _number_ | ジョイント ID | -| `Object.Physics2::TimeScale()` | ワールドタイムスケール || -| `Object.Physics2::WeldJointDampingRatio(number)` | 溶接ジョイントの減衰率 || -|| _number_ | ジョイント ID | -| `Object.Physics2::WeldJointFrequency(number)` | 溶接ジョイントのバネの硬さ || -|| _number_ | ジョイント ID | -| `Object.Physics2::WeldJointReferenceAngle(number)` | 溶接ジョイントの基準角度 || -|| _number_ | ジョイント ID | -| `Object.Physics2::WheelJointAxisAngle(number)` | 車輪ジョイントの軸角度 || -|| _number_ | ジョイント ID | -| `Object.Physics2::WheelJointDampingRatio(number)` | 車輪ジョイントの減衰率 || -|| _number_ | ジョイント ID | -| `Object.Physics2::WheelJointFrequency(number)` | 車輪ジョイントのバネの硬さ || -|| _number_ | ジョイント ID | -| `Object.Physics2::WheelJointMaxMotorTorque(number)` | 車輪ジョイントの最大モータートルク || -|| _number_ | ジョイント ID | -| `Object.Physics2::WheelJointMotorSpeed(number)` | 車輪ジョイントのモーター速度 || -|| _number_ | ジョイント ID | -| `Object.Physics2::WheelJointMotorTorque(number)` | 車輪ジョイントのモータートルク || -|| _number_ | ジョイント ID | -| `Object.Physics2::WheelJointSpeed(number)` | 車輪ジョイントの速度 || -|| _number_ | ジョイント ID | -| `Object.Physics2::WheelJointTranslation(number)` | 車輪ジョイントの現在移動量 || -|| _number_ | ジョイント ID | - ---- - - - -## タイルマップ - -Tiled エディター(https://www.mapeditor.org/ から別途ダウンロード)製のタイルベースのマップを表示します。[くわしい説明を読む](/ja/gdevelop5/objects/tilemap) - -| 式 | 説明 || -|----|-----|----| -| `Object.AnimationFps()` | アニメーション速度(フレーム数/秒)を取得する || -| `Object.AnimationSpeedScale()` | アニメーション速度スケールを取得する || -| `Object.LayerIndex()` | 表示中のレイヤーインデックスを取得する || - ---- - - - -## Tween(Tween 拡張機能より) - -オブジェクトの位置や角度、スケール、その他のプロパティをスムーズにアニメーションさせます。[くわしい説明を読む](/ja/gdevelop5/behaviors/tween) - -| 式 | 説明 || -|----|-----|----| -| `Object.Tween::Progress(string)` | Tween の進捗度(0.0~1.0) || -|| _string_ | Tween 識別子 | - ---- - - - -## 動画 - -動画を表示します。[くわしい説明を読む](/ja/gdevelop5/objects/video) - -| 式 | 説明 || -|----|-----|----| -| `Object.CurrentTime()` | 動画オブジェクトの現在位置を返す(秒)|| -| `Object.Duration()` | 動画オブジェクトの長さを返す(秒)|| -| `Object.Opacity()` | 動画オブジェクトの不透明度を返す || -| `Object.PlaybackSpeed()` | 動画オブジェクトの再生速度を返す || -| `Object.Volume()` | 0(ミュート)から100(最大)のあいだで、動画の音量を取得する|| \ No newline at end of file diff --git a/docs/ja/gdevelop5/all-features/expressions.md b/docs/ja/gdevelop5/all-features/expressions.md deleted file mode 100644 index f736d486c4a..00000000000 --- a/docs/ja/gdevelop5/all-features/expressions.md +++ /dev/null @@ -1,166 +0,0 @@ ---- -title: 式 ---- -# 式 - -[イベント](/ja/gdevelop5/events)に条件やアクションを追加するとき、フィールドによっては次のアイコンが隣に表示されているものがあります。 - -![](/gdevelop5/all-features/number_expression.png) - -![](/gdevelop5/all-features/text_expression.png) - -これらのアイコンは、そのフィールドに_式_を入力できることを示します。 - -式には複数の種類があります。 - -- [数値](/#数値) -- [テキスト](/#テキスト) -- [関数](/#関数) - -!!! note - - 関数を使って数値をテキストに、あるいはテキストを数値に変換できます。 - -!!! tip - - GDevelop が標準で提供する関数式の一覧は[expressions reference](/gdevelop5/all-features/expressions-reference)で確認できます。 - -## 数値 - -次のアイコンが隣に表示されているフィールドには、_数値_式を入力できます。 - -![](/gdevelop5/all-features/number_expression.png) - -数値式は、数値を表します。 - -数値式の例を以下に示します。 - -- `0` -- `-10` -- `25.5` - -数学記号を使った加減乗除も可能です。 - -- `2+2` -- `3-1` -- `10*10` -- `99/3` - -演算子の一覧は下記の通りです。 - -- `+`(加算) -- `-`(減算) -- `*`(乗算) -- `/`(除算) - -!!! tip - - ひとつの式の中で複数の演算子を使えます。 - -## テキスト - -次のアイコンが隣に表示されているフィールドには、_テキスト_式を入力できます。 - -![](/gdevelop5/all-features/text_expression.png) - -テキスト式はテキストの文字列を表します。 - -テキスト式の例を以下に示します。 - - -- `"これはテキスト式です"` -- `"GDevelop 最高!"` - -すべてのテキスト式は二重引用符でくくる必要があります。二重引用符を忘れると、GDevelop は値を関数とみなして処理しようとするので、ほとんどの場合エラーになるでしょう。 - -複数のテキストを連結するときは `+` 演算子を使います。たとえば `"Hello" + "World"` は `"HelloWorld"` になります。これ以外の演算子は、テキストに使えません。 - -## 関数 - -算術演算子だけでは対応できないような複雑な値を計算する必要が、ゲームではよくあります。たとえばイベントがプレイヤーの位置に影響するため、プレイヤーの X 座標と Y 座標を動的に計算しなければならないというような状況です。 - -ここで_関数_が登場します。 - -関数を使うと、ゲームの最中に複雑な値を動的に計算することができます。たとえば `X` 関数と `Y` 関数は、[オブジェクト](/gdevelop5/objects)の座標を計算します。 - -``` -オブジェクト名.X() -オブジェクト名.Y() -``` - -関数の使用は、関数*呼び出し*としてもよく知られています。 - -!!! tip - - 表計算ソフトの数式やプログラミング言語の関数、数学の関数になじみがある場合は、GDevelop の関数も同じようなものと思ってかまいません。 - -### 構文 - -関数には 3 つの種類があります。 - -- オブジェクトに伴わない関数 -- オブジェクトに伴う関数 -- オブジェクトとビヘイビアに伴う関数 - -それぞれ構文が(少し)違います。 - -#### オブジェクトに伴わない関数 - -関数によってはオブジェクトや[ビヘイビア](/ja/gdevelop5/behaviors)と無関係に存在するものがあります。この関数の呼び出しにはオブジェクトもビヘイビアも必要ありません。 - -以下に例を示します。 - -- `CurrentSceneName()` - 現在のシーンの名前を取得します。 -- `FileSystem::DesktopPath()` - 「デスクトップ」ディレクトリのパスを取得します。 -- `ToNumber()` - 文字列を数値に変換します。 - -!!! note - - GDevelop は `::` 構文を関数の*名前空間*に使います。たとえばファイルシステムに関連する関数はすべて、`FileSystem::` が前につきます。これは関連性のある関数同士をまとめる役に立っています。`::` 構文は関数の動作には特に影響しません。 - -#### オブジェクトに伴う関数 - -関数にはオブジェクト経由で呼び出されるものがあります。これはつまり、関数が特定のオブジェクトのデータに影響を与えるか、そのデータを使って処理をしているということです。 - -以下に例を示します。 - -- `.Angle()` - オブジェクトの角度(度単位)を取得します。 -- `.Layer()` - オブジェクトが配置されているレイヤーの名前を取得します。 -- `.ObjectName()` - オブジェクトの名前を取得します。 - -#### オブジェクトとビヘイビアに伴う関数 - -関数にはオブジェクトのビヘイビア経由で呼び出されるものがあります。これはつまり、その関数があるオブジェクトに添付された特定のビヘイビアのデータを読み書きするということです。 - -以下に例を示します。 - -* `.Pathfinding::Speed()` -* `.Physics2::Friction()` -* `.PlatformerObject::Gravity()` - -### 引数 - -関数には_引数_(argument)を受け取るものがあります。(訳注:GDevelop ではふつうパラメーターと呼ばれますが、同じ意味です)引数は次のような値のことです。 - -- 関数に渡すことができる -- 関数の戻り値に影響を与える - -たとえば `ToString` 関数は数値を文字列に変換しますが、外部から数値を渡さないと意味がありません。ここで渡す数値が引数です。次の例では数値 `42` が引数です。 - -``` -ToNumber(42) -``` - -`MouseX` 関数のように、複数の引数を受け取るものもあります。 - -``` -MouseX(layer, camera) -``` - -関数が複数の引数を受け取る場合は、引数のあいだをカンマで区切り、決められた順番で渡す必要があります。 - -### 戻り値 - -関数が計算した結果の値のことを_戻り値_と呼び、関数の呼び出し元に値を返却することを戻り値_を返す_といいます。これは関数の出力部に相当します。たとえばオブジェクトの X 座標が `42` であれば、`ObjectName.X()` 関数は `42` を返します。 - -関数は数値か文字列を返すことができます。戻り値の型は関数がどのフィールドで使えるかに影響します。たとえば `ToString` 関数は文字列を返すため数値用のフィールドには使えませんし、`ToNumber` 関数は数値を返すので文字列用のフィールドには使えません。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/all-features/gamepad.md b/docs/ja/gdevelop5/all-features/gamepad.md deleted file mode 100644 index 8f5efb9fe98..00000000000 --- a/docs/ja/gdevelop5/all-features/gamepad.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: ゲームパッド ---- -# ゲームパッド - -ゲームをプレイするときに、ゲームパッド、ジョイスティック、ゲームコントローラーを使えます。**XBox**、**Playstation**、**汎用** コントローラーに対応しています。 - -この機能は**ゲームパッド拡張機能**をプロジェクトに追加すると有効になります。その後、条件か式の中でゲームパッドが接続されているかどうかやボタンを押したか、ボタンを放したか、スティックを押したかなどをテストできます。 - -!!! tip - - **やってみよう!** 🎮 - [このサンプルをオンライン](https://editor.gdevelop.io/?project=example://multiplayer-platformer-with-gamepads)で開きます。 - -## ゲームパッド拡張機能をインストールする - -まずプロジェクトマネージャーの[新しい拡張機能を検索]を選びます。 -![](/gdevelop5/all-features/gamepad/pasted/20201204-123420.png) - -キーワード「Gamepad」で検索し、ヒットした **Gamepad (controllers)** 拡張機能を選んで[プロジェクトにインストール]をクリックします。 -![](/gdevelop5/all-features/gamepad/pasted/20201204-123451.png) - -これでゲームパッドの条件を使えるようになりました。[その他の条件]リストに「Gamepad (controllers)」カテゴリーが追加されているはずです。 - -![](/gdevelop5/all-features/gamepad/pasted/20201204-123605.png) - -## 接続中のゲームパッドを検出する - -コンピューターや携帯端末に接続したゲームパッドには、1 から 4 までの番号が割り振られます。 - -* シングルプレイヤー向けのゲームであれば、通常は常にゲームパッド 1 を条件に使います。 -* マルチプレイヤー向けのゲームであれば、*Gamepad connected* 条件を使ってどのゲームパッドが接続されているかを調べるといいでしょう。それからプレイヤーの選んだゲームパッドの番号を変数に保存しておきます。あるいは最初のプレイヤーにはゲームパッド 1 を、他のプレイヤーにはゲームパッド 2 を固定で割り当てることもできます。 - -## どのボタンを押したか調べる - -押されているボタンを検出するには、*Gamepad button pressed*(または *released*)条件を使います。 -この条件を使うときは、表示される説明を読んで、対応しているボタン名を確認してください。 - -### いろいろな種類のコントローラーに対応する - -Playstation と Xbox のコントローラーはボタン名が違います。 - -両方のコントローラーに(さらにそれ以外にも)対応するのは簡単です。**または**(OR)条件を使って、その内部にそれぞれのコントローラーに対応する個別条件を追加するだけです。 - -![](/gdevelop5/multiple_controller_gamepads_extension.png) - -## スティックに対応する - -スティックはいろいろな方向に押すことができて、一般にプレイヤーキャラクターを動かすために使われます。[式](/ja/gdevelop5/all-features/expressions) `Gamepads::AxisValue` を使うと、スティックが「どのていど」押し込まれているかをあらわす数値を取得できます。 - -その数値をオブジェクトに与えるフォースに設定したり、ゲームプレイに変化をもたらすものなら何にでも応用できます。 - -![](/gdevelop5/all-features/gamepad/pasted/20201204-124545.png) - -## ゲームパッドを振動させる - -*Gamepad vibration* アクションを使ってゲームパッドを振動させられます。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/all-features/index.md b/docs/ja/gdevelop5/all-features/index.md deleted file mode 100644 index eb50b0aa20c..00000000000 --- a/docs/ja/gdevelop5/all-features/index.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: その他の機能 ---- -# その他の機能 - -GDevelopの一部の機能は、オブジェクトやビヘイビアによっては提供されません。代わりに、アクション、条件、または式から直接使用できます。これらは、ゲームエンジンまたは [拡張機能](/gdevelop5/extensions/search)のいずれかで構築され、シーンにオブジェクトとして設定する必要はありません。 - -例えばオーディオエンジン、タイマー、またはストレージのサポートなどの場合です。GDevelopで、これらの機能に関するヘルプを入手するには、次の一覧を参照してください。 - -* [Admob](/gdevelop5/all-features/admob) -* [高度な条件](/gdevelop5/all-features/advanced-conditions) -* [オーディオ](/gdevelop5/all-features/audio) -* [衝突](/gdevelop5/all-features/collisions) -* [センサーデバイス](/gdevelop5/all-features/device-sensors) -* [振動デバイス](/gdevelop5/all-features/device-vibration) -* [計算式](/gdevelop5/all-features/expressions) -* [ファイルシステム](/gdevelop5/all-features/filesystem) -* [装備一覧](/gdevelop5/all-features/inventory) -* [キーボード](/gdevelop5/all-features/keyboard) -* [リンクされたオブジェクト](/gdevelop5/all-features/linked-objects) -* [マウスとタッチパネル](/gdevelop5/all-features/mouse-touch) -* [ネットワーク](/gdevelop5/all-features/network) -* [スクリーンショット](/gdevelop5/all-features/screenshot) -* [Shopify](/gdevelop5/all-features/shopify) -* [ストレージ](/gdevelop5/all-features/storage) -* [タイマー](/gdevelop5/all-features/timers) -* [変数](/gdevelop5/all-features/variables) - -他にも高度な機能があります。 - -* [高度なテーマの作成](/gdevelop5/all-features/themes) -* [関数一覧](/gdevelop5/all-features/functions) - -[コミュニティ拡張機能で新しい機能を検索](/gdevelop5/extensions/search)したり、[独自の機能セット(動作、アクション、条件、または式)](/gdevelop5/extensions/create)を作成したりする こともできます。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/all-features/keyboard.md b/docs/ja/gdevelop5/all-features/keyboard.md deleted file mode 100644 index 819dcac0d87..00000000000 --- a/docs/ja/gdevelop5/all-features/keyboard.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: キーボード ---- -# キーボード - -GDevelop はすべてのキーボード入力に対応しています。特定のキーを押しているか放したかを調べる条件も利用できます。 - -## 何かのキーを押している - -この条件は、何かのキーを押している場合に、対応するアクションを実行します。 - -## キーを押している - -この条件は、指定したキーを押している場合に、対応するアクションを実行します。 - -## キーを放した - -この条件は、指定したキーを放した直後に一度だけ、対応するアクションを実行します。 - -## キーを押している(テキスト式) - -キー名をテキスト式の形式で指定したキーを押しているかどうかをテストします。たとえば左矢印キーを押しているかどうかを調べたい場合は、"Left" と入力します。 - -!!! danger - - キー名は忘れずに二重引用符でくくってください。 - -![](/gdevelop5/all-features/annotation_2019-06-20_191229.png) - -## キーを放した(テキスト式) - -キー名をテキスト式の形式で指定したキーを放した直後かどうかをテストします。たとえば左矢印キーを放した直後かどうかを調べたい場合は、"Left" と入力します。 - -![](/gdevelop5/all-features/annotation_2019-06-20_191302.png) - -## 最後に押されたキー - -式「最後に押されたキー」は、最後に押されたキーを文字列形式で返します。たとえば最後に押されたキーが左矢印キーだった場合は、"Left" を返します。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/all-features/mouse-touch.md b/docs/ja/gdevelop5/all-features/mouse-touch.md deleted file mode 100644 index bdc41ad312a..00000000000 --- a/docs/ja/gdevelop5/all-features/mouse-touch.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: マウスとタッチイベントの処理 ---- -# マウスとタッチイベントの処理 - -GDevelop はタッチとマウス入力に標準で対応しています。 - -## 一番簡単な方法:「カーソル/タッチはオブジェクト上にある」条件を使う - -「**カーソル/タッチはオブジェクト上にある**」条件を使うと、マウスカーソルまたはスクリーンタッチが指定したオブジェクトの上にあるかどうかをチェックできます。 - -カーソル/タッチがオブジェクト上にあった場合は、イベント内の次の条件やアクションのために対象オブジェクトが選択されます。 - -「**カーソル/タッチはオブジェクト上にある**」条件は、「マウスボタンを押しているかタッチしている」や「マウスボタンを放した直後」条件と一緒に使うことができます。タッチはデフォルトで左クリックを再現します。このデフォルト設定で、ユーザーがボタンやオブジェクトをタッチした場合とマウスで左クリックした場合の両方を検出できます。 - -![](/gdevelop5/all-features/touch-left-click.png) - -また `MouseX` や `MouseY` のような式を使って、そのシーンのカーソルの位置を取得できます。 - -![](/gdevelop5/all-features/mousex-mousey.png) - -## より複雑な方法:マウスやタッチの位置を条件でチェックする - -タッチとカーソルのイベントを区別したい場合は、「タッチでのマウスカーソル移動を有効化/無効化する」アクションで「いいえ」を指定して無効化します。これを実行すると、タッチはマウスの左クリックを再現しなくなります。この状態で「マウスボタンを押しているかタッチしている」条件を使用しても、タッチを検出しません。 - -タッチとカーソルのイベントを分離した状態でも、依然として式 `MouseX` と `MouseY` でマウスカーソルの位置を取得できます。ただしこの式にはもはやタッチの位置が反映されないため、タッチの位置は別の式で取得する必要があります(`TouchX` と `TouchY`)。 - -マルチタッチも扱えます。タッチ識別子を変数に格納しておき、タッチの位置を返す式か条件にそれを渡します。くわしくは次の例を参照してください。 - -![](/gdevelop5/all-features/mulititoucheventexample.png) - -!!! tip - - **やってみよう!** 🎮 - - Open this example online: https://editor.gdevelop.io?project=example://multitouch \ No newline at end of file diff --git a/docs/ja/gdevelop5/all-features/screenshot.md b/docs/ja/gdevelop5/all-features/screenshot.md deleted file mode 100644 index 396195e4669..00000000000 --- a/docs/ja/gdevelop5/all-features/screenshot.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: スクリーンショット拡張機能 ---- -# スクリーンショット拡張機能 - -この拡張機能は実行中のゲームのスクリーンショットを指定したフォルダー内に保存します。 - -注:GDevelop 5.0.0-beta92 からスクリーンショットアクションは拡張機能ではなく標準機能になりました。単にアクションで「スクリーンショット」を検索するか、[その他のアクション]-[スクリーンショット]-[スクリーンショットを撮る]を選択してください。 - -### アクション - -#### スクリーンショットを撮る - -現在のゲームウィンドウ全体のスクリーンショットを *png* 形式のファイルとして保存します。 - -##### パラメーター: - -**保存するファイルのパス**:スクリーンショットを保存するファイルのパス。 - -ファイルシステム上の絶対パスを指定します(Windows の場合は "C:\MyFolder\MyScreenshot.png" のような文字列)。 - -相対パスには対応していません。 - -!!! note - - 対応するすべてのプラットフォームで動作するゲームを作るためには、特殊フォルダーとパス区切り文字をファイルシステム拡張機能から取得して、組み合わせる必要があります。*ピクチャ*、*ドキュメント*、*デスクトップ*といった一般的に使用される特殊フォルダーのパスは、この方法で実行時に確定します。くわしくは[こちらの記事](/gdevelop5/all-features/filesystem)を参照してください。 - -## 例 - -保存するファイルのパスを作成する式の例です。 - -``` () + () + "my_screenshot.png" ``` - -パラメーターに上記を指定すると、スクリーンショットは Windows、Linux、macOS の*ピクチャ*フォルダーに保存されます。 diff --git a/docs/ja/gdevelop5/all-features/storage.md b/docs/ja/gdevelop5/all-features/storage.md deleted file mode 100644 index c3b0b9a8a89..00000000000 --- a/docs/ja/gdevelop5/all-features/storage.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: ストレージ ---- -# ストレージ - -ゲームには、データの保存が付きものです。プレイヤーの進捗状況なんかが、そうですね。くわしい説明と事例については、[こちらのガイド](/gdevelop5/tutorials/storage-action-explained)を参照してください。 - -!!! note - - ストレージアクションは、すべてのデータを**内部ストレージ**に格納します(ゲーム終了後も保存されます)。ファイルを読み書きしたい場合は、[ファイルシステムに関するページ](/gdevelop5/all-features/filesystem)を読んでください(Windows、macOS、Linux 限定)。 - -## プレビュー中にストレージをクリアする - -データはプレビューウィンドウの内部ストレージに永続的に格納されます。プレビューのあいだはもちろんのこと、GDevelop が終了した後も存続します(エクスポートしたゲームと同じです)。 - -ゲームのプレビュー目的によっては、データをリセットしたい場合もあるでしょう。初回の起動状態を確認したい場合などが、そうです。その場合は、次の手順でストレージをクリアーします。 - - - プレビューウィンドウ上部のメニューバーから**表示** -> **デベロッパーツールの表示切替**を選択します。 - - デベロッパーツールはふつうコンソールタブが選択された状態で開き、何かのメッセージが表示されています。 - - **アプリケーション**タブをクリックします。プレビューウィンドウのサイズによっては、タブが表示されていないかもしれません。その場合はプレビューウィンドウの幅を広げていくと、上部にアプリケーションタブが出現します。 - - アプリケーションタブを選択したあとに表示される左側のサイドバーの **Storage** -> **Local Storage** -> **file:** が格納データを管理する場所です。 - - 「file:」を左マウスボタンでクリックすると、ストレージに格納されたデータの詳細が表示されます。 - - データをクリアーするには、「file:」を右マウスボタンでクリックし「**Clear**」を選びます。 - -これでプレビューウィンドウを閉じます。次にプレビューウィンドウを開きなおしたときには、データが消えた状態で開きます。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/all-features/themes.md b/docs/ja/gdevelop5/all-features/themes.md deleted file mode 100644 index e78ee9e4623..00000000000 --- a/docs/ja/gdevelop5/all-features/themes.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: themes ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** -*(remove this paragraph once the translation is finished)* - -# Creating Themes in GDevelop - -Creating new and interesting themes in GDevelop requires some knowledge of CSS. Knowledge of Javascript and React coding is a definite advantage, but not necessarily a requirement. Creating a theme is a way to give back to the GDevelop community. It is also a way to learn more about the inner workings or GDevelop. Mostly though, it is fun, and allows you to exercise a different sort of creativity! - -### Some 'gotchas' when developing a new theme. - - If you are familiar with CSS, it is relatively simple to switch out theme colors. However, you will need to dig a lot deeper into the program's inner workings to change the colors of the icons and some of the text/string features. \When developing your theme, you will also need to keep in mind that the Events/Table Editor group comments background color of yellow cannot, as of this writing, be changed. That means that your color theme should be created to work well with a bold yellow background color (#E8DC59) in the Events/Table comments. The blues of the included icons should also be considered when designing your new theme. It is more difficult to change their colors but it can be accomplished with some additional coding. You can add a CSS filter to the toolbar icons in order to change their color to match your theme. Other icons changes will still have to be coded. - -![](/gdevelop5/all-features/yelloweventscomment.png) - -### Where to Start - -Modifying a theme means that you will be working with the source code of GDevelop. You will need to have a way to view and modify the source code. This can be done using a simple text editor, but a much easier and efficient way is to use an integrated development environment (IDE). An IDE is an application that provides a myriad of tools that help computer programmers in software development. The creator of GDevelop, Florian Rival, recommends Visual Studio Code. It is a free IDE that can be used on Linux, MacOS, and Windows. For the purpose of this document, I will use Visual Studio Code as the editor. There are many IDEs. Each one has its own strengths and weaknesses. Use the one that you understand and enjoy. - -I am not going to go into all of the details about setting up the development environment. It is well defined on GDevelop git-hub. You will need to be somewhat familiar with installing and using npm, yarn, brew, or similar tools from the command line/terminal. If you have never done this, there are many tutorials on the internet. It is a good learning experience on its own. - -## The Files - -After you have loaded GDevelop into your IDE, you will see numerous files. To find the current Themes included, go to "newIDE/src/UI/Theme/". There you will find the themes, that are included with GDevelop. At the time of this writing, you will see two themes: - -- DefaultTheme -- DarkTheme - -![](/gdevelop5/all-features/gdthemefileslocation.png) - -Next, decide whether your new theme will be light or dark. If it is light, copy the entire DefaultTheme and paste it into the Theme folder. Likewise, if you want to work with darker colors, copy the DarkTheme and paste it into the Theme folder. Depending on your IDE, you may need to use your file manager to duplicate the file outside of your IDE and then reload it. - -Rename the newly copied theme folder to your own theme's description. A short description is best. ie Sunrise, Sunset, etc. - -![](/gdevelop5/all-features/sunrisethemefolder.png) - -## Working with the new theme - -Now that you have your newly copied theme, you will see four files included in the theme's folder: ![](/gdevelop5/all-features/sunrisethemefiles.png) - -You can change the theme colors in each of these files. - -Notice also, that there is an index.js file that resides in the Theme folder but outside of the themes. You will also be using this file. - -![](/gdevelop5/all-features/index.js.png) - -### index.js is the place to start your theme. - -In order for the new theme to be recognized and displayed in GDevelop Preferences, you need to place some coding information into index.js. For this explanation, I will continue to use the name "Sunrise" for the new theme's name. Substitute your theme's name for "Sunrise". - -The code below demonstrates what the main index.js file should look like after adding the Sunrise theme: - -` //imports and exports the new Sunrise theme - import Sunrise from './Sunrise'; - import DarkTheme from './DarkTheme'; - import DefaultTheme from './DefaultTheme'; - -export const themes = { - 'GDevelop default': DefaultTheme, - Sunrise: Sunrise, - Dark: DarkTheme, -}; - -export const getTheme = themeName => - themes[themeName] || themes['GDevelop default']; - ` Now, when you run GDevelop, you will see your new theme referenced in "Preferences": ![](/gdevelop5/all-features/preferencessunrise.png) For additional information check out the link that is included in GDevelop: ![](/gdevelop5/all-features/gdpreferencesthemehelp.png) - -Read **[Part 2 of Creating Themes here](gdevelop5/all-features//2-themes.txt)**! diff --git a/docs/ja/gdevelop5/all-features/timers.md b/docs/ja/gdevelop5/all-features/timers.md deleted file mode 100644 index fafc4b59d34..00000000000 --- a/docs/ja/gdevelop5/all-features/timers.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: タイマー ---- -# タイマー - -### シーンタイマー - -条件とアクションを使うと**シーン**タイマーを起動できます。そしてタイマーが特定の時間になったらアクションを実行することができます。 -おそらく最もよく目にするイディオムは、条件でタイマーの経過時間を比較し、アクションでタイマーを 0 にリセットするという組み合わせでしょう。使う前には常にタイマーをリセットすることを推奨します。もし条件やアクションが存在しないタイマーを参照した場合、それは自動的にメモリー上に作成されます。 - -タイマーには自由に名前をつけられます。_タイマーの名前はテキスト/文字列式のため、二重引用符で括る必要があります。_ - -もう少し高度なタイマーの例を挙げましょう。タイマーを使ってプレイヤーをダメージから短時間守ります。無敵時間の長さは `player_undestroyable_time` 変数に設定されています。 - -![](/gdevelop5/all-features/timer-and-variable.png) - -!!! tip - - **やってみよう!** 🎮 - 次のサンプルをオンラインで実行してみましょう:https://editor.gdevelop.io?project=example://asteroids - -## オブジェクトタイマー - -シーンだけでなく、ゲームオブジェクトとそのインスタンスにもタイマーがあります。オブジェクトの各インスタンスごとに、専用のタイマーがメモリー上に保持されます。他のインスタンスとの共用ではない、独立した個別タイマーです。この機能を使うと、あるオブジェクトのインスタンスアクションを X 秒おきに実行するというようなことができます。 - -オブジェクトタイマーはシーンタイマーと同じ手順で設定します。[タイマーをスタート(またはリセット)]アクションでオブジェクトのインスタンスタイマーを初期化します。 - -![](/gdevelop5/all-features/start-object-timer.png) - -シーンタイマーと同様に、オブジェクトタイマーの名前もテキスト/文字列式になります。//二重引用符で括ってください。// -上図のアクションはスプライトオブジェクトの各インスタンスごとに "`color`" という名前のタイマーを作成し、それをスタートします。 - -今度はタイマーの値をチェックしてみましょう。 - -![](/gdevelop5/all-features/object-timers.png) - -上図の条件は "`color`" タイマーの経過時間がオブジェクト変数よりも大きいかどうかをチェックします(式を使ってオブジェクト変数の値を取得できます)。その結果、オブジェクト変数 "`color_time`" よりも経過時間の大きいタイマー値を持つすべてのスプライトインスタンスが選択されます。それからスプライトの色をランダムな色に変更し、オブジェクトタイマーをリセットします。 - -オブジェクト変数を使ってオブジェクトタイマーをチェックするのは便利です。たとえば敵のインスタンスが複数あり、それぞれオブジェクトタイマーを使って異なる間隔で銃を撃ってくるものとします。"`発砲間隔`" 変数とタイマー値を比較して、タイマーが大きければ発砲する仕組みです。ここで、ある敵が「銃パワーアップ」アイテムに接触したとしましょう。その敵の "`発砲間隔`" 変数の値を通常より小さく変更すると、それだけで前より短い間隔で攻撃してくるようになります。 - -!!! tip - - **やってみよう!** 🎮 - 次のサンプルをオンラインで実行してみましょう:https://editor.gdevelop.io?project=example://objects-timers - -![](/gdevelop5/all-features/fireratetimerexamplenew.png) - -## 高度な話題:変数でタイマーをシミュレートする - -シーンタイマーとオブジェクトタイマーは便利です。しかしときには、変数でタイマーをシミュレートする必要が発生するかもしれません。複雑なタスクの場合は、ありえます。この方法は、タイマーを使うよりも柔軟性があります。変数を使うと、値を増やすだけでなく、減らすこともできます。//もしシーンにあるオブジェクトの全インスタンスについて個別にタイマーを持たせたいなら、`TimeDelta` 式と一緒に変数を使うといいでしょう//。 - -![](/gdevelop5/all-features/increase-variable-timer.png) - -上のユースケースでは、1 秒あたり 1000 単位の速度を変数に加算しています。1 秒あたり 1000 単位ということは、この「タイマー」はミリ秒相当の分解能になります。 - -次の例では、変数(Damage Timer)と比較して 0.5 秒後であればアクションを実行し、そのあと「タイマー」をリセットしています。 - -![](/gdevelop5/all-features/reset-variable-timer.png) \ No newline at end of file diff --git a/docs/ja/gdevelop5/all-features/variables/global-variables.md b/docs/ja/gdevelop5/all-features/variables/global-variables.md deleted file mode 100644 index 76f59f1d783..00000000000 --- a/docs/ja/gdevelop5/all-features/variables/global-variables.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: グローバル変数 ---- -# グローバル変数 - -グローバル変数とは、次のような変数です。 - -- ゲームを実行しているあいだ、ずっとメモリー上に存在する -- ゲームのどのシーンからもアクセスできる - -プレイヤーのスコアのような、ゲーム全体を通して常にアクセスされるデータを格納するのに向いています。グローバル変数は、ゲームを終了したときにはじめてメモリーから削除されます。 - -## グローバル変数の作成 - -1. [project manager](/ja/gdevelop5/interface/project-manager)を開きます。 -2. **ゲーム設定**パネルを展開します。 -3. **グローバル変数**を選択します。 -4. **追加**をクリックします。 -5. 変数の名前を入力します。 -6. (オプションで)変数の既定値を入力します。 -7. **適用**を選択します。 - -!!! tip - - 変数の名前にはドット/ピリオド(.)とカンマ(,)を使えません。変数名には英数字のみを使うことをおすすめします。 - -## グローバル変数を式の中で使う - -グローバル変数は[式](/ja/gdevelop5/all-features/expressions)の中で使うことができます。構文は変数のデータ型によって異なります。以下に例を示しますが、山括弧でくくられたプレースホルダーは実際に使う値に読み替えてください。 - -### 数値 - -``` -GlobalVariable(<変数名>) -``` - -### テキスト - -``` -GlobalVariableString(<変数名>) -``` - -### 構造体 - -``` -GlobalVariable(<親変数>.<子変数>) -GlobalVariableString(<親変数>.<子変数>) -``` \ No newline at end of file diff --git a/docs/ja/gdevelop5/all-features/variables/index.md b/docs/ja/gdevelop5/all-features/variables/index.md deleted file mode 100644 index 9d2088939f9..00000000000 --- a/docs/ja/gdevelop5/all-features/variables/index.md +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: 変数 ---- -# 変数 - -GDevelop では、数値やテキストのようなデータを一時的に格納するために、_変数_を使うことができます。たとえばプレイヤーの名前、体力、スコアなどを変数に記憶しておけます。 - -!!! note - - セーブデータのような、一時的ではないデータを格納する方法については、[storage](/ja/gdevelop5/all-features/storage)を参照してください。 - -## データ型 - -変数は_データ型_というものを持ちます。変数のデータ型は、変数が保持するデータの種類を表したものです。 - -GDevelop の変数には、次のデータ型があります。 - -- 数値 -- テキスト -- 真偽値 -- 構造体 -- 配列 - -(訳注:直接値が格納される、数値、テキスト、真偽値の変数を「プリミティブ変数」といい、他のデータ型を格納できる構造体と配列を「コレクション変数」といいます) - -### 数値 -データ型が*数値*の変数には、`0` や `100`、`-10` といった数値を格納できます。このデータ型を持つ変数を使って、掛け算や割り算といった数学的な計算ができます。 - -### テキスト -データ型が*テキスト*の変数には、`こんにちは世界` といったテキストを格納できます。プログラミング言語では、このデータ型のことをよく_文字列_と呼んでいます。このドキュメントでも*テキスト*と言ったり*文字列*と言ったりすることがありますが、同じ意味です。 - -### 真偽値 -データ型が*真偽値*の変数には、最も単純な形式の情報が含まれています。 -真(true)または偽(false)のどちらかです。 -これは簡単に切り替えることができるので便利です。 - -#### 真偽値を追加する -レンチアイコン →「Primitive types」(プリミティブ型)→「真偽値に変換」をクリックすると、変数の型を真偽値に変換できます。 -![](/gdevelop5/tutorials/toggles1.png) - -#### 真偽値の変更 -真偽値の状態を変更する方法は2つあります。 - -**真偽値を変更します** -真偽値を真(true)または偽(false)に設定できます。 - -**真偽値を切り替えます** -状態を切り替えることができます。 -値が真(true)の場合、偽(false)に変更され、その逆も同様です。 - -#### 真偽値の確認 -**真偽値を比較します** -真偽値が真(true)か偽(false)かを確認できます。 -真偽値を別の値、テキストまたは真偽値と比較するには、**二つの文字列を比べる**を使用できます。 - -### 構造体 - -構造体変数には、複数の変数を格納することができます。 -たとえば、単純な構造では「Hello」という名前の変数と、「World」という名前の変数を格納できます。 -このデータ型を使用して、関連する変数をひとつの変数にまとめることができます。 -プログラミング言語では、このデータ型はオブジェクト、マップ、ハッシュ、または辞書と呼ばれることがよくあります。 - -### 配列 -配列変数は、プログラミング言語ではリストとも呼ばれ、変数のリストのようなものです。 -配列内の各変数には、配列内での位置を示す番号があります。番号は 0 から始まり、配列の長さに応じて大きくなります。 - -!!! danger - - 文字列を配列変数の番号として使用しないでください。その場合、0番目の変数が返されます。 - -#### 子変数へのアクセス - -コレクション変数が内部に保持する変数のことを_子変数_と呼びます。(訳注:「子要素」あるいは単に「要素」と呼ぶこともありますが、同じ意味です)子変数の値にアクセスするには、[式](/ja/gdevelop5/all-features/expressions)の中で次の構文を使います。山括弧内の値は、実際の変数名に置き換えてください。 - -``` -<親変数>.<子変数> -``` -このような構造になっているとします。 -![](/gdevelop5/all-features/variable_strucure_with_values.png) -値 "123" を得るには、次のような式を書きます。 -``` -GlobalVariable(players.player1.level1score) -``` -!!! tip - - 構造体の場合は、`<子変数>`は子変数の名前で、配列の場合は子変数の番号になります。配列の場合、番号として機能するのは数字のみであることに注意してください。 - -子変数が存在しない場合は、GDevelop がそれを自動的に作成します。 - -!!! note - - コレクション変数には、どんなデータ型の変数でも含むことができます。これによって、複雑な構成のデータを一つの変数に保持することが可能になります。ただしデータの管理が難しくなるので、慎重に使ってください。 - -#### 子変数への動的アクセス - -式を使うと、子変数に動的にアクセスできます。 - -たとえばプレイヤーのスコアを表す構造体 `PlayerScore` があって、レベルごとのスコアを子変数 `Level1`、`Level2`、`Level3` に格納している状態を想像してください。現在のレベル番号が `CurrentLevel` という変数に入っていて、そのレベルのプレイヤーのスコアを取得したいものとします。この場合は、次の構文でスコアにアクセスできます。 - -``` -PlayerScore[“Level”+ToString(Variable(CurrentLevel))] -``` - -## スコープ - -変数の_スコープ_は、下記の内容を定義します。 - -- 変数に対してどこからアクセスできるか -- 変数がどれくらいのあいだメモリー上に存在するか -- 変数の作成に必要な手順は何か - -GDevelop には次の 3 つの変数スコープが存在します。 - -- [グローバル](/ja/gdevelop5/all-features/variables/global-variables) -- [シーン](/ja/gdevelop5/all-features/variables/scene-variables) -- [オブジェクト](/ja/gdevelop5/all-features/variables/object-variables) - -各変数スコープの詳細については、リンク先のページを参照してください。 - -## 変数の名前付け - -変数の名前にはドット/ピリオド(.)とカンマ(,)は使えません。また文字で始まる必要があります。 -変数名には英数字のみ(a-z, A-Z, 0-9)を使うことをおすすめします。(訳注:仕様上は日本語を使っても問題ありません) - -## 宣言しないで変数を使う - -作成(宣言)しないで、いきなり変数を使うこともできます。 - -たとえばアクションや条件の中で存在しない変数を参照した場合、GDevelop はその変数を自動的に既定値で初期化します。既定値はデータ型に応じて次のように決まります。 - -* 数値変数は値 `0` で初期化される -* テキスト変数は値 `""`(空文字列)で初期化される - -事前に作成していない変数を使うことは可能ですが、変数は使う前に明示的に宣言して初期化することをお勧めします。それによって GDevelop が最適化したイベントを生成して、ゲームで使われる変数をきちんと管理することができるようになるからです。 - -## 変数のデバッグ - -ゲームを作っていると、変数の値が予期した値にならないせいで、バグが発生することがあります。もしゲームの何かがうまく動かなくて、その問題に変数が関係している可能性がある場合は、GDevelop のデバッガーが原因究明の役に立つでしょう。 - -詳細は[debugger](/ja/gdevelop5/interface/debugger)を参照してください。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/all-features/variables/object-variables.md b/docs/ja/gdevelop5/all-features/variables/object-variables.md deleted file mode 100644 index f966bec6d73..00000000000 --- a/docs/ja/gdevelop5/all-features/variables/object-variables.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: オブジェクト変数 ---- -# オブジェクト変数 - -オブジェクト変数とは、次のような変数です。 - -- オブジェクトの特定インスタンスが存在するあいだ、ずっとメモリー上に存在する -- オブジェクトの特定インスタンスからアクセスできる - -敵の体力値のような、オブジェクトの特定インスタンスと強く関連づいたデータを格納するのに向いています。オブジェクト変数は、シーンから関連インスタンスが削除されるとメモリーから削除されます。 - -!!! note - - 用語の_オブジェクト変数_、_インスタンス変数_、_オブジェクトのインスタンス変数_は、どれも同じ意味で使われます。 - -## オブジェクト変数の作成 - -1. [シーンエディター](/ja/gdevelop5/interface/scene-editor)を開きます。 -2. **オブジェクト**パネル上で目的のオブジェクトを右クリックします。 -3. **オブジェクト変数を編集**を選択します。 -4. **追加**をクリックします。 -5. 変数の名前を入力します。 -6. (オプションで)変数の既定値を入力します。 -7. **適用**を選択します。 - -!!! tip - - 変数の名前にはドット/ピリオド(.)とカンマ(,)を使えません。変数名には英数字のみを使うことをおすすめします。 - -## オブジェクト変数を式の中で使う - -オブジェクト変数は[式](/ja/gdevelop5/all-features/expressions)の中で使うことができます。構文は変数のデータ型によって異なります。以下に例を示しますが、山括弧でくくられたプレースホルダーは実際に使う値に読み替えてください。 - -### 数値 - -``` -<オブジェクト名>.Variable(<変数名>) -``` - -### テキスト - -``` -<オブジェクト名>.VariableString(<変数名>) -``` - -### 構造体 - -``` -<オブジェクト名>.Variable(<親変数>.<子変数>) -<オブジェクト名>.VariableString(<親変数>.<子変数>) -``` \ No newline at end of file diff --git a/docs/ja/gdevelop5/all-features/variables/scene-variables.md b/docs/ja/gdevelop5/all-features/variables/scene-variables.md deleted file mode 100644 index 0d2e6a6a729..00000000000 --- a/docs/ja/gdevelop5/all-features/variables/scene-variables.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: シーン変数 ---- -# シーン変数 - -シーン変数とは、次のような変数です。 - -- シーンがアクティブなあいだ、ずっとメモリー上に存在する -- 現在のシーンからだけアクセスできる - -そのシーンの敵機数のような、他のシーンと共有する必要のないデータを格納するのに向いています。シーン変数は、プレイヤーが別のシーンに移るとメモリーから削除されます。 - -## シーン変数の作成 - -1. [シーンエディター](/ja/gdevelop5/interface/scene-editor)を開きます。 -2. シーンを右クリックします。 -3. **シーンプロパティ**を選択します。 -4. **シーン変数を編集**を選択します。 -5. **追加**をクリックします。 -6. 変数の名前を入力します。 -7. (オプションで)変数の既定値を入力します。 -8. **適用**を選択します。 - -!!! tip - - 変数の名前にはドット/ピリオド(.)とカンマ(,)を使えません。変数名には英数字のみを使うことをおすすめします。 - -## シーン変数を式の中で使う - -シーン変数は[式](/ja/gdevelop5/all-features/expressions)の中で使うことができます。構文は変数のデータ型によって異なります。以下に例を示しますが、山括弧でくくられたプレースホルダーは実際に使う値に読み替えてください。 - -### 数値 - -``` -Variable(<変数名>) -``` - -### テキスト - -``` -VariableString(<変数名>) -``` - -### 構造体 - -``` -Variable(<親変数>.<子変数>) -VariableString(<親変数>.<子変数>) -``` \ No newline at end of file diff --git a/docs/ja/gdevelop5/behaviors/anchor.md b/docs/ja/gdevelop5/behaviors/anchor.md deleted file mode 100644 index e6c31d9c0c8..00000000000 --- a/docs/ja/gdevelop5/behaviors/anchor.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: アンカービヘイビア ---- -# アンカービヘイビア - -アンカービヘイビアはオブジェクトをウィンドウ境界(上下左右)に固定します。いったんアンカーすると、画面サイズを変更してもオブジェクトとウィンドウの端は一定の距離をキープします。これは常駐型の UI/HUD オブジェクトに最適です。 - -## オブジェクトを画面にアンカーする - -次の手順でオブジェクトにアンカーを追加します。 - - * オブジェクトパネル上で目的のオブジェクトを右クリックし(またはオブジェクトを新規作成し)、**オブジェクトを編集**を選択します。 - * **ビヘイビア**タブをクリックします。 - * **+** をクリックしてオブジェクトにビヘイビアを追加します。 - * **アンカー**を選択します。 - * 固定したい境界を選んで、**適用**をクリックします。 - - -![](/gdevelop5/behaviors/anchorbehavior.png) \ No newline at end of file diff --git a/docs/ja/gdevelop5/behaviors/destroyoutside.md b/docs/ja/gdevelop5/behaviors/destroyoutside.md deleted file mode 100644 index 18be9fee9ab..00000000000 --- a/docs/ja/gdevelop5/behaviors/destroyoutside.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: 画面外のビヘイビアを消去 ---- -# 画面外のビヘイビアを消去 - -**[画面外のビヘイビアを消去するサンプルをすぐに見たいですか?](#Examples) ** - -これは、最もシンプルでありながら便利な動作の1つです。それをオブジェクトに追加すると、このオブジェクトのインスタンスがゲームシーン/画面の境界から出るたびに、このインスタンスは破棄されます。 - -これは、ゲームの速度を低下させる可能性のあるごみオブジェクトでゲームがいっぱいにならないようにする簡単な方法です。 - -### オブジェクトにビヘイビアを追加 - -オブジェクトに動作を追加するには、最初に\[オブジェクト\]リストにあるオブジェクトを右クリックしてオブジェクトプロパティを開きます。ポップアップリストから\[オブジェクトの編集\]を選択します。次に、「ビヘイビア」タブを選択します。「ビヘイビアを追加」ボタンをクリックします。 - -![](/gdevelop5/behaviors/addbehavior.jpg) - -### 画面外に出たら消去 - -![](/gdevelop5/behaviors/destroy-outside-screen-behavior-inlist.png) - -リストから破棄ビヘイビアを選択すると、オブジェクトが画面外にあるときはいつでもオブジェクトが削除されます。このビヘイビアには変更するオプションがなく、オブジェクトのすべてのインスタンスに自動的に適用されます。 - -# 例 - -!!! note - - **やってみよう!** 🎮 - - サンプルをオンラインで実行できます - -**スクリーン外のビヘイビア** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://space-shooter){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/outsidescreenbehaviorspaceshooter.png)](https://editor.gdevelop.io/?project=example://space-shooter) - - -**画面/シーンの外の弾丸を消去する** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://shoot-bullets){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/outsidescreendestroybullets.png)](https://editor.gdevelop.io/?project=example://shoot-bullets) - - -**弾丸の説明** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://shooting-bullets-explanation){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/bulletshootingexplanationexample.png)](https://editor.gdevelop.io/?project=example://shooting-bullets-explanation) diff --git a/docs/ja/gdevelop5/behaviors/draggable.md b/docs/ja/gdevelop5/behaviors/draggable.md deleted file mode 100644 index 676493cb273..00000000000 --- a/docs/ja/gdevelop5/behaviors/draggable.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: ドラッグ対応オブジェクトビヘイビア ---- -# ドラッグ対応オブジェクトビヘイビア - -!!! tip - - **やってみよう!** 🎮 - [説明はいいから、とにかくドラッグ対応ビヘイビアが動くところを見たい? わかりました、こちらを先にどうぞ。](/#サンプル) - - -ドラッグ対応オブジェクトビヘイビアは、オブジェクトをマウスでドラッグしたり、タッチスクリーンであればタッチでドラッグできるようにします。 - -## ドラッグ対応ビヘイビアをオブジェクトに追加する - -ドラッグ対応ビヘイビアをオブジェクトに追加するには、新しくオブジェクトを作成するか、またはオブジェクトリストから既存オブジェクトのプロパティを開きます。ポップアップメニューから[オブジェクトを編集]を選択します。次に[ビヘイビア]を選択し、ビヘイビア追加ボタンをクリックします。 - -![](/gdevelop5/behaviors/addbehavior.jpg) - -リストからビヘイビアを選択します。 - -![](/gdevelop5/behaviors/draggable-object-behavior-inlist.png) - -## プロパティとイベント - -このビヘイビアには、特に設定はありません。ビヘイビアを追加したオブジェクトには自動的に機能が適用されます。 -イベントを使うと、特定のオブジェクトのビヘイビアを無効化したり再有効化したりできます。これによってプレイヤーが移動できるオブジェクトや時間帯を制限できます。 - -イベントを使うと、オブジェクトがドラッグ操作中かどうかを調べることもできます。 - -![](/gdevelop5/behaviors/eventcondtiondraggableobject.png) - - -# サンプル - -!!! tip - - **やってみよう!** 🎮 - オンラインで下記のサンプルを実行できます。 - -**グリッドに吸着** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://snap-object-to-grid){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/snaptogrid.png)](https://editor.gdevelop.io/?project=example://snap-object-to-grid) - - - -**弾丸を放物線上に発射**(放物線は U 字型の鏡面対称になる平面曲線です。基本的に、発射されたオブジェクトは目標に向かって曲線状の軌跡を描きます) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://shoot-bullet-in-parabola){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/shootbulletparabolapattern.png)](https://editor.gdevelop.io/?project=example://shoot-bullet-in-parabola) - - - -**セーブとロード** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://save-load){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/saveandloadexample.png)](https://editor.gdevelop.io/?project=example://save-load) - - - -**経路探索の基本** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://pathfinding-basics){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/pathfindingbasics.png)](https://editor.gdevelop.io/?project=example://pathfinding-basics) \ No newline at end of file diff --git a/docs/ja/gdevelop5/behaviors/events-based-behaviors.md b/docs/ja/gdevelop5/behaviors/events-based-behaviors.md deleted file mode 100644 index 09562c211cd..00000000000 --- a/docs/ja/gdevelop5/behaviors/events-based-behaviors.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -title: カスタムビヘイビア:イベントで独自のビヘイビアを作成する ---- -# カスタムビヘイビア:イベントで独自のビヘイビアを作成する - -ビヘイビアは、何かの定義済み機能を手早くオブジェクトに追加するにはもってこいの存在です。ビヘイビアは使いやすく、複雑な機能でも簡単にオブジェクトに追加できます。もしこれを全部イベントの再作成で行うとしたら、とても面倒な作業になり、イベントシートが汚部屋状態になることでしょう(たとえ[グループ](/ja/gdevelop5/events/group)や[関数](/ja/gdevelop5/events/functions)、[外部イベント](/ja/gdevelop5/interface/project-manager)を活用したとしても)。 - -GDevelop では、専用の**カスタムビヘイビア**を作成できます。標準の組み込みビヘイビアと同様に、カスタムビヘイビアもオブジェクトに追加できます。これを使うと*オブジェクトを自動的に操作する*ことが可能になります。たとえば**オブジェクトの移動**や**変数**の変更、(スプライトオブジェクトの)アニメーション変更、(テキストオブジェクトの)テキスト変更など、通常はイベントで行うようなあらゆる操作がビヘイビアで実現します。 - -!!! tip - - ビヘイビアをどうゲームで使うのかサンプルを見たい場合は、[オブジェクトのビヘイビアを作成する方法](/ja/gdevelop5/tutorials/how-to-make-behavior)を参照してください。ステップバイステップの説明と、ビヘイビアを使ってゲームを構築するガイドを読むことができます。 - -## 新しいビヘイビアを作成する - -ビヘイビアは拡張機能のひとつに分類されます。これは GDevelop の[自作できる拡張機能](/ja/gdevelop5/extensions/extend-gdevelop)とよく似ていますが、そちらが関数で構成されるのに対して、ビヘイビアはイベントで構成されるという違いがあります。新しく追加した拡張機能も含めて、そのゲームのすべての拡張機能のリストを[プロジェクトマネージャー](/ja/gdevelop5/interface/project-manager)で見ることができます。 - -![](/gdevelop5/events/project-manager-functions-extensions.png) - -下部の[+]ボタンをクリックして、新しい拡張機能を作成します。右クリックから名前を変更できます。同じ目的に関連した関数とビヘイビアはひとつの拡張機能にまとめると良いでしょう。 - -リストからいま作成したばかりの拡張機能をクリックすると、拡張機能エディターが開きます。デフォルトの拡張機能には何の機能もありません。左のパネルから[新しいビヘイビアを追加]をクリックして追加します。 - -![](/gdevelop5/behaviors/add-events-based-behavior.png) - -新しいビヘイビアが追加されました。やりたいことに則った名前に変更しましょう。たとえば、ビヘイビアが敵をプラットフォーム上で左右に移動させるのに使われるなら、`HorizontalMovement`(英数字とアンダースコアだけが使えます)という名前なんかいいですね。ダメージを管理して、必要に応じて自動的にオブジェクトを削除するようなビヘイビアには、`Destructible` という名前はどうでしょう。 - -ビヘイビアを右クリックして[プロパティ]を選ぶと、ビヘイビアの設定を編集できます。説明を入力したり、エディター上の表示名を入力したり、追加できるオブジェクトのタイプを制約したければそれを指定することもできます。 - -![](/gdevelop5/behaviors/setup-destructible-behavior.png) - -ビヘイビアには、数値や文字列、真偽値などの値をビヘイビア内に格納するプロパティを追加できます。プロパティの追加方法と使い方は、このページの最後の方のセクションで説明しています。 - -### ビヘイビアに関数を追加する - -リストからビヘイビアをクリックすると、ビヘイビアを構成する関数のリストを確認できます。ビヘイビア関数リストは右側のパネルに表示されます。 - -![](/gdevelop5/behaviors/empty-behavior-functions-list.png) - -既定では、ビヘイビアは空っぽで**何もしません**。機能を持たせるために、新しい関数(メソッド)を追加しましょう。ライフサイクルメソッドと呼ばれる定義済み関数とカスタム関数の中から、適切な関数タイプを選択します。ライフサイクルメソッドは、ゲームの実行中に所定のタイミングでゲームエンジンによって自動的に呼び出されます。カスタム関数は条件やアクションで利用可能になります([通常の関数](/ja/gdevelop5/events/functions)と同じです)。 - -![](/gdevelop5/behaviors/behavior-choose-method.png) - -### ライフサイクルメソッド - -定義済みライフサイクルメソッドは、以下の種類が存在します。 - -* **onCreated**:このビヘイビアを持つ**オブジェクトの新しいインスタンス**が作成されたときに実行されるイベントです。 -* **onStepPreEvents**:フレームが画面にレンダリングされるたびに毎回実行されるイベントです。シーンの**「通常」イベントが実行される前に**呼び出されます。たいていのゲームでは、1 秒間に 60 回になるでしょう。これは当該ビヘイビアが無効にされていない限り、そのビヘイビアを持つ**すべてのオブジェクトひとつひとつ**について、呼び出されます。 -* **onOwnerRemovedFromScene**:このビヘイビアを持つオブジェクトが**削除**されたときに実行されるイベントです。もし複数のオブジェクトが同時に削除された場合は、オブジェクト個別にイベントが複数回実行されます。これはビヘイビアが無効になっている場合でも発動します。 -* **onDeActivate**:オブジェクトのビヘイビアが無効になった後に一度だけ実行されるイベントです。 -* **onActivate**:オブジェクトのビヘイビアが再び有効になった後に一度だけ実行されるイベントです。 -* **onStepPostEvents**:シーンの「通常」イベントの**後に**実行されるイベントです。当該ビヘイビアが無効にされていない限り、そのビヘイビアを持つすべてのオブジェクトひとつひとつについて、呼び出されます。たいていのゲームでは、1 秒間に 60 回になるでしょう。可能であれば、onStepPreEvents の使用を推奨します。ビヘイビアが通常イベントの前に処理を行い、その結果オブジェクトに生じた変更を受けて通常イベントが走るという連携が成立するからです。 - -これに該当するビヘイビアの例を次に示します。これは onStepPreEvents 内のイベントを使ってひどいダメージを受けたオブジェクトを自動的に削除します。 - -![](/gdevelop5/behaviors/behavior-lifecycle-method-example.png) - -### カスタムアクション、条件、式 - -ビヘイビア関数の作成時にカスタム関数を選ぶと、通常の関数と同じような設定を行う画面に移行します。それがアクションか条件か式かを指定し、名前を入力し、説明を入力し、イベントシートに表示される文を入力します。 - -次の図は、オブジェクトにダメージを追加する新規アクションを作成した例です。 - -![](/gdevelop5/behaviors/behavior-custom-function-example.png) - - - -## オブジェクトのビヘイビアを使う - -### 1) ビヘイビアをオブジェクトに追加する - -ビヘイビアを作成したら、次はそれをオブジェクトにアタッチします。これの一番いいところは、イベントベースのビヘイビアは GDevelop 付属の他の「[組み込みビヘイビア](/ja/gdevelop5/behaviors)」とまったく同じようにリストに出てくるという点です。 - -見てください。これは「Destructible Object」ビヘイビア(前のスクリーンショットで作成していたもの)の例です。 - -![](/gdevelop5/behaviors/choose-custom-behavior-in-list.png) - -作成したカスタムビヘイビアは、オブジェクトにアタッチされたビヘイビアのリストに表示されます。 - -![](/gdevelop5/behaviors/screenshot_2019-05-07_23.48.04.png) - -ゲームを実行して、「doStepPreEvents」関数(または「doStepPostEvents」)のイベントが実行されるのを確認しましょう。先ほど作成した Destructible ビヘイビアの例では、「Damage」変数が 100 以上であればオブジェクトを自動的に削除するようにしました。 - -これをテストするために、「Destructible」ビヘイビアを「Platform」オブジェクトに追加します。それからデバッガーを起動し、インスペクターで「Platform」インスタンスを調べて「Damage」変数が 0 であることを確認します。デバッガー(またはイベント)を使って変数に 100 を設定すると、オブジェクトがシーンから削除されます。 - -![](/gdevelop5/behaviors/example-test-destructible-behavior-debugger.png) - -### 2) アクション/条件/式を使う - -対応する関数宣言さえあれば、他の「組み込みビヘイビア」と同じく自作したビヘイビアもアクション/条件/式で使えます。たとえば「Destructible」ビヘイビアでは、オブジェクトにダメージを与えるアクションを作成しました。そのアクションをイベントシートで使うことができます。 - -![](/gdevelop5/behaviors/custom-behavior-action.png) - -イベントシートに表示されている状態です。 -![](/gdevelop5/behaviors/custom-behavior-action-events-sheet.png) - -見ての通り、これを使うととても分かりやすく読みやすいイベントになります。もっと複雑で、他のオブジェクトでも再利用可能なビヘイビアにもすることができます。 - -## ビヘイビアにプロパティを追加して使う - -ビヘイビアの興味深い点は、オブジェクト変数のように、関連情報を内部に保持できることです。これはプロパティと呼ばれます。プロパティは数値、文字列(テキスト)、真偽値(チェックを入れたり外したりできる仮想のチェックボックスのようなもの)のどれでも保持できます。 - -プロパティを使うと、ビヘイビアをカスタマイズすることができます。たとえば速度やダメージ量、ライフ数、パワー数、マナ等々をプロパティとして持ち、その値に応じてビヘイビアの処理を変更するのです。 - -ビヘイビアにプロパティを追加したり確認するには、ビヘイビアを編集して[プロパティ]タブをクリックします。下図は「Health」というビヘイビアのプロパティを表示した状態です。オブジェクトのヘルス値と、連続してダメージを受ける最小間隔(クールダウン)の 2 つのプロパティを確認できます。 - -![](/gdevelop5/behaviors/health-behavior-properties.png) - -プロパティには次の特徴があります。 - -* 数値、文字列、真偽値(チェックボックスとして表示)のいずれかになる -* 既定値を設定でき、ビヘイビアがオブジェクトに追加された際に値を変更しなければ既定値が採用される -* オブジェクトに追加されたときにエディター上に表示することも、非表示にすることもできる -* エディター表示用のラベルを持っている - -### アクションと条件を使ってプロパティを操作する - -ビヘイビアにプロパティを作成すると、ビヘイビア内のイベントシートに、プロパティに対応する条件とアクションが自動で追加されます。各プロパティについて、値を比較する条件と、それを変更するアクションを選択できるようになります。 -また文字列と数値については、値を取得するための式も利用できるようになります。 - -!!! note - - プロパティの名前を変更すると、それを参照するアクション/条件/式も自動的に更新されます。 - -!!! tip - - これらのアクション/条件/式はビヘイビアの外部では利用できません。プロパティはある種の「プライベートスコープ」であり、ビヘイビアによってのみ操作できます。プロパティをシーンイベントからも変更したい場合は、そのための新しいアクション/条件をビヘイビアに作成する必要があります。 - -## ビヘイビアのメリットとデメリット - -独自のビヘイビアを作成することには、いくつかのメリットがあります。 - -* *カプセル化*:カスタムビヘイビアの内部にロジックを隠蔽することによって、イベントシートを最小限のイベントで簡潔に保ち、読みやすく、メンテナンスもしやすくなります。ビヘイビアはロジックを実行するアクションと条件と式を持てるため、イベントシートで長い操作を繰り返す必要がありません。他のビヘイビアを使うときと同じように、ビヘイビアが提供するアクション/条件をふつうに使えばいいだけです。 -* *再利用性*:たとえば敵を移動させて、プレイヤーに踏まれたらライフを減らすようなビヘイビアを作成したとしましょう。もしまったく新しい種類の敵――ただし基本的な挙動は共通の――を追加したいと思ったら、新しいオブジェクトを作成し、それに同じビヘイビアを、プロパティを変えて追加すればいいのです。何回かクリックするだけで、新しい敵がゲームに登場するでしょう。 -* *共同作業*:チームでゲーム制作をしているか、あるいはプロジェクトをオープンソースにして新機能の開発やゲームプレイに参加してくれるコントリビューターを募るとします。カスタムビヘイビアを使うと、誰でも自己完結型の機能とゲームロジックをデザインして、それを簡単にインポートしたり、他の人に使ってもらったりできます。その人がレベルデザイナーやゲームデザイナー相当の知識を持っている必要はありません。ゲーム業界で働いている必要もありません。それをいうなら、そこでは働きたくないと思っている人でも、大丈夫です。 - -!!! note - - カプセル化と再利用性は、プログラミングの最重要概念です。Unity のような他のゲームエンジンでは、オブジェクトとビヘイビアのことをエンティティとコンポーネントと呼ぶかもしれません。 - -ビヘイビアの*構成しやすさ*は、今後のアップデートでさらに改善していく予定です。 - -## カスタムビヘイビアのサンプル/アイディア - -たぶん皆さんもたくさんのビヘイビアを思いつくでしょうが、ここでいくつか例を挙げておきます。 - -* **敵やボスのヘルス値を管理**するビヘイビア。 - - * 「オブジェクトを攻撃する」アクションと、「オブジェクトは死んでいるか?」条件を使える。ビヘイビアは敵のライフ値を管理するために、オブジェクト変数を更新する(たとえば敵が攻撃されたら、ライフを減少させる。 - そして、各フレームごとに少しずつ回復させる)、「オブジェクトは死んでいるか?」条件でライフが 0 になったかどうかをチェックする。 - -* ほかのアイディアとしては、**敵を複雑なパターンで移動させる**イベントをビヘイビア内に作成する。 - - * 移動パターンや速度などを変更するためのアクション/条件を追加できる。全部ビヘイビア内に用意して、数クリックでどんなオブジェクトにも追加できる。 - - -* 敵を撃破したりアイテムを取ったりしたときに、**自動的にスコアを更新する**ビヘイビア。 - - * オブジェクトが破壊されたときにスコア変数を増やすビヘイビアを作成する。それから、このビヘイビアを持つアイテムや収集品、敵などを作成して、それらが収集されたり破壊されたときに、スコアを自動で増やす。 - -!!! tip - - ビヘイビアをどうゲームで使うのかサンプルを見たい場合は、[オブジェクトのビヘイビアを作成する方法](/ja/gdevelop5/tutorials/how-to-make-behavior)を参照してください。ステップバイステップの説明と、ビヘイビアを使ってゲームを構築するガイドを読むことができます。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/behaviors/index.md b/docs/ja/gdevelop5/behaviors/index.md deleted file mode 100644 index 033a18fbe20..00000000000 --- a/docs/ja/gdevelop5/behaviors/index.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: ビヘイビア ---- -# ビヘイビア - -GDevelopの_ビヘイビア_は、わずか数クリックで[オブジェクト](/ja/gdevelop5/objects)に大幅な機能を追加できます。 - -ビヘイビアには次のようなことができます。 - -* 画面外に出たオブジェクトを自動的にシーンから削除する -* 物理法則にのっとったリアルな挙動でオブジェクトを移動する -* 矢印キーでオブジェクトを移動できるようにする - -またビヘイビアをカスタマイズして唯一無二のゲームフィールを作り出し、そのビヘイビアを[イベント](/ja/gdevelop5/events)で操作できます。 - -## ビヘイビアのリスト - -この節ではいろいろな種類のビヘイビアをリストにしました。どれもオブジェクトに他と異なる機能を追加します。 - -- [アンカー](/ja/gdevelop5/behaviors/anchor) -- [バウンス](/ja/gdevelop5/behaviors/bounce) -- [画面外で消去](/ja/gdevelop5/behaviors/destroyoutside) -- [ドラッグ対応](/ja/gdevelop5/behaviors/draggable) -- [経路探索](/ja/gdevelop5/behaviors/pathfinding) -- [物理エンジン 2.0](/ja/gdevelop5/behaviors/physics2) -- [プラットフォーマーオブジェクトとプラットフォーム](/ja/gdevelop5/behaviors/platformer) -- [トップダウン動作](/ja/gdevelop5/behaviors/topdown) -- [Tween](/ja/gdevelop5/behaviors/tween) - -種類別ビヘイビアの詳細は、リンク先の各ページで確認してください。 - -### 廃止予定の非推奨ビヘイビア - -- [旧物理エンジン](/gdevelop5/behaviors/physics) - -## ビヘイビアをオブジェクトに追加する - -1. **オブジェクト**パネル上で目的のオブジェクトを右クリックします。 -2. **オブジェクトを編集**を選択します。 -3. **ビヘイビア**タブに切り替えます。 -4. **+** アイコンをクリックします。 -5. リストからビヘイビアを選択します。 -6. ビヘイビアをカスタマイズします。利用できる設定は、ビヘイビアによって異なります。 -7. **適用**をクリックします。 - -![](/gdevelop5/new-behavior-dialog.png) - -## 新しいビヘイビアをインストールする - -誰でも[カスタムビヘイビアを作り](/ja/gdevelop5/behaviors/events-based-behaviors)、それを GDevelop コミュニティでシェアできます。 - -![](/gdevelop5/search-new-behaviors.png) - -コミュニティ製のビヘイビアを検索してインストールする手順は次の通りです。 - -1. **オブジェクト**パネル上で目的のオブジェクトを右クリックします。 -2. **オブジェクトを編集**を選択します。 -3. **ビヘイビア**タブに切り替えます。 -4. **+** アイコンをクリックします。 -5. **新しいビヘイビアを検索**タブに切り替えます。 -6. ビヘイビアを検索します。 -7. ビヘイビアを選択します。 -8. **プロジェクトにインストール**をクリックします。 - -インストールが完了したビヘイビアは**インストール済みのビヘイビア**タブに表示されます。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/behaviors/pathfinding.md b/docs/ja/gdevelop5/behaviors/pathfinding.md deleted file mode 100644 index 21ee068386a..00000000000 --- a/docs/ja/gdevelop5/behaviors/pathfinding.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: 経路探索 ---- -# 経路探索 - -**[経路探索ビヘイビアのサンプルがすぐに見たいですか?](#Examples) ** - -経路探索(パスファインディング)の動作により、オブジェクトを選択した目的地に移動したり、アイテムを障害物としてフラグを立てたりすることができます。障害物としてフラグが付けられているオブジェクトは、移動するオブジェクトによって回避されます。 - -## オブジェクトにビヘイビアを追加 オブジェクトに動作を追加するには、いつものようにオブジェクトを作成します。次に、シーンインターフェイスの右側にあるオブジェクトリストを右クリックして、オブジェクトのプロパティを開きます。ポップアップリストから\[オブジェクトの編集\]を選択します。 - -![](/gdevelop5/editplayerobject.jpg) - -次に、動作タブを選択し、「動作を追加」ボタンをクリックします。 - -![](/gdevelop5/behaviors-tab.png) - -次に、選択できる2つのオプションがあります。 - -## オプション1:経路探索の動作 ![](/gdevelop5/behaviors/pathfinding-behavior-inlist.png) - -「経路探索(パスファインディング)ビヘイビア」により、障害物としてフラグが立てられているすべてのオブジェクトを回避しながら、オブジェクトを目的地に移動できます。 - -オブジェクトにビヘイビアを追加した後、いくつかのオプションをカスタマイズできます。 ![](/gdevelop5/behaviors/pathafindin-behavior-options.png) - -- **加速度:** オブジェクトがパス上を移動するときに加速する速度です -- **対角線を許可:** オブジェクトが対角線で移動できるかどうかを許可します。 -- **角度オフセット:** スプライトが間違った方向を向いている場合、角度オフセットで設定できます。 -- **追加境界線サイズ:** オブジェクトの周囲の境界線サイズを設定します。この設定は、オブジェクトが障害物にどれだけ接近できるかを決定します。 -- **最大速度:** オブジェクトがパス上を移動できる最大速度。 -- **オブジェクトの回転:** パス上を移動中にオブジェクトを回転させたくない場合は、オブジェクトの回転を無効にします。 -- **回転速度:** オブジェクトの回転速度を設定します。 -- **仮想セルの高さと幅:** パスは仮想グリッドを使用して生成されます。ここでセルのサイズを変更できます。セルのサイズが小さいほど、動きがスムーズになります。セルサイズが小さいほど計算量が多くなるため、サイズをできるだけ大きく保つようにしてください。 - -## オプション2:経路探索障害動作 ![](/gdevelop5/behaviors/pathfinding-obstacle-inlist.png) - -「経路探索(パスファインディング)障害動作」を使用することにより、任意のオブジェクトに障害があるとフラグを立てることができます。オブジェクトに動作を追加した後、カスタマイズする2つのオプションがあります。 ![](/gdevelop5/behaviors/pathfinding-obstacle-options.png) - -- **通行不可:** これを有効にすると、障害物は通行不能になります。動いているオブジェクトは、どうにかしてそれを避けようとしています。 -- **コスト:** 障害物が通過できない場合、障害物のコストを設定できます。移動するオブジェクトは、目的地への最適な経路を探す際に、コストの高い値の障害物を避けることを好みます。たとえば、川にはコストがかかる場合があります。移動オブジェクトは、可能であれば、それを回避します。ただし、川の周りに他の方法がない場合、または川のコストが他の地域に比べて低い場合、移動オブジェクトは通過します(たとえば、より高いコストで山に登るのではなく)。そして、ワニを川に入れてコストを上げると、動いている物体が代わりに山に登ることを決めるかもしれません。 - -## サンプル - -!!! note - - **やってみよう!** 🎮 - - サンプルをオンラインで実行できます - -**一般的な経路探索ビヘイビア** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://pathfinding){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/pathfindinggeneral.png)](https://editor.gdevelop.io/?project=example://pathfinding) - - -**経路探索の基本** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://pathfinding-basics){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/pathfindingbasics.png)](https://editor.gdevelop.io/?project=example://pathfinding-basics) diff --git a/docs/ja/gdevelop5/behaviors/physics2.md b/docs/ja/gdevelop5/behaviors/physics2.md deleted file mode 100644 index adfafd892da..00000000000 --- a/docs/ja/gdevelop5/behaviors/physics2.md +++ /dev/null @@ -1,400 +0,0 @@ ---- -title: 物理エンジン 2.0 ---- -# 物理エンジン 2.0 - -物理エンジン ビヘイビアをオブジェクトに追加すると、物理法則にのっとったリアルな挙動でオブジェクトを移動できます。拡張機能は内部的に Box2D を使っています。これは高速で完全な剛体物理シミュレーションライブラリです。 - -ビヘイビアは 3 つの大きな概念で構成されています。ボディを含むワールド、ボディ、およびボディをリンクするジョイントです。これらすべてについて、ここでくわしく説明します。 - -!!! warning - - 制限事項:上記で述べられているように、この拡張機能は剛体の物理シミュレーションです。つまりボディは変形できません。やわらかい形状、衣服、液体などには対応していません。 - -## ワールド - -ワールドはシミュレーションが実行される場所です。ボディとジョイントはワールドに追加することで、他のエンティティと相互作用できるようになります。 -ただしこれは原理の説明であって、実際に自分でワールドにオブジェクトを配置する必要はありません。物理ビヘイビアを使用するオブジェクトは、ワールドに自動的に追加されます。また、ワールドは一度に 1 つしか存在できません。2 つの独立したシミュレーションを同時に実行することはできません。 -GDevelop のシーンサイズと同様に、ワールドサイズは無限であるため、オブジェクトがどこにあるのかを気にする必要はありません。オブジェクトは常に物理法則に従います。 - -ワールドには 3 つのプロパティがあります。 - - * **重力**:2 つの成分(X と Y)で構成され、おなじみの重力のように機能し、すべてのオブジェクトに力を加えて、それらを指定された方向に押します。オブジェクトは重力スケール係数にも対応していますが、これについてはボディに関する節でくわしく説明します。 - * **タイムスケール**:シミュレーションが使用する時間のスケールを定義します。タイムスケール= 0.5 の場合はシミュレーションが半分の速度で実行され、タイムスケール= 2 の場合はシミュレーションが 2 倍の速度で実行され、タイムスケール= 0 の場合はシミュレーションが一時停止します。バレットタイム(スローモーション)エフェクトにたいへん便利です。 - * **スケール**:GDevelop は距離やサイズをピクセル単位で扱いますが、物理エンジンはメートル法を使用します。そこで単位変換のためにスケールファクター(拡大率)を設定する必要があります(ここにもスケール X と Y の 2つの成分があります)。スケールの数値は、1 メートルが何ピクセルかを表しています。たとえばスケー ル値 50 は、GDevelop 内で 50 ピクセルの距離が物理演算ワールドの 1 メートルに変換されることを意味します。 - -!!! note - - ワールドスケールを決定するにあたって最も重要なルールは、可動/ダイナミックオブジェクトのサイズが 0.1〜10 メートルの範囲内におさまるようにすることです。この範囲を外れると、シミュレーションの精度が失われます。たとえば 100 × 100 ピクセルていどのオブジェクトサイズで作業している場合、ワールドスケール 100 なら問題ありません。この場合オブジェクトのボディサイズは約 1 x 1 メートル相当になります。スタティックオブジェクトの場合はもっと長くでき、50 メートルに拡大しても大丈夫です。 - -## ボディ - -ボディは物理エンジン拡張機能の中核です。これはオブジェクトがどのように動くか、どんな形状をとるか、どれだけ跳ね返るのか、回転できるのか、移動できるのかなどを定義します。 - -物理エンジンビヘイビアをオブジェクトに追加すると、エディター上で直接ボディの設定を調整できます。 -たくさんのオプションがあるため、以下に分類して説明します。 - -### ボディタイプ - -GDevelop は 3 つの基本的なボディタイプをサポートしています。 - - * **ダイナミック**:もっとも一般的なタイプであるダイナミック(動的)ボディは重力の影響を受け、他のダイナミックボディ、スタティックボディ、キネマティックボディと衝突させることができます。フォースとインパルスを適用し、速度も変更できます。移動しなければならないものはほとんど、ダイナミックボディにする必要があります。 - * **スタティック**:スタティック(静的)オブジェクトは重力の影響を受けず、フォースやインパルス、速度の変更によって移動しません。ダイナミックオブジェクトのみと衝突し、キネマティックやほかのスタティックボディを無視します。地面、動かない壁、プラットフォームなど、ワールド内の静的な構造物に適しています。 - * **キネマティック**:キネマティックは非常に特殊です。スタティックオブジェクトのように重力やフォース、インパルスの影響を受けませんが、ダイナミックオブジェクトのように速度を設定して移動できます。キネマティックはダイナミックオブジェクトとのみ衝突し、移動する壁やプラットフォームをシミュレートするのに最適です。 - -ダイナミック関連設定: - - * **バレット**:「はい」(またはチェックをオン)に設定すると、オブジェクトは継続的衝突検出アルゴリズムを使用します。パフォーマンスは若干犠牲になりますが、高速移動時の衝突判定精度が大幅に改善します。弾丸(または非常に高速なオブジェクト)を正しくシミュレートするのに役立ち、弾丸が細いオブジェクトをすり抜けてしまう可能性を減らします。 -!!! danger - - このオプションは本当に必要なときだけ使うようにしてください。移動するオブジェクトすべてに使用すると、パフォーマンスに*深刻な*影響を与える可能性があります。 - - * **回転を固定**:「はい」(またはチェックをオン)に設定すると、オブジェクトは回転しなくなります。プレーヤーが壁に衝突するたびに、あるいは斜面をくだっているあいだじゅう、回転してしまうことを想像すると、このオプションの存在意義が理解できるでしょう。 - * **スリープ可能**:「はい」(またはチェックをオン)に設定すると、しばらく動かなかったオブジェクトを物理エンジンがスリープ状態にしてパフォーマンスを向上できます。これは単なるパフォーマンス設定であり、シミュレーション自体には影響しません。 -!!! note - - イベント条件を使用して、ボディがスリープしているかどうかを確認できます。オブジェクトがスリープ中であれば、それはしばらく安定状態にあったことを意味し、バランスゲームを作成するのに役立ちます。 - -### ボディシェイプ - -ボディシェイプの設定はボディの形状とサイズを決定します。シェイプタイプに応じて、その大きさを調整するためのさまざまな設定があります。 - - * **ボックス**(四角形):*オブジェクトの中心軸に沿った長方形*です。幅と高さを特に指定しなければ、オブジェクトと同じ大きさになります。 - * **サークル**(円形):*オブジェクトを中心とする円*です。半径を特に指定しなければ、オブジェクトの幅と高さの平均で計算されます。オブジェクトが正方形の場合は、オブジェクトの境界ボックス内に内接する円になります。 - * **エッジ**(線形):*オブジェクトの中心に沿った細い線*です。このシェイプには体積(面積)がないため、ダイナミックボディとしては正常に機能しません。地面やプラットフォームなどのスタティックな形状に使用することを想定しています。長さと角度を特に指定しなければ、エッジはオブジェクトの幅と同じ長さの水平線になります。 - * **ポリゴン**(多角形):*頂点によって定義されるカスタム形状*です。ポリゴンは凸面である必要があり、この条件が満たされない場合、形状はデフォルトのボックスにフォールバックします。頂点の数は 3 以上(そうでないと凸状にできないので)、8 以下(ポリゴンが保持できる頂点の最大数)です。3 ≦ 頂点数 ≦ 8。 - -カスタムシェイプタイプと大きさに加えて、ボディシェイプは 2 つの追加設定を持ちます。 - - * **オフセット**:オフセットには 2 つの成分(X と Y)があり、オブジェクトの中心からシェイプをずらすために使います。 - * **スケール**:シェイプも拡大縮小できます。これはシェイプの大きさとオフセットをスケールします。大きさを指定しなければ、たとえばボックスシェイプは元のオブジェクトと同じ大きさになります。この場合は自動的にスケーリングするので、シェイプのスケールを変更する必要はありません。シェイプタイプがポリゴンの場合、スケールすると頂点の位置も移動します。スケーリングの原点は**ポリゴン原点**になります。(訳注:ビヘイビアの設定画面にあるオプションは 2021/1 時点で多言語化対応していないため、言語設定が日本語であっても「Polygon Origin」と表示されます)ポリゴン原点を「中央」に設定してシェイプを縮小すると、頂点はオブジェクトの中央に向かって移動します。 - -### ボディの設定 - -物理ボディには、タイプと形状に加えて、衝突時のボディの動作、重力によるボディへの影響、および空気抵抗によって失われるエネルギーを指定する追加の設定があります。各設定は以下の通りです。 - - * **密度**(Density):密度は重さを決定します。一般的な公式は `密度=質量÷体積` ですが、3 次元の奥行きがないため、これを `密度=質量÷面積` と仮定して問題ありません。同じ密度で面積/大きさの違う 2 つのボディは違う質量になります。したがってオブジェクトのサイズを変更するときは密度も考慮する必要があります。\\ \\ __密度はマイナスになりません!__ - - * **摩擦**(Friction):摩擦は、何かと接触中のボディに移動方向と反対の方向に力を加えます。摩擦が大きいほど、接触中のオブジェクトは速度が低下します。具体例を挙げると、砂で作られたプラットフォームの摩擦はほとんど 1(非常に高い)になり、氷で作られたプラットフォームの摩擦係数はほぼ 0 になります。\\ \\ __摩擦はマイナスになりません!__\\ \\ 2 つのオブジェクトが接触しているときの摩擦の合計は、オブジェクトの摩擦係数を使った式 `friction = sqrt(frictionA * frictionB)` で計算されます。 - - * **反発**(Restitution):オブジェクトが各衝突で保持するまたは失うエネルギーの割合を指定します。値ゼロは衝突が完全に非弾性であり、オブジェクトがまったく跳ね返らないことを意味します。反発= 1 の場合、衝突は完全に弾性的であり、オブジェクトは毎回同じエネルギーで跳ね返ります。ボールを地面に落とすと、毎回同じ高さまで跳ね返り続けると想像してください。1 より大きい反発の値も有効ですが、衝突のたびにオブジェクトにエネルギーが与えられ、おそらくシミュレーションが制御不能になります。\\ \\ __反発はマイナスになりません!__\\ \\ 2 つのオブジェクトが衝突したときの反発の合計は、オブジェクトの反発係数を使った式 `restitution = max(restitutionA, restitutionB)` で計算されます。 - - * **線形減衰**(Linear Damping):線形減衰は、常にオブジェクトの速度を低下させます。値が大きいほど、オブジェクトの速度が急速に低下します。空気抵抗を想像するといいでしょう。値をとても大きくすると、液体内を移動するオブジェクトをシミュレートできます。\\ \\ __任意の値を使用できますが、マイナスの値を設定するとオブジェクトが速度を増していき、非物理的な動きになります__。 - - * **角度減衰**(Angular Damping):角度減衰は線形減衰に似ていますが、オブジェクトの線形速度が遅くなる代わりに角速度を低下させ、オブジェクトの回転がゆっくりになっていきます。\\ \\ __任意の値を使用できますが、マイナスの値を設定するとオブジェクトが角速度を増していき、非物理的な動きになります__。 - - * **重力スケール**(Gravity Scale):ワールドの重力に重力スケールを掛けた値が、オブジェクトに適用する重力になります。これはベクトルではなく数値であることに注意してください。重力の向きは変更できず、その強さだけを変更できます。任意の数値が有効です。いくつかの例を挙げましょう。重力スケールが 1 の場合、適用される重力はワールド重力そのままになります。2 の場合、このオブジェクトの重力は 2 倍になり、0.5 の場合、重力は半分になります。0 の場合、オブジェクトは重力の影響を受けません。-1 の場合、重力は反転します。 -!!! note - - 負の重力スケールを設定して、特定のオブジェクトの重力を反転できます。 - -### レイヤーとマスク - -レイヤーとマスクは、オブジェクト間の衝突をフィルタリングする方法です。ゾンビのゲームを作成しているものと想像してください。プレイヤーを地面と衝突させ、ゾンビをプレイヤーとも地面とも衝突させたいが、ゾンビ同士を衝突させたくはありません。このような場合に、衝突フィルターが必要になります。 - -フィルターはどのように機能するのでしょうか?  -ルールはたった 1 つです。 -!!! warning - - 2 つのオブジェクト A と B は、A のレイヤーのどれかが B のマスクのどれかに一致し、**なおかつ** B のレイヤーのどれかが A のマスクのどれかに一致した場合に、衝突可能になります - -先ほどのゾンビ問題は、次のようにすると解決します。 - - * 地面:最初のレイヤーと、最初と 2 番目のマスクを有効にします。 - * プレイヤー:最初のレイヤーと、最初と 2 番目のマスクを有効にします。 - * ゾンビ:2 番目のレイヤーと、最初のマスクのみを有効にします。 -なぜこれでうまくいくのでしょうか。 - - * 地面とプレイヤー:地面のレイヤーはプレイヤーのマスク(最初)と一致し、**なおかつ**プレイヤーのレイヤーが地面のマスク(最初)と一致します。 - * 地面とゾンビ:地面のレイヤーはゾンビのマスク(最初)と一致し、**なおかつ**ゾンビのレイヤーが地面のマスク(2 番目)と一致します。 - * プレイヤーとゾンビ:プレイヤーのレイヤーはゾンビのマスク(最初)と一致し、**なおかつ**ゾンビのレイヤーがプレイヤーのマスク(2 番目)と一致します。 - * ゾンビとゾンビ:ゾンビは 2 番目のレイヤーだけが有効で、最初のマスクだけが有効です。そのためゾンビ同士は衝突できません。 - -最大で 16 個のレイヤーと 16 個のマスクを利用できます。今回このちょっとした問題を解決するには、2 つずつのレイヤーとマスクで十分でした。 - -### 移動 - -オブジェクトの設定が済んだら、シミュレーションが始まります。重力が物を押しはじめ、オブジェクトが動き、衝突しますが、プレイヤーは見ているだけで何も操作できません。自分でオブジェクトを移動できるようにするには、イベントシステムを使う必要があります。オブジェクトとやり取りし、希望する方法でオブジェクトを移動するための便利なアクションを次に示します。 - -!!! danger - - GDevelop の組み込み機能であるフォース(移動カテゴリー)は、物理エンジンビヘイビアと組み合わせて使用できません。ビヘイビアを使う場合は、組み込み機能の代わりに物理エンジンが提供するアクションを使用しましょう。 - - * **フォース**:フォースはオブジェクトを移動させるために加えられる力です。フォースは一般的に、オブジェクトに一定時間使用して、その動きを大きく変更します。オブジェクトにフォースを適用したときに生じる速度は、フォースの大きさとオブジェクトの質量に依存します。同じフォースが適用された場合、重いオブジェクトは軽いオブジェクトよりもゆっくり動きます。 -__フォースを適用する場合は作用点の指定が必須です。__ - - * **トルク**:フォースに似ていますが、こちらは移動ではなく回転力です。トルクはオブジェクトに角加速度を与え、時間の経過とともに回転を速くしたり遅くしたりします。 - * **インパルス**:フォースに似ていますが、タイムステップに依存しません。代わりに「一定量」の速度を瞬間的に与えます。単発での使用を想定しています。ジャンプのシミュレーションではこれが日常的に使われています。ジャンプボタンを押すたびに、上向きのインパルスを追加します。 -__インパルスを追加する場合は作用点の指定が必須です。__ - - * **角度インパルス**:インパルスに似ていますが、こちらは回転力に作用して、回転速度を瞬間的に変更します。 - * **速度**:オブジェクトの速度を直接変更できます。たとえば一定速度で歩行しているキャラクターの速度を、ボタンを押したタイミングで変更します。 - * **角速度**:角速度(回転速度)も直接変更できます。 - -!!! warning - - オブジェクトの位置も直接変更できますが、少なくとも新しい位置が修正されるまでは非物理的な動きになるでしょう。実生活では、オブジェクトはまったくテレポートしません。 - -フォースとインパルスには作用点が必要なことに注意してください。これはとても重要です。花瓶の下を押す(移動する)ことと、上を押す(たぶん倒れる)ことは同じではありません。ドアを押し開けるときは、蝶つがいではなくドアノブ側を押すはずです。 -作用点がオブジェクトの質量中心と異なる場合、何らかの種類のトルク/回転が生じるでしょう。 -!!! note - - オブジェクトの質量中心は、物理エンジンビヘイビアの式 `MassCenterX()` と `MassCenterY()` で取得できます。 - -## ジョイントでオブジェクトの動きを制御する - -ジョイントは、何らかのルールにのっとってオブジェクトの動きを制限します。あるジョイントはオブジェクトの回転中心を固定して、別のジョイントは 2 つのオブジェクトを連結します。複雑なジョイントになるとこれを組み合わせて、ボディ間の距離を一定に保ったまま自由に回転させて、自動車の車輪をシミュレートするといった具合です。 - -**ジョイント ID**: -ジョイントを作成するときに、変数名を渡すことができます。GDevelop は指定された変数に、ジョイントの一意の識別番号(ID)を格納します。このジョイント ID を指定することで、作成後のジョイントを変更したり、プロパティ値を確認したり、削除できます。屋根からひもで鍵を吊り下げるジョイントを想像してください。このジョイント ID を変数に保存しておくと、あるオブジェクトがひもと衝突しているかどうかを確認し、保存された ID を指定してジョイントを削除し、鍵を落とすことができます。 -!!! note - - ジョイント ID は常にゼロよりも大きい数値になります。 - -一般的にはジョイントには 2 つのオブジェクト(先ほどの例ではひもと鍵)が必要ですが、一部の「例外」があります。くわしくは回転ジョイントの説明を参照してください。 - -すべてのタイプのジョイントに共通のプロパティ、条件、およびアクションのリストは次のとおりです。 - - * **ジョイントの最初/2 番目のオブジェクトである**:検査するオブジェクトが指定したジョイントの最初または 2 番目のオブジェクトであれば、それを選択する条件です。 - * **ジョイントの最初/2 番目のアンカーの X/Y 位置**:指定したジョイントの最初または 2 番目のアンカーポイントの位置を取得する式です。 - * **ジョイントの反動力/反動トルク**:ジョイントの反動力または反動トルクをチェックする条件と式です。この値はジョイントが平衡状態からどのていどかけ離れているかを示す指標になります。ジョイントの反動力が大きいと、ジョイントがかなり大きな力で平衡位置から引き離されたことを意味します。壊れやすいジョイントを作るのに便利です。 - * **ジョイントを削除する**:指定したジョイントを削除するアクションです。もしジョイントが歯車ジョイントの子だった場合は、歯車も削除されます。またジョイントが接続しているオブジェクトがどれか削除されると、ジョイントも削除されます。 - -ジョイントにはさまざまな種類があり、それぞれに固有の動作とプロパティがあります。以下に一覧を示します。 -!!! warning - - 1 回だけ実行されるイベント(たとえばシーンの開始時)でジョイントを作成するように注意してください。もしフレームごとにジョイントを作成すると、数秒で数百のジョイントが作成され、パフォーマンスの低下や非物理的な動作、メモリ枯渇によるクラッシュのおそれがあります。 - - -### 距離ジョイント - -距離ジョイントは 2 つのオブジェクトを指定した距離で分離しようとします。距離はジョイントのアンカーポイントを基準に計算します。 -オブジェクトが指定した距離を常に保てるとは限りませんが、オシレーターの式にもとづいて距離を保とうとし続けます。 - -設定: - - * **長さ**:目標距離です。マイナス値を設定した場合は、ジョイント作成時のオブジェクト間の距離が使用されます。 - * **減衰率**:オブジェクトが受ける「抵抗」です。値が低いとオブジェクトは速く動き、値が高いとオブジェクトはゆっくり動きます。 - * **バネの硬さ**:オブジェクトが振動する速さです。オブジェクトを目標の長さに近づける力の強さです。値が大きいほどオブジェクトは強い力で引かれ、短い時間で目標の長さに戻ろうとします。 -!!! note - - 減衰率とバネの硬さの値を低くすると、目標の長さに近づくまでに時間がかかる柔らかいジョイントになります。一方、両方の値を高くすると、非常に硬いジョイントになります。 - -### 回転ジョイント - -回転ジョイントは「ピン」のように機能します。「ヒンジ(蝶つがい)」とも呼ばれ、ある一点を中心にオブジェクトを回転させます。 -回転ジョイントには 2 つのタイプがあります。ほとんど同じですが、ちょっとした違いがあります。 - - * **2 つのオブジェクト間の回転ジョイント**:2 つのオブジェクトを「ピン留め」します。オブジェクトはアンカーポイントを共有する形で一緒に移動し、またオブジェクトはそれぞれアンカーポイントを中心に回転します。2 枚のカードをピンで留めて、それを飛ばしたところを想像してみてください。カードは一緒に移動し、ピンを中心に自由に回転するでしょう。 - * **1 つのオブジェクトの回転ジョイント**:ジョイントは通常 2 つのオブジェクト間で機能しますが、これは例外の 1 つです。このジョイントは単一のオブジェクトとそのアンカーポイントを使って、指定した位置にオブジェクトをピン留めします。壁にメモを留めたようなものだと考えてください。メモはピンを中心に回転できますが、移動はできません。 -!!! note - - 単一オブジェクトバージョンのジョイントでは、オブジェクトはジョイントの 2 番目のオブジェクトとして追加されます。最初のオブジェクトは非表示のスタティックボディになります。そのため、このタイプのジョイントを歯車ジョイントに使うことができます。くわしくは歯車ジョイントの節で説明します。 - -回転ジョイントで設定できる項目は次のとおりです。 - - * **角度制限**:有効にすると、回転は最小角度と最大角度のあいだに制限されます。角度は両方とも最初のオブジェクトに対する相対指定です。 - * **基準角度**:ゼロと見なされるオブジェクト間の角度。すべての角度プロパティでオフセット値として使われます。基準角度が 15 度で、ワールド座標におけるオブジェクト間の角度が 15 度の場合、現在のジョイント角度を取得すると 0 が戻ります。また最大角度を 30 に設定すると(最初のオブジェクトに対して)45 に設定されます。 - * **最小角度**:最初のオブジェクトに対するオブジェクト間の最小角度。最大角度以下でなければなりません。 - * **最大角度**:最初のオブジェクトに対するオブジェクト間の最大角度。最小角度以上でなければなりません。 -!!! tip - - 角度制限のある回転ジョイントを使用すると、関節をシミュレートできます。つまりラグドールを作れます。 - - * **モーター**:有効にすると、ジョイントは 2 番目のオブジェクトにトルク(回転力)を追加し、外部から力を与えなくても回転するようにします。モーターのように。有効にした場合、モーター速度と最大モータートルクを設定することを忘れないでください。 - * **モーターの速度**:目標とするモーター速度(度/秒)。これは 2 番目のオブジェクトが最初のオブジェクトの周りを回転しているときに到達しようとする速度です。モーター速度を正の値にするとオブジェクトは時計回りに回転し、負の値にすると反時計回りに回転します。 - * **モーターの最大トルク**:モーターが目標モーター速度に到達するために発揮できる回転力の最大値。正の値でなければなりません。 - -またシミュレーション中に次の値を取得できます。 - - * **ジョイント角度**:オブジェクト間の現在の角度。最初のオブジェクトに対する相対角度で、基準角度の影響を受けます。 - * **ジョイント速度**:オブジェクト間の現在の角速度。最初のオブジェクトに対する 2 番目のオブジェクトの相対角速度です。 - * **ジョイントのモータートルク**:現在のモータートルク(回転力)。最大モータートルク以下で、目標モーター速度に到達するために必要なトルクになります。 - -!!! note - - 回転ジョイントの使いみちには、ピンボールレバー、トップダウンビューにおけるドア、巻き上げ式の可動橋などがあります。 - -### 直動ジョイント - -直動ジョイントは「ピストン」のように機能し、「スライダー」としても知られています。ある軸に沿って、オブジェクトを前後にスライドさせます。エレベーターがよい例になるでしょう。エレベーターはレールに沿って上下に移動します。レールは最初のジョイントボディに、エレベーターは 2 番目のジョイントボディに相当します。軸は真上または真下(-90 度または 90 度)を向きます。 - -直動ジョイントで設定できる項目は次のとおりです。 - - * **軸角度**:移動方向を示す角度。軸角度 0 は水平移動を意味します。値はワールド座標で指定しますが、最初のオブジェクトが回転した場合は、軸もそれに従って回転します(もしエレベーターレールを回転させると、エレベーターの移動角度も回転するのと同じ理屈です)。 - * **基準角度**:回転ジョイントの場合と同様に、この角度は軸にオフセットを設定し、新しい「角度ゼロ」を定義します。基準角度が 15 の場合、(最初のオブジェクト方向に対する)ワールド座標での軸角度 15 は 0 として扱われます。 - * **移動制限**:有効にすると、2 番目のオブジェクトの動きは、指定された最小移動量と最大移動量のあいだに制限されます。 - * **最小移動量**:2 番目のオブジェクトが最初のオブジェクトから移動できる最小位置。エレベーターの例でいえば、最小移動は地上階になるでしょう。 - * **最大移動量**:2 番目のオブジェクトが最初のオブジェクトから移動できる最大位置。エレベーターの例でいえば、屋上階です。 -!!! warning - - 移動制限範囲にはゼロを含める必要があるため(訳注:ジョイント作成時の位置が 0 になるため)、最小移動量 5 と最大移動量 10(範囲 [5, 10])を指定した場合、ゼロを含む範囲 [0, 10] に変換されます。 - - * **モーター**:有効にすると、ジョイントは 2 番目のオブジェクトにフォースを適用し、モーター速度に到達しようとします。有効にした場合、モーター速度とモーターの最大出力を設定することを忘れないでください。 - * **モーターの速度**:目標とするモーター速度。正の値であれば 2 番目のオブジェクトは軸と同じ方向に動き、負の値であれば反対方向に動きます。 - * **モーターの最大出力**:モーターが目標モーター速度に到達するために発揮できるフォースの最大値。正の数値でなければなりません。 - -またシミュレーション中に次の値を取得できます。 - - * **ジョイント移動量**:最初のオブジェクトに対する 2 番目のオブジェクトの現在の移動量です。 - * **ジョイント速度**:最初のオブジェクトに対する 2 番目のオブジェクトの現在の軸上速度です。 - * **ジョイントのモーター出力**:2 番目のオブジェクトの現在のモーター出力(フォース)。モーターの最大出力以下で、目標モーター速度に到達するために必要な力になります。 - -### 滑車ジョイント - -滑車ジョイントは名前のとおりのシンプルなジョイントです。このジョイントは、各オブジェクトから地面までの距離の合計が常に一定になるようにします。もっと分かりやすい説明をするなら、要は滑車をシミュレートします。:-) - -固定ポイント A から 3 メートル吊り下げたボックスと、固定ポイント B から 2 メートル吊り下げたサークルがあり、両方のオブジェクトが同じロープの端に取り付けられているとします。ロープの長さは一定なので、もしボックスを A から 1 メートルの位置まで持ち上げると、サークルは同じ分だけ下がって B の下 4 メートルの位置に移動します。この場合でも、ボックスから A までの距離とサークルから B までの距離の合計は、変わらず 5 メートルのままです。 -`distance(box, A) + distance(circle, B) = constant` - -**比率**: -簡単でしょう? さて、ここから奇妙な展開になりますが、このジョイントにはある特殊な設定が存在します。「比率」です。この比率により、ロープは一方の側で他方よりも伸びやすくなります。たとえばボックス側の 1 メートルのロープを、サークル側の 2 メートルのロープと等価にすることができます(比率= 1/2 = 0.5)。 - -先ほどの例に戻ってみましょう。A の 3 メートル下にボックスが吊り下げられ、B の 2 メートル下にサークルが吊り下げられています。ただし今回は比率= 0.5 です。ボックスを 2 メートル持ち上げると、サークルは 4 メートル下がります。ロープの長さは、明らかに一定ではありません。しかし次の式が成り立っています。 -`distance(box, A) + ratio*distance(circle, B) = constant` -(最初の式は、この式が比率= 1 の場合の特殊なケースだったことがお分かりでしょう) - -また「ロープ」はどこにも存在しないことに注意してください。ジョイントは、オブジェクトとアンカーポイントのあいだの距離だけで機能します。 - -このジョイントの設定項目は次のとおりです。 - - * **最初の接地アンカー**:最初のオブジェクトが接続される固定ポイント(例ではポイント A)。 - * **2 番目の接地アンカー**:2 番目のオブジェクトが接続される固定ポイント(例ではポイント B)。 - * **最初の長さ**:最初のオブジェクトとその接地アンカーのあいだの初期状態のロープの長さ。値が負またはゼロの場合は、ジョイント作成時の距離が使用されます。 - * **2 番目の長さ**:2 番目のオブジェクトとその接地アンカーのあいだの初期状態のロープの長さ。値が負またはゼロの場合は、ジョイント作成時の距離が使用されます。 - * **比率**:上記で説明した、両側の距離の比率。比率が 0.33 の場合、1 番目の側の 1 メートルは 2 番目の側の 3 メートルに相当します。 - -### 歯車ジョイント - -このジョイントは非常に特殊で、2 つのボディを直接つなぐのではなく、歯車が他の 2つのジョイントを連結します。これらの子ジョイントは回転または直動ジョイントでなければなりません。 -2 つのジョイントが歯車ジョイントを介してリンクされている場合、一方のジョイントが動くと、もう一方のジョイントも動きます。たとえば直動ジョイントの軸に沿ってオブジェクトを移動すると、リンクされた回転ジョイントが回転します。逆も同様です。 - -このジョイントも非常に注意が必要です。歯車が機能するには、各子ジョイントの最初のボディがスタティックで、2 番目のボディがダイナミックである必要があります。 -2 つの回転ジョイント、2 つの直動ジョイント、または回転ジョイントと直動ジョイントを歯車で連動させることができますが、常に各ジョイントの最初のボディはスタティックでなければなりません。 -!!! note - - 歯車の子ジョイントの最初のボディはスタティックででなければならないという、このことこそが、回転ジョイントの単一オブジェクトバージョンの最初のボディが非表示のスタティックオブジェクトである理由です。 - -歯車ジョイントの設定項目は次のとおりです。 - - * **最初のジョイント**:2 番目のジョイントとリンクする回転ジョイントまたは直動ジョイント。 - * **2 番目のジョイント**:最初のジョイントとリンクする回転ジョイントまたは直動ジョイント。 - * **比率**:滑車ジョイントと同じく、歯車は「比率」に対応しており、似たような感じで機能します。比率= 0.33 で 2 つの回転ジョイントをリンクした場合、最初の子ジョイントの 1 回転は 2 番目の子ジョイントの 3 回転に相当します。ただし滑車ジョイントの比率とは違う部分もあります。歯車の比率はマイナス値にも設定でき、そうした場合は一方のジョイントでプラスに動くと、もう一方のジョイントはマイナスに動きます。たとえば比率= -1 で 2 つの回転ジョイントをリンクした場合、片方の回転ジョイントを時計回りに回すともう片方は反時計回りに回ります。本物の歯車のように。 - -!!! warning - - ギアの存在に必要な条件は、2 つの子ジョイントが存在することです。2 つの子ジョイントのいずれかが削除されると、ギアも自動的に削除されます。 - -### マウスジョイント - -このジョイントは必ずしもマウスに関連しているわけではありませんが、しかしその使い方が一般的です。このジョイントは、オブジェクトを目標に向かって移動します。目標位置をマウスまたはタッチ位置で連続的に更新すると、オブジェクトをドラッグできます。 - -これもまた例外の 1 つですが、これは動作するためにボディを 1 つだけ必要とするジョイントです。ボディとはつまり、目標に向かって移動させるオブジェクトです。 - -マウスジョイントの設定項目は次のとおりです。 - - * **オブジェクト**:目標位置に向かって移動するオブジェクト。 - * **目標**:オブジェクトが到達しようとするターゲットポイント。ジョイントを作成した後、目標位置は何度でも更新できます。 -!!! warning - - 最初の目標位置(ジョイントの作成時)は、オブジェクトのアンカーポイントとしても使用されるため、必ず設定してください。 - - * **最大出力**:目標位置に到達するためにジョイントがオブジェクトに適用できるフォースの最大値。数値が大きいほど、オブジェクトは速く動きます。正の数値でなければなりません。 - * **バネの硬さ**:距離ジョイントのバネの硬さと同じような機能で、どれだけ速くオブジェクトが目標位置に移動するかを設定します。 - * **減衰率**:距離ジョイントの減衰率と同じような機能で、時間の経過とともにオブジェクトの移動速度をゆっくりにします。 - -!!! note - - マウスジョイントは、マウスでの使用のみに限定されているわけではありません。任意のワールド座標を目標に指定できます。 - -### 車輪ジョイント - -特定用途に特化したジョイントです。車輪が必要になったら、このジョイントの出番です。乗り物などの車輪以外の用途を挙げるのはかなり難しいし、実際、車輪に使うなら車輪ジョイントが最善の選択肢です。 -もともと乗り物の車輪をシミュレートするために作られたので、このジョイントにはそれしかできませんが、その代わり非常にうまくシミュレートします。 - -車輪ジョイントは、回転ジョイントと直動ジョイントを組み合わせたようなものです。 -ここでの回転ジョイントは 2 番目のオブジェクト(車輪)を回転させるために使用されます。また回転ジョイントにはモーター機能もあるので、自動車両のモーターをシミュレートして車輪を回転させることができます。 -直動ジョイント機能は、車両のホイールサスペンションのシミュレートに使われます。直動ジョイントの軸角度を設定して、車輪の移動方向を定義できます。一般に軸の方向は垂直ですが、たとえばバイクの場合などは前輪のサスペンションの方向が垂直ではない(場合によってはかなり傾いている)ことがあります。 - -!!! warning - - 車輪として機能するボディは、ジョイントの 2 番目のオブジェクトでなければなりません。 - -車輪ジョイントの設定項目は次のとおりです。 - - * **軸角度**:直動ジョイントの軸角度に相当し、車輪と最初のオブジェクト間の移動(またはスライド)方向を決定します。 - * **バネの硬さ**:サスペンションの硬さで、距離ジョイントのバネの硬さに相当します。値が大きいほど、硬いサスペンションになります。 - * **減衰率**:サスペンションの減衰率で、距離ジョイントの減衰率に相当します。値が大きいほど、車輪は緩やかに戻ろうとします。 - * **モーター**:有効にすると、ジョイントは車輪(2 番目のオブジェクト)にトルクを追加し、モーター速度に到達しようとします。有効にした場合、モーター速度と最大モータートルクを設定することを忘れないでください。 - * **モーターの速度**:車輪が回転目標とする角速度。正の値を設定すると時計回りに、負の値を設定すると反時計回りになります。 - * **モーターの最大トルク**:目標モーター速度に到達するためにジョイントが車輪に適用できる回転力の最大値。正の数値でなければなりません。 - -またシミュレーション中に次の値を取得できます。 - - * **ジョイント移動量**:サスペンション軸に沿った現在の車輪移動量。 - * **ジョイント速度**:現在の車輪回転速度。 - * **ジョイントのモータートルク**:車輪に適用されている現在のモータートルク(回転力)。最大モータートルク以下で、目標モーター速度に到達するために必要なトルクになります。 - -### 溶接ジョイント - -これはとても基本的なジョイントで、2 つのオブジェクトをただくっつけて、それが 1 つであるかのように動かします。 - -!!! warning - - これを使って壊れやすいオブジェクトを作成できますが、乱用はしないでください。つまるところ、オブジェクトはソフトジョイントで接続されるだけです。密度がばらばらのオブジェクトを多数接続すると、物理演算が不正確になるおそれがあります。 - -溶接ジョイントの設定項目は次のとおりです。 - - * **基準角度**:最初のオブジェクトの角度に対する 2 番目のオブジェクトの角度。 -!!! note - - オブジェクトをジョイント作成時の角度で固定するには、オブジェクト間の相対角度(`SecondObject.Angle() - FirstObject.Angle()`)を基準角度として使用します。 - - * **バネの硬さ**:距離ジョイントのバネの硬さと同じような機能で、どれだけ速くオブジェクトが静止位置に移動するかを設定します。 - * **減衰率**:距離ジョイントの減衰率と同じような機能で、時間の経過とともにオブジェクトの移動速度をゆっくりにします。 - -### ロープジョイント - -また別の単純なジョイントです。ロープジョイントは 2 つのオブジェクトをロープで仮想的につなぎます。この方法では、ロープの長さよりも遠い距離にオブジェクトを引き離すことはできませんが、それ以下の距離であれば自由に配置できます。 - -滑車ジョイントが滑車自体を持たないように、ここにロープ自体は存在しません。ジョイントはただオブジェクト間の距離をチェックし、距離が所定の長さより大きい場合に反応します。 - -ロープジョイントの唯一の設定項目は次のとおりです。 - - * **最大長**:オブジェクト間の最大距離。初期値が負の場合、ジョイント作成時のオブジェクト間の距離が使用されます。 - -### 摩擦ジョイント - -摩擦ジョイントは Z 軸の摩擦をシミュレートします。線形摩擦と角摩擦をシミュレートして、2 つのオブジェクト間の相対速度や角速度を遅くします。 -!!! tip - - オブジェクトの 1 つがスタティックの場合、摩擦ジョイントを使用してトップダウン形式のゲームで摩擦を正しくシミュレートできます。ビリヤード台やトップダウン形式のレーシングゲームに最適です。 - -摩擦ジョイントの設定項目は次のとおりです。 - - * **最大出力**:ジョイントがオブジェクトに適用できるフォースの最大値。数値が大きいほど、強い線形摩擦が働きます。 - * **最大トルク**:ジョイントがオブジェクトに適用できる回転力の最大値。数値が大きいほど、強い角摩擦が働きます。 - -### モータージョイント - -モータージョイントは実在するモーターにはあまり似ておらず、少なくとも直接の関係はありません。2 つのオブジェクトをモータージョイントでリンクすると、オブジェクトはオフセットを考慮した他のオブジェクトとの相対的な目標位置や目標角度に到達しようとします。 - -次の 2 点を考慮する必要があります。 - - * ジョイントは剛性ではありません。オブジェクトは目標の位置または角度から遠く離れる可能性があります。補正係数は、安定姿勢に移行するためにどれだけ速く移動および回転するかを示します。 -たとえば、常に立ち上がるパンチングバッグのおもちゃの 1 つを想像してください。地面とバッグをリンクするモータージョイントを使用して、これをシミュレートできます。この場合、バッグオブジェクトをどれくらい強く押しているかに関わらずジョイントはそれを元の角度に戻そうとしますが、必ず戻せるとは限りません。 - - * 障害物がある場合、モータージョイントは停止します。 -パンチングバッグの例に戻ると、何か大きな物体でバッグを地面に押さえつけた場合、現実がそうであるように、モータージョイントもこれを押し戻すことができません。 - -!!! note - - このジョイントはアンカーポイントを使いません。オフセット位置は、線形オフセットと角度オフセットのみを使用して設定しなければなりません。このジョイントのアンカーポイントにアクセスすると、オブジェクトの位置が返ります。 - -モータージョイントの設定項目は次のとおりです。 - - * **オフセット X/Y 位置**:最初のオブジェクトに対する 2 番目のオブジェクトのオフセット位置。ジョイント作成時のオブジェクトの位置をそのまま設定するには、`SecondObject.X() - FirstObject.X()` と `SecondObject.Y() - FirstObject.Y()` の式を使います。 - * **オフセット角度**:最初のオブジェクトに対する 2 番目のオブジェクトの角度オフセット。ジョイント作成時のオブジェクトの角度をそのまま設定するには、`SecondObject.Angle() - FirstObject.Angle()` の式を使います。 - * **最大出力**:オブジェクトを目標位置に移動するためにジョイントがオブジェクトに適用できるフォースの最大値。数値が大きいほど、オブジェクトは速く動きます(そうする必要があれば)。この値がゼロの場合は、線形補正が働かず、オブジェクトは目標位置に向かって移動しません。 - * **最大トルク**:ジョイントが目標角度に回転するためにオブジェクトに適用できる回転力の最大値。数値が大きいほど、オブジェクトは速く回転します(そうする必要があれば)。この値がゼロの場合は、角度補正が働かず、オブジェクトは目標角度に向かって回転しません。 - * **補正係数**:オブジェクトが目標位置と角度に到達するためにどのくらい速く移動および回転するかを示します。補正が高いほど、オブジェクトの移動や回転が速くなります。補正は、ジョイントが使用できる最大出力と最大トルク(回転力)によって制限されます。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/behaviors/platformer.md b/docs/ja/gdevelop5/behaviors/platformer.md deleted file mode 100644 index 8c6d3e471f3..00000000000 --- a/docs/ja/gdevelop5/behaviors/platformer.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: プラットフォーム型のビヘイビア ---- -# プラットフォーム型のビヘイビア - -!!! note - - **やってみよう!** 🎮 - [プラットフォームのビヘイビアのサンプルをすぐに見たいですか?](#Examples) - -ボタンをクリックするだけで、ゲームのプラットフォームタイプ(2Dマリオゲームタイプ)のビヘイビア(動作)とキャラクターコントロールを設定できます。 - -## プラットフォーム型ビヘイビア - -![select-platform-behavior.png](/gdevelop5/behaviors/select-platform-behavior.png) まず、新しいオブジェクトを作成します。 「クリックしてオブジェクトを追加」オプションをクリックして、シーンの「オブジェクト」リストからオブジェクトを選択します。 表示されるリストから、「オブジェクトの編集」を選択します。表示されるリストから「プラットフォーム」ビヘイビアを選択します。 これで、オブジェクトをプラットフォームタイプに変えることができます。 オブジェクトが「プラットフォーム」として定義されると、「プラットフォームキャラクター」オブジェクトはその上を歩くことができます。 - -\[プラットフォーム\]オプションを選択すると、プラットフォームのビヘイビアオプションリストが表示されます。 - -![platform-behavior-options.png](/gdevelop5/behaviors/platform-behavior-options.png) - -### プラットフォームの種類 - -プラットフォームのビヘイビアをクリックすると、3つの異なるプラットフォームの種類から選択できます。 - -![platform-type-button.png](/gdevelop5/behaviors/platform-type-button.png) - -* **プラットフォーム:** これはデフォルトです。このデフォルトのビヘイビア動作では、オブジェクトは通常のプラットフォームブロックとして設定されます。キャラクターはプラットフォームブロックと衝突したり、上を歩いたりすることができます。 * **ジャンプスループラットフォーム:** このオプションを選択すると、キャラクターはプラットフォームブロックと衝突たり上を歩くことができますが、キャラクターはプラットフォームブロックの下からジャンプすることもできます。 * **ラダー:** ラダーとはハシゴのことです。その名前が示すように、このオプションはオブジェクトをラダーに変えます。キャラクターオブジェクトはラダーオブジェクトと衝突できません。ラダーオブジェクトの上を歩くことはできませんが、キャラクターオブジェクトがラダーオブジェクトと重なると、キャラクターはラダーオブジェクトを使用して登ったり降りたりすることができます - -### ブロックの端をつかむ - -プラットフォームブロックの棚は、デフォルトで設定されています。「ブロックの端をつかむ」とは、キャラクターオブジェクトがブロックの端の近くにジャンプしたときに、端をつかむことができることを意味します。この機能が必要ない場合は、このオプションのチェックを外してください。必要な場合は、チェックボックスがオンになっていることを確認してください ![ledges-canbe-grabbed-option.png](/gdevelop5/behaviors/ledges-canbe-grabbed-option.png) - -ブロックの端の幅(オフセット)は、Y軸でも変更できます。 ![grab-offset-option.png](/gdevelop5/behaviors/grab-offset-option.png) オフセットオプションを使用すると、キャラクターのアニメーションに合わせてブロックの端の位置を変更できます。 - -## プラットフォーム型キャラクタのビヘイビア - -![select-platformer-character-behavior.png](/gdevelop5/behaviors/select-platformer-character-behavior.png) - -リストから「プラットフォーム型キャラクター」を選択すると、オブジェクトを「プラットフォーム型キャラクター」に変えることができます。 「プラットフォーム型キャラクター」オプションを選択すると、プラットフォームキャラクターのプロパティ/パラメーターが表示されます。 ![platformer-character-behavior-options.png](/gdevelop5/behaviors/platformer-character-behavior-options.png) - -すべてのオプションを確認するには、スクロールする必要があるかもしれません。 - -### コントロール - -プラットフォーム型キャラクターの動作には、キャラクターを制御するために設定されたデフォルトキーが設定されています。矢印キーとシフトキーです。 デフォルトのコントロールを使用したくない場合は、「プラットフォームの文字」オプションの下にある「デフォルトのコントロール」ボックスのチェックを外して、デフォルトのコントロールをオフにする必要があります。 ![](/gdevelop5/behaviors/platformer-defaultcontrols-box.png) - -### キャラクタの端をつかむ - -プラットフォームのビヘイビアと同様に、「プラットフォーム型キャラクター」の「端をつかむ」オプションがあります。このオプションにより、キャラクターオブジェクトがプラットフォームブロックの端をつかむことができます。このオプションはデフォルトで無効になっています。有効にするには、オプションリストのボックスをチェックします。 ![](/gdevelop5/behaviors/platformer-character-grabledge-box.png) - -このオプションを有効にすると、キャラクターはすべてのプラットフォームブロックの端をつかむことができます。 - -ここでも、「プラットフォームのビヘイビア」と同様に、キャラクターのY軸に幅(オフセット)を設定できます。プラットフォームのビヘイビアとは異なり、X軸に幅の許容値を設定することもできます。 - -![](/gdevelop5/behaviors/platformer-character-grab-tolerancex.png) - -幅の許容値を変更することで、キャラクターがプラットフォームオブジェクトをゲットできるようにするために、キャラクターがプラットフォームブロックにどれだけ接近する必要があるかを設定できます。 - -### スロープの最大角度 - -![](/gdevelop5/behaviors/platformer-character-maximum-slope.png) この値を変更することにより、プレイヤーが登ることができる斜面の最大角度を設定できます。デフォルトは0です。 デフォルト0は、キャラクターが平面上でのみ移動できることを意味します。 - -### スピードと重力 - -![](/gdevelop5/behaviors/platformer-character-speed-options.png) 「速度と重力」オプションで対応する値を変更することにより、キャラクターが加速、減速、移動、落下、ジャンプする速度を変更できます。これらのオプションは一目瞭然だと思うので、あまり説明する必要はないと思います。 キャラクターオブジェクトを遅くしたい場合、これらの値を減します。キャラクターオブジェクトをスピードアップしたい場合、これらの値を増やします。 - -ここのすべてのオプションは、ゲーム中いつでもイベントを使用して変更できます。 - -# サンプル - -!!! note - - **やってみよう!** 🎮 - これらのサンプルはオンラインで実行できます - -**プラットフォーム型ビヘイビアのサンプル** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://platformer){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/platformerbehavior.png)](https://editor.gdevelop.io/?project=example://platformer) - - -**平行スクロール型ビヘイビアのサンプル** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://parallax-scrolling){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/parallaxscrollingbehavior.png)](https://editor.gdevelop.io/?project=example://parallax-scrolling) diff --git a/docs/ja/gdevelop5/behaviors/topdown.md b/docs/ja/gdevelop5/behaviors/topdown.md deleted file mode 100644 index 75b1a6cbfc3..00000000000 --- a/docs/ja/gdevelop5/behaviors/topdown.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: トップダウン移動ビヘイビア ---- -## トップダウン移動ビヘイビア - -!!! tip - - **やってみよう!** 🎮 - [説明はいいから、とにかくトップダウン移動ビヘイビアが動くところを見たい? わかりました、こちらを先にどうぞ。](/#サンプル) - - -![](/gdevelop5/behaviors/topdownmovementbehavioriconnew.jpg) 「トップダウン移動」ビヘイビアはオブジェクトに 4 方向または 8 方向に移動する機能を追加します。 - -#### ビヘイビアをオブジェクトに追加する - -トップダウン移動ビヘイビアをオブジェクトに追加するには、まずオブジェクトメニューから、またはシーンに配置されたオブジェクトを右クリックして、オブジェクトプロパティを開きます。ポップアップメニューから[オブジェクトを編集]を選択します。次に[ビヘイビア]を選択し、ビヘイビア追加ボタンをクリックします。 - -#### トップダウン移動ビヘイビア - -リストからビヘイビアを選択すると、オブジェクトにその能力が追加されます。 - -![](/gdevelop5/behaviors/top-down-movement-behav-inlist.png) - -ビヘイビアを選択するとすぐに、利用できるオプションが表示されます。 - -![](/gdevelop5/behaviors/topdown-movement-options.png) - -#### 移動と回転の速度を変更する - -加速度、減速度、最高速度を変更することで、移動の速さを調整できます。 - -回転速度を変更することで、回転の速さを調整できます。また、そもそも回転するかどうかも設定できます。回転については、あとでくわしく説明します。 - -#### 角度オフセットを変更する - -デフォルトでは、スプライトの対面方向は 0 度になっています。対面方向とは移動時に進行方向を向く側のことで、0 度はスプライトの右側を指します。この設定は角度オフセットの値で変更できます。次に GDevelop の座標概念を表す図を示します。 - -![](/gdevelop5/behaviors/gdevelop_covaliantcuriosity.jpg) - -!!! note - - `AngleBetweenPositions` のようないくつかの式は -180~180 の範囲の値を返しますが、これは上の図と同じ概念です。角度 -45 度は、270 度と同じ角度になります。 -#### 斜め移動を許可する - -![](/gdevelop5/behaviors/allow-diagonals-box.png) - -このオプションはデフォルトで有効です。オブジェクトが斜めを含む 8 方向に移動できるようにします。このオプションを無効にすると、斜め方向に移動できなくなります。無効時に移動できるのは、上下左右の 4 方向のみです。斜め方向は含まれません。 - -#### デフォルトコントロール - -![](/gdevelop5/behaviors/top-down-movement-default-controls-box.png) - -トップダウン移動ビヘイビアは既定でデフォルトコントロールが有効になっています。デフォルトコントロールとはキーボードの 4 つの方向キー(矢印キー)のことです。オブジェクトの移動を独自制御したいときは、このオプションを無効にする必要があります。オプションのチェックを外した上で、オブジェクトを移動するときはトップダウン移動ビヘイビアが提供するアクションを実行します。 - -![](/gdevelop5/behaviors/top-down-movement-events.png) - -#### オブジェクトを回転する - -![](/gdevelop5/behaviors/top-down-movement-rotateobject-box.png) - -デフォルトで、オブジェクトは移動方向に向かって回転します。回転速度はオプションで指定しできます。回転させたくない場合は、オプションのチェックを外して無効にします。 - -オプションはどれも、GDevelop の「イベント」タブで該当するアクションを実行すると、ゲーム中にいつでも変更できます。 - -![](/gdevelop5/behaviors/eventstabnew.jpg) - - - -# サンプル - -!!! tip - - **やってみよう!** 🎮 - オンラインで下記のサンプルを実行できます。 - -**スペースシューター** - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://space-shooter){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/spaceshooter.png)](https://editor.gdevelop.io/?project=example://space-shooter) - - - -**アイソメトリックゲーム**(2D ゲームで疑似的に 3D 画像を作り出す) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://isometric-game){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/isometricgame.png)](https://editor.gdevelop.io/?project=example://isometric-game) \ No newline at end of file diff --git a/docs/ja/gdevelop5/behaviors/tween.md b/docs/ja/gdevelop5/behaviors/tween.md deleted file mode 100644 index e5a1689529e..00000000000 --- a/docs/ja/gdevelop5/behaviors/tween.md +++ /dev/null @@ -1,219 +0,0 @@ ---- -title: Tween ビヘイビア ---- -# Tween ビヘイビア - -![](/gdevelop5/behaviors/tween_behavior32.png) Tween(動画の中割り工程を指す inbe**tween** に由来)は一定時間をかけてオブジェクトのプロパティ値、たとえば位置やサイズなどをアニメーションさせます。 このビヘイビアは開始値と終了値のあいだを補間するときに使うさまざまなイージングエフェクトを取り揃えています。それによって、振動するユーザーインターフェイスボタンや、獲得するとゆっくりフェードアウトするアイテムなどのクールなエフェクトを作り出します。 - -### 使い方 - -Tween ビヘイビアを使うには、まずこれをオブジェクトエディター上でオブジェクトに追加します。 そうすると、イベントシートでオブジェクトに Tween を追加できるようになります。 - -Tween は連続再生できるため、組み合わせることでより複雑なアニメーションにもできます。これを「チェイニング」(連鎖法)と呼びます。 次の図では、スプライトがマウスでクリックされると「スケールを Tween」アニメーションを再生して縮小するようにしています。 Tween が終了すると、スケールを戻すための新しい Tween アニメーションを開始します。 これはループを形成するため、スプライトがずっと脈動し続けます。これを応用することで、上下動するプラットフォームや巡回パトロールする敵などを作成できます。 ![](/gdevelop5/behaviors/tween_behavior_chaining_example.png) - -### 条件 - -**Tween が存在するか** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 - -この条件は、指定した Tween が定義済みかどうかを調べ、存在すれば真を返します。 - -**Tween は再生を終了したか** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 - -この条件は、指定した Tween が終了位置に到達しているかどうかを調べ、終了していれば真を返します。 - -**Tween は再生中か** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 - -この条件は、指定した Tween が開始済みで現在再生中かどうかを調べます。 - -### アクション - -**オブジェクト角度 Tween を追加する** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 -- **目標角度(度)**:オブジェクトが目標とする終了時の角度です。 -- **イージング**:開始値と終了値の補間に使用する定義済みの数学関数です。 -- **所要時間**:Tween アニメーションが開始から終了まで再生するのにかかるミリ秒(ms)単位の時間です。 -- **Tween 終了時にこのオブジェクトを破棄する**:Tween が終了したときにオブジェクトを自動的に破棄するかどうかを指定します。 - -このアクションは現在の角度から目標の角度に向かって角度を Tween させながらオブジェクトを回転します。 - -**オブジェクト色 Tween を追加する** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 -- **目標色**:オブジェクトに適用する目標の色です。色成分をセミコロンで区切ったテキスト(文字列)形式の値になります。"255;255;255" はスプライトの元の色を指します(無着色)。 -- **イージング**:開始値と終了値の補間に使用する定義済みの数学関数です。 -- **所要時間**:Tween アニメーションが開始から終了まで再生するのにかかるミリ秒(ms)単位の時間です。 -- **Tween 終了時にこのオブジェクトを破棄する**:Tween が終了したときにオブジェクトを自動的に破棄するかどうかを指定します。 - -このアクションは現在の色から目標の色に向かって色を補間して Tween させながらオブジェクトを着色します。 - -**オブジェクト不透明度 Tween を追加する** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 -- **目標不透明度**:オブジェクトに適用する目標の不透明度です。0(透明)~255(完全に不透明)の数値になります。 -- **イージング**:開始値と終了値の補間に使用する定義済みの数学関数です。 -- **所要時間**:Tween アニメーションが開始から終了まで再生するのにかかるミリ秒(ms)単位の時間です。 -- **Tween 終了時にこのオブジェクトを破棄する**:Tween が終了したときにオブジェクトを自動的に破棄するかどうかを指定します。 - -このアクションは現在の不透明度から目標の不透明度に向かってオブジェクトの不透明度を補間して Tween させます。 - -**オブジェクト位置 Tween を追加する** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 -- **目標 X 位置**:オブジェクトが目標とする終了時の X 軸上の位置です。 -- **目標 Y 位置**:オブジェクトが目標とする終了時の Y 軸上の位置です。 -- **イージング**:開始値と終了値の補間に使用する定義済みの数学関数です。 -- **所要時間**:Tween アニメーションが開始から終了まで再生するのにかかるミリ秒(ms)単位の時間です。 -- **Tween 終了時にこのオブジェクトを破棄する**:Tween が終了したときにオブジェクトを自動的に破棄するかどうかを指定します。 - -このアクションは現在の位置から目標の位置に向かって位置を Tween させながらオブジェクトを移動します。 - -**オブジェクト X 位置 Tween を追加する** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 -- **目標 X 位置**:オブジェクトが目標とする終了時の X 軸上の位置です。 -- **イージング**:開始値と終了値の補間に使用する定義済みの数学関数です。 -- **所要時間**:Tween アニメーションが開始から終了まで再生するのにかかるミリ秒(ms)単位の時間です。 -- **Tween 終了時にこのオブジェクトを破棄する**:Tween が終了したときにオブジェクトを自動的に破棄するかどうかを指定します。 - -このアクションは現在の X 位置から目標の X 位置に向かって X 位置を Tween させながらオブジェクトを移動します。 - -**オブジェクト Y 位置 Tween を追加する** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 -- **目標 Y 位置**:オブジェクトが目標とする終了時の Y 軸上の位置です。 -- **イージング**:開始値と終了値の補間に使用する定義済みの数学関数です。 -- **所要時間**:Tween アニメーションが開始から終了まで再生するのにかかるミリ秒(ms)単位の時間です。 -- **Tween 終了時にこのオブジェクトを破棄する**:Tween が終了したときにオブジェクトを自動的に破棄するかどうかを指定します。 - -このアクションは現在の Y 位置から目標の Y 位置に向かって Y 位置を Tween させながらオブジェクトを移動します。 - -**オブジェクトスケール Tween を追加する** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 -- **目標 X スケール**:オブジェクトが目標とする終了時の X 軸上のスケールです。1 が元のスケール、2 が倍のスケール、0.5 が半分のスケールです。 -- **目標 Y スケール**:オブジェクトが目標とする終了時の Y 軸上のスケールです。1 が元のスケール、2 が倍のスケール、0.5 が半分のスケールです。 -- **イージング**:開始値と終了値の補間に使用する定義済みの数学関数です。 -- **所要時間**:Tween アニメーションが開始から終了まで再生するのにかかるミリ秒(ms)単位の時間です。 -- **Tween 終了時にこのオブジェクトを破棄する**:Tween が終了したときにオブジェクトを自動的に破棄するかどうかを指定します。 - -このアクションは現在のスケールから目標のスケールに向かってスケールを Tween させながらオブジェクトを拡大縮小します。 - -**オブジェクト X スケール Tween を追加する** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 -- **目標 X スケール**:オブジェクトが目標とする終了時の X 軸上のスケールです。1 が元のスケール、2 が倍のスケール、0.5 が半分のスケールです。 -- **イージング**:開始値と終了値の補間に使用する定義済みの数学関数です。 -- **所要時間**:Tween アニメーションが開始から終了まで再生するのにかかるミリ秒(ms)単位の時間です。 -- **Tween 終了時にこのオブジェクトを破棄する**:Tween が終了したときにオブジェクトを自動的に破棄するかどうかを指定します。 - -このアクションは現在の X スケールから目標の X スケールに向かって X スケールを Tween させながらオブジェクトを拡大縮小します。 - -**オブジェクト Y スケール Tween を追加する** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 -- **目標 Y スケール**:オブジェクトが目標とする終了時の Y 軸上のスケールです。1 が元のスケール、2 が倍のスケール、0.5 が半分のスケールです。 -- **イージング**:開始値と終了値の補間に使用する定義済みの数学関数です。 -- **所要時間**:Tween アニメーションが開始から終了まで再生するのにかかるミリ秒(ms)単位の時間です。 -- **Tween 終了時にこのオブジェクトを破棄する**:Tween が終了したときにオブジェクトを自動的に破棄するかどうかを指定します。 - -このアクションは現在の Y スケールから目標の Y スケールに向かって Y スケールを Tween させながらオブジェクトを拡大縮小します。 - -**オブジェクト変数 Tween を追加する** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 -- **オブジェクト変数**:Tween させる対象数値を格納した変数です。 -- **開始値**: 開始時の数値です(どんな数値でも可)。 -- **終了値**: 終了時の数値です(どんな数値でも可)。 -- **イージング**:開始値と終了値の補間に使用する定義済みの数学関数です。 -- **所要時間**:Tween アニメーションが開始から終了まで再生するのにかかるミリ秒(ms)単位の時間です。 -- **Tween 終了時にこのオブジェクトを破棄する**:Tween が終了したときにオブジェクトを自動的に破棄するかどうかを指定します。 - -このアクションは現在のオブジェクト変数の値から目標の値に向かって値を補間して Tween させながらオブジェクト変数を変更します。 - -**テキストサイズ Tween を追加する** - -- **オブジェクト**:アニメーションを適用する対象のテキストオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 -- **目標フォントサイズ**:目標とする終了時のフォントサイズです。 -- **イージング**:開始値と終了値の補間に使用する定義済みの数学関数です。 -- **所要時間**:Tween アニメーションが開始から終了まで再生するのにかかるミリ秒(ms)単位の時間です。 -- **Tween 終了時にこのオブジェクトを破棄する**:Tween が終了したときにオブジェクトを自動的に破棄するかどうかを指定します。 - - このアクションは現在のサイズから目標のサイズに向かってサイズを Tween させながらテキストオブジェクトのフォントサイズを変更します。 \警告:この Tween はテキストを毎フレーム再計算するため、多くのオブジェクトで連続的に使用すると FPS が処理に遅延が発生するおそれがあります。 - -**Tween を一時停止する** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 - -このアクションは指定した Tween を現在の状態で一時停止します。Tween は所定のアクション経由であとで再開できます。 - -**Tween を削除する** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 - - このアクションは指定した Tween をオブジェクトから削除します。Tween アニメーションを連鎖させたい場合は、次の Tween を開始する前に、このアクションで古い Tween を削除します。\警告:この指示は重要です。「Tween は再生を終了したか」条件が期待するように連鎖を実行しないように見えるときは、次の Tween を開始する前に古い Tween を削除しているか確認してください。 - -**Tween を再開する** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 - -このアクションは一時停止中の Tween を再開します。 - -**Tween を停止する** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 -- **最後へジャンプ**:「はい」を選ぶと現在の値をすぐに目標値に設定します。「いいえ」の場合は停止した時点の値のままにします。 - -このアクションは指定した Tween を停止します。[最後へジャンプ]の選択肢で「はい」を選んだ場合は、プロパティに目標値が設定されます。「いいえ」を選んだ場合は、現在値を維持します。 - -### 式 - -**Tween の進捗度** - -- **オブジェクト**:アニメーションを適用する対象のオブジェクトです。 -- **ビヘイビア**:オブジェクトに適用されている Tween ビヘイビアです。 -- **識別子**:オブジェクトの Tween アニメーションを識別するために使う固有のテキスト(文字列)です。 - -この式は Tween の現在の進捗度を 0(開始値)から1(終了値)までのあいだの数値で返します。たとえば Tween の所要時間が 1000ms であれば、500ms 経過で 0.5 が返ります。 複数オブジェクトの Tween を経過時間に応じて連鎖させたい場合などに使います。 diff --git a/docs/ja/gdevelop5/community/contribute-to-the-assets-store.md b/docs/ja/gdevelop5/community/contribute-to-the-assets-store.md deleted file mode 100644 index 2e729c615ab..00000000000 --- a/docs/ja/gdevelop5/community/contribute-to-the-assets-store.md +++ /dev/null @@ -1,215 +0,0 @@ ---- -title: contribute-to-the-assets-store ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** -*(remove this paragraph once the translation is finished)* - -# アセットストアへの貢献 - -GDevelop's documentation is powered by the community and everyone is encouraged to contribute. In particular, you can help building the assets store with royalty free/public domain resources that can be used by everyone for any kind of project. - -This page provides a few guidelines to help maintain the quality of the assets store. - -The main idea is that assets are grouped into folders and sub folders. Images, audio and fonts should have a name that is the plain English name that will be displayed to the user. By giving specific names to images, they will be used to create a single object. - -!!! note - - Note that tilesheets **are not supported**! Each image of an object must **be in a separate file** (using the rules to name the files below). It's also recommended that all images of a single object have the same size (with transparent margins), because for now we can't specify the origin of an image. - -## For images (to make sprite, tiled sprite or panel sprite objects): - -Each image will be used to create an object. For sprites, more than one image can be used to create a single object, by following the rules described below. - -- By default, an image will be used to create a **Sprite** object. - -1. The **name of the file**, without the extension, will be used for the object name. - -!!! note - - For example, an image called "Spaceship.png" will create a Sprite object called "Spaceship", with this image as the first animation. - -1. If the object is **animated**, use different image files with the **same base name**, and add an underscore followed by the image index: `Spaceship_1.png`, `Spaceship_2.png`, `Spaceship_3.png`. - -  - -1. If the object has **multiple animations**, you can add the name of the animation between the *base name* and the index. - -  - - Spaceship_flying_1.png - Spaceship_flying_2.png - Spaceship_flying_3.png - Spaceship_1.png - Spaceship_idle.png - Spaceship_damaged_1.png - Spaceship_damaged_2.png - -!!! note - - Will create an object with three animations: Flying (3 images), Idle (1 image), Damaged (2 images) - -1. To specify the **speed of the animations and if they are looping**, create a file with the **same base name** suffixed by `_METADATA.json`. - -  - - For example: `Spaceship_METADATA.json`. - - Inside, put this JSON: - - { - "timeBetweenFrames": 0.2, - "loop": false - } - -For example: - -![](https://user-images.githubusercontent.com/1280130/103412855-78836300-4b77-11eb-99ec-ac8287372ece.png) - -- If you have **multiple animations** and **each must have a different speed**, you can create one .json file per animation, using this name: `basename_animationname_METADATA.json`. - -For example: - - Spaceship_Idle_METADATA.json - Spaceship_Flying_METADATA.json - Spaceship_Destroyed_METADATA.json - ... - -- If you want to create a **Tiled sprite** (for backgrounds or repeating patterns): - -1. Prefix the *base name* by `tiled_`. For example: `tiled_Grass Background.png` - -- If your image is a **9 patch**, that can be stretched with the center and the border repeated: - -1. Slice your image in 9 different images, and name them: `9patch_base name_gravity.png` with gravity being: `southwest`, `southeast`, `south`, `northwest`, `northeast`, `north`, `west` and `east`. - -For example: - - 9patch_Orange leaves_center.png - 9patch_Orange leaves_east.png - 9patch_Orange leaves_north.png - 9patch_Orange leaves_northeast.png - 9patch_Orange leaves_northwest.png - 9patch_Orange leaves_south.png - 9patch_Orange leaves_southeast.png - 9patch_Orange leaves_southwest.png - 9patch_Orange leaves_west.png - -## Organizing the assets with tags - -Put all your images in a folder. In this folder, create a file called `TAGS.md`. In this file, put the tags of the assets, separated by a comma. Put at least a tag `top-down`, `side view` or `interface`. - -For example: - - side view, pirate, ship, sea - -You can put your images in different sub folders. Each sub folder will be used as a tag name. Some folders names like "PNG", "SVG", etc... will be ignored (so don't change the whole structure of your assets, we'll ignore anything that does not make sense). - -Note that you can also put assets in a folder called `Unimplemented` or `TODO`, and these folders will be entirely ignored. - -## For audio - -Put your .aac or .wav files (prefer .aac) directly in a folder, with the name to be displayed: `Laser effect.aac`, `Background music.aac`. - -!!! note - - 🚨 Careful about the size! Players are sensitive to the size of a game download (especially on mobile and on the web). **Try to keep music file sizes around 1 to 2 MB. In rare cases, these can be 4 or 5 MB, but not larger.** Consider downgrading the quality a bit to keep the music files around these sizes. Sound effects are usually even smaller. If a sound file is larger than 200 or 300 KB, consider downgrading the quality. - -`TAGS.md` files will work like for images. Sub folders are also used for tags as described for images. - -A great tool to convert audio files to AAC format is \[fre:ac\](). fre:ac is free, open-source, and cross-platform. It can process batches of files, with many options on how they are named and put into folders. - -- Choose the encoder called "Fraunhofer FDK AAC Encoder". -- Select "File format \> AAC" -- Select "Quality \> Set Quality \> 3" - -This will create high-quality audio files, but using a variable bit rate that won't exceed 96 kbps (assuming stereo input). - -![Screenshot 2021-03-11 112608](https://user-images.githubusercontent.com/8879811/110835883-9bf41980-825c-11eb-93c8-ef795b0379a2.jpg) - -![Screenshot 2021-03-11 112527](https://user-images.githubusercontent.com/8879811/110835884-9c8cb000-825c-11eb-9b8d-f22228a71329.jpg) - -## For fonts - -Like images and audio, put your fonts in folders. `.ttf` and `.otf` files are supported. - -`TAGS.md` files will work like for images. Sub folders are also used for tags as described for images. - -## (⚠️ Advanced!) To make an object from scratch, for example particle emitters - -!!! note - - These assets from scratch are a bit cumbersome to author right now. Here is an example folder that shows how the particle emitter objects from Wishforge Games are done: \[Particles.zip\]() - -Create an file with extension `.asset.json`, for example: `My Particle Effect.asset.json`. The format of this asset is: - - { - "id": "", - "name": "", - "authors": [""], - "license": "", - "shortDescription": "", - "description": "Enter a description. Leave the rest empty, it will be autogenerated", - "previewImageUrls": [], - "tags": [], - "objectAssets": [ - { - "object": { ...JSON CONTENT OF AN OBJECT... }, - "resources": [ ], - "customization": [] - } - ], - "gdevelopVersion": "", - "version": "" - } - -Leave almost everything empty. Create your object in GDevelop, then copy it in the clipboard. Paste the content in a file, and then copy just the "content.object" key: - -For example: - -![](https://user-images.githubusercontent.com/1280130/103413204-d5334d80-4b78-11eb-8248-aecc67d17cba.png) - -Paste it inside the `.asset.json` file you created, replacing `...JSON CONTENT OF AN OBJECT...`: ![](https://user-images.githubusercontent.com/1280130/103413230-f300b280-4b78-11eb-9c3b-718bdf58ba66.png) - -Finally, if your object uses image resources, make sure to add them in the `resources` array: ![](https://user-images.githubusercontent.com/1280130/103413269-1e839d00-4b79-11eb-91a6-39bc80696a98.png) - -Put all images with the name that you put in the `resources` array next to your `.asset.json` file. - -Finally, add: - -- a file with the same name but with the extension `.preview.png` that will be shown in the assets store - an empty filed called `IGNORED_FOR_IMAGE_ASSETS.md` so that the importer will ignore the images and won't try to create objects automatically :) - -For example: - -![](https://user-images.githubusercontent.com/1280130/103413361-74f0db80-4b79-11eb-94c2-7cf535bb9118.png) - -## I have too many assets and this will take me a long time to organize everything! How can I do? - -That's the reason why we're making an asset store: there are lots of assets available or that could be made available, but most are hidden on different websites, and not ready to use. By taking the time to prepare them for GDevelop, we're making a **high quality** asset store of objects ready to use. This implies taking a bit of time to prepare these assets - which should hopefully be not too much considering that we use a naming convention with filenames. - -!!! note - - In particular, you should be able to quickly rename a bunch of files by opening the folder in the Windows/Linux/macOS file explorer, ensuring you have a preview of each file and then with your keyboard and some shortcuts (F2 to rename on Windows, Enter on macOS...) rename quickly each file with a proper name. - -In the case where it's too painful/long to do because you have **tons** of objects (for example, you have separated a spritesheet of 200 RPG objects), it's ok to select all the files and rename them to something like `Generic RPG object (1).png`, `Generic RPG object (2).png`, etc... - -!!! note - - Be sure **not** to use an underscore to separate the name from the number, otherwise the asset importer will consider that it's a single object with multiple animations. In other words, **don't name the files** like `Generic RPG object_1.png`, etc... - -Finally, be sure to put a `TAGS.md` file with enough tags for people to be able to search for these assets. 👍 - -## License - -Put a license.txt file in your folder. The importing will recognize it and apply to all files in the folder. Make sure to put your name in this license file too (or the name of the original author). The importer will be adapted to understand the license file. - -!!! note - - We won't allow the addition of any assets with an unclear license. Get in touch with the author if the license is unclear or if you worried that the author would not allow redistribution of their original assets. All assets must have a license allowing their usage for free for any purpose, allow modifications/derived work and may optionally ask for attribution. - -## Something unclear? - -Ask a question on [this Trello board](https://trello.com/c/s8RctC9M/2-asset-rules-and-regulations) card. If the rules here are too complicated or are giving you too much work, you can suggest a new rule and we'll see if we can adapt the importer so that it can understand your asset structure. The goal is to make objects more or less automatically! - -## How to send my assets when they are ready? - -Zip the folder containing them and send them to @4ian or @Bouh, either by opening an [issue here](https://github.com/4ian/GDevelop/issues/new/choose) or by tagging `@florianrival` or `@bouh2` on a card on the [GDevelop Assets Trello board](https://trello.com/b/xoOCKFOf/gdevelop-assets). It's a good idea to get in touch with people on the Trello board to have them review your assets first. diff --git a/docs/ja/gdevelop5/community/events.md b/docs/ja/gdevelop5/community/events.md deleted file mode 100644 index 54b197dd926..00000000000 --- a/docs/ja/gdevelop5/community/events.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: GDevelop 関連イベント(ゲームジャム、カンファレンス…) ---- -# GDevelop 関連イベント(ゲームジャム、カンファレンス…) - -## カンファレンス - -* **Beyond Web-Apps: React, Javascript and WebAssembly to Port Legacy Native Apps**. GDevelop 5 に関するトーク: - * [JS Conf US](https://2019.jsconf.us/speakers/florian-rival) 2019 [動画](https://www.youtube.com/watch?v=lttAKhlKuyM) - * [React ボストン](http://www.reactboston.com/) 2018. - * [React Conf](https://conf.reactjs.org/event.html?FlorianRival) 2018 [動画](https://www.youtube.com/watch?v=6La7jSCnYyk6) - * [React Next](https://react-next.com/) 2018. - -* **Native Web-Apps**. GDevelop 5 で使われているテクノロジーに関するトーク: - * [CodeFest 2019(ノヴォシビルスク)](https://www.youtube.com/watch?v=5YzncpxA2og) - * Typeof Conf 2019(ポルト) - * React アムステルダム 2019 - * [Intersection Conference 2019](https://intersection-conference.eu/schedule) - * **[Reactive Conf 2019(動画)](https://www.youtube.com/watch?v=sMfNWIbWUb0)** - -* **GDevelop カンファレンスを企画していますか?** 大歓迎です!ここに追加してください。 - -## ゲームジャム - -GDevelop を使ったゲームジャムを企画していますか?ゲームジャムのウェブサイトやソーシャルメディアのアカウントへのリンクをここに追加してください。 - -## トレーニング - -GDevelop のトレーニングを企画していますか?ワークショップへのリンクをここに追加してください。 - -## 教育 - -[GDevelop が教育現場でどのように使われているか](https://gdevelop.io/ja/education)をご覧ください。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/community/guide-for-submitting-an-example.md b/docs/ja/gdevelop5/community/guide-for-submitting-an-example.md deleted file mode 100644 index cc8cc09b055..00000000000 --- a/docs/ja/gdevelop5/community/guide-for-submitting-an-example.md +++ /dev/null @@ -1,152 +0,0 @@ ---- -title: guide-for-submitting-an-example ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -# サンプルを提出するためのガイド - -Submitting example is a great way to contribute to GDevelop and help others. If your example is good enough, it will be accepted to the example library and will be available in GDevelop. - -This Guide shows how you can submit an example to GDevelop example library. - -##Check if the same example already exists - -The first thing you should do is check if an example that does the same thing already exists. You won't be excited to take your time making something that already has been done. - -Search through the examples list in GDevelop (**Create a new project** → **Examples tab**), and make sure the same example doesn't exist. - -##Discussing with the community - -You can discuss with the GDevelop community on [Discord](https://discord.com/invite/rjdYHvj) or open a new thread on the [GDevelop forum](https://forum.gdevelop.io) on how the example can be improved or if you have any doubts before starting something. - -## License - -The example will be MIT licensed (see [this](https://en.wikipedia.org/wiki/MIT_License) for more info about the MIT license). - -You will have to make sure the example can be MIT licensed and make sure the resources can also be distributed under the MIT license. If you are having doubts about the license of the resources, ask the creator and ask for permission (this is important!). - -## Best Practices - -!!! note - - In general, try to keep your example as minimal as possible. It will ensure it's easier to make sure it's very high quality and can be added easily. - -#### Naming conventions - -- Names should describe its use well and clearly. Example: a variable for storing player's health can be named `PlayerHealth`. The object name can be `Player`, but avoid crytic/shorthand names like `PyrObj`. - -- Names should not have spaces in them. Example: use `PlayerName` instead of `Player Name`. - -- `PascalCase` is recommended, but using other styles is fine. - -#### Variables - -- Variables should be initialized in the variable editor. It is ok to leave them uninitialized for some situations, but it's generally recommended. - -- Unused variables should be deleted - -#### Extensions - -- It's not recommended to add a lot of extensions into an example. Try keeping the extensions to a minimum. - -- If custom extensions are used, add proper comments, description to the events see [Extension best practices](/gdevelop5/extensions/best-practices) for more info - -#### Structuring events - -- Related events should be added into a group with proper naming. - -- If the same events are used in multiple places, you can use external events or a function in an extension. - -- Remove empty events. - -- Remove disabled events or events that were used for testing. - -- Unfold any events so that they are easily visible. - -#### Documenting events - -- Use comments to document events. - -- You can change the color of the comments according to its use (for example, green for a tip, orange for a warning). Otherwise, just keep the default color. - -- If the example needs a wiki page, create one in this wiki and when it's done, add a link to it in the example. - -#### Resources - -- Remove unused resources from both the [resource manager](/gdevelop5/interface/project-manager/resources) and then from the project folder - -- It is recommended to add all the resources in a folder called `assets`, and add sub-folders according to the use of the assets (GUI, Player, Power-ups) if needed. - -- The images should not be too large (2000x2000 is a maximum). - -- You will have to confirm that this example and all of its resources can be integrated to the GitHub repository (where all the example are stored), distributed and MIT licensed. - -#### Keep everything clean - Remove any unnessesary scenes,external events, external layouts - Remove unused variables - Remove unused resources,images,sounds,fonts, from the project folder - Remove any unnessesary events from the event sheet - -#### Projects folder - -- the `.json` file and the project folder's name should be renamed to the example's name, with `-` instead of spaces. For example: an example with `Not a vania` as name should have `not-a-vania` as its folder name and its `.json` filename. - -- The project should not be using multiple files for saving (using a single JSON file). - -- The project should have a `README.md` file with a text describing the example (see *Submitting examples* section for more information). - -#### Project Properties - -- The project properties should be properly filled out. - -- *Project Name* The project name should be the example name. - -- *Package Name* The package name should follow `com.example.\`. In PascalCase, e.g: `com.example.RotateSprite` - -- *Version* The version that is added to the library (after review) should be `1.0.0`, and incremented as changes are added after it's added. - -- *Author* is your username. An account will have to be registered and a proper username will be needed to be able to add the username. Type the username and pick the username from the drop-down menu - -##### Game Resolution - -- Game resolution shouldn't exceed **1920x1080** so that the example can run on all devices without any performance issues . - If the example uses pixel art with small assets, "nearest neighbor" rendering is recommended. - -## Thumbnail and example description - -- You can include a `thumbnail.png` which is the icon for the example and will be shown in the examples library - -- The project folder should include a `README.md` file that has a description of the example. You can create a `.md` file by opening any text editor (like Notepad on Windows), writing the description and saving the files with the name `README.md`. - -- Both the thumbnail and the Readme.md file should be in the main folder and not in any sub-folders. - -## Submitting the example - -You can submit the example to the [Example repository](https://github.com/GDevelopApp/GDevelop-examples/issues) as an issue. - -1. Go to the site, -2. Click The Green **New Issue** button: - -![](/gdevelop5/community/newissuegithub.png) - -1. A option to select issue template will be shown, click **New Example**: - -![](/gdevelop5/community/example-templategithub.png) - -1. You will get a text box where you can write the "issue" which is where you can upload the project file (as a `zip` file) and add a proper description about it. -2. Change the title to the example's name. - -![](/gdevelop5/community/github-example-submission-title.png) - -1. Under `## Describe the example` in the textbox, add a proper description about the example, feel free to add any screenshots. -2. You will also be given a checklist of what are necessary. If you have done them, add `x` in the in brackets against each checklist. - -![](/gdevelop5/community/github-example-submission-checklist.png) - -1. Under `## Game folder`, add a zip of your project and drag and drop it into the text box. -2. Now click `Submit Issue`. - -![](/gdevelop5/community/github-submit-issue.png) - -Congratulations! Now your example has been submitted, but it won't be directly added to the library. A **review** of the example will be done to make sure the example is ready to be added. You might have to refactor some events if the review suggests to. - -!!! note - - There is no guarantee that your example will be accepted, it can be rejected if the example is not suitable for the library. Also remember that while it's hard to get some feedback, reviewers are asking for changes because they believe this will improve your example. Try to rework the example using their feedback! Once you think it's good enough, you can ask for another review or discuss points where you might disagree. diff --git a/docs/ja/gdevelop5/documentation.md b/docs/ja/gdevelop5/documentation.md deleted file mode 100644 index ca3c00afc43..00000000000 --- a/docs/ja/gdevelop5/documentation.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: ユーザーマニュアル ---- -# ユーザーマニュアル - -GDevelopという2Dビデオゲームクリエーターソフトウェアのユーザーマニュアルへようこそ。 - -次のような様々なトピックがあります - -!!! note - - "ゲームを作ることを楽しみましょう". diff --git a/docs/ja/gdevelop5/events/foreach.md b/docs/ja/gdevelop5/events/foreach.md deleted file mode 100644 index d17e9985b70..00000000000 --- a/docs/ja/gdevelop5/events/foreach.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: インスタンスごとに繰り返しイベント ---- -# インスタンスごとに繰り返しイベント - -インスタンスごとに繰り返し(For Each)[イベント](/ja/gdevelop5/events)は、オブジェクトをパラメーターとして受け取るイベントです。 -ゲーム中、オブジェクトのすべてのインスタンスについて、条件とアクションが繰り返されます。 - -通常は「インスタンスごとに繰り返し」イベントを使用する必要はありません。条件とアクションは、オブジェクトの全インスタンスで自動的に実行されます。それらは条件によって定義されます。ただしオブジェクトの各インスタンスに依存するアクションを実行するには、「インスタンスごとに繰り返し」イベントが役立つ場合があります。 - -## 例 - -!!! tip - - **やってみよう!** 🎮 - オンラインで下記のサンプルを実行できます。 - -[![](/gdevelop5/events/shootingbulletsexplanationexample.png)](https://editor.gdevelop.io/?project=example://shooting-bullets-explanation) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://shooting-bullets-explanation){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/platformerbehavior.png)](https://editor.gdevelop.io/?project=example://platformer) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://platformer){ .md-button .md-button--primary } - -## どんなとき使うのか - -次の例を見てください。このイベントはプレイヤーが「Kill​​AllEnemyBonus」というオブジェクトと衝突した場合、すべての敵の「life」変数を 0 に設定します。また、各敵の位置に特別な種類の爆発を作成します。これを実現するには、「インスタンスごとに繰り返し」イベントが必要です。そうしないと、最初の敵の位置で爆発が 1 回だけ発生するでしょう。 - -![](/gdevelop5/events/for-each-example.png) \ No newline at end of file diff --git a/docs/ja/gdevelop5/events/functions/extract-events.md b/docs/ja/gdevelop5/events/functions/extract-events.md deleted file mode 100644 index 651d18c914e..00000000000 --- a/docs/ja/gdevelop5/events/functions/extract-events.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: イベントから関数を作成する ---- -# イベントから関数を作成する - -ひとつ以上のイベントを選択して右クリックすると、「_イベントから関数を作成する_」というメニュー項目を選択できます。 - -![](/gdevelop5/events/functions/extract-events-to-function.png) - -GDevelop は選択したイベントとサブイベントを解析して、それを元に関数を作成し、その[関数](/ja/gdevelop5/events/functions)をカスタマイズするためのウィンドウを表示します。必要な項目を埋めてから作成ボタンを押すと、関数が作成されて、選択したイベントが[関数](/ja/gdevelop5/events/functions)の呼び出しに置き換えられます。 - -## 拡張機能と関数名の設定 - -最初の項目には関数を格納する拡張機能を指定します。関数は拡張機能の一種に分類されるからです。もし複数の関数を作成するつもりで、それがすべてある共通の機能に関連するものだった場合、全部にその機能にちなんだ同じ拡張機能名をつけてグループ化した方がよいでしょう。たとえばインベントリ管理用の関数、戦闘システム用の関数、敵管理用の関数、といった具合です。 - -こうすることで拡張機能の共有が容易になり、ちょっとした手直しで、あるいはそのままで、他のゲームに再利用できます。 - -既存の拡張機能を選ぶこともできますし、新しい名前を入力して拡張機能を新規作成することもできます。 - -次に関数名を入力します。拡張機能と同じように、関数名には英数字(a-z, A-Z, 0-9)とアンダースコア(_)のみが使えます。半角スペース文字は使えません。 - -![](/gdevelop5/events/functions/extension-name-and-function-name.png) - -## 関数の残りとパラメーターの設定 - -ウィンドウの残りには、関数を設定するときに使うのと同じウィジェットが含まれます。これは関数を編集するときに表示される内容です。具体的には、ユーザーに表示される名前と説明を入力できます。 - -イベントシートに表示される文も重要です。パラメーターのプレースホルダーには `_PARAMx_` を使います。x の部分は数字です(たとえば `_PARAM1_`)。ふつうは、すべてのパラメーターをこのセンテンスに入力するでしょう。 - -![](/gdevelop5/events/functions/function-setup.png) - -最後に各パラメーターの説明を入力します。 - -!!! note - - パラメーターは GDevelop がイベントから自動的に展開します。GDevelop はオブジェクト型と同じように、使用されるオブジェクト、グループ、ビヘイビアを認識します。 - -![](/gdevelop5/events/functions/function-parameters-setup.png) - -入力が済んだら、ダイアログ右下の作成ボタンをクリックします。すると関数が作成され、イベントがこの関数を使ったアクションに置き換えられます。 - -![](/gdevelop5/events/functions/function-used-as-action.png) \ No newline at end of file diff --git a/docs/ja/gdevelop5/events/functions/index.md b/docs/ja/gdevelop5/events/functions/index.md deleted file mode 100644 index 767e43dd2c3..00000000000 --- a/docs/ja/gdevelop5/events/functions/index.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: 関数 ---- -# 関数 - -「イベント関数」または単に関数は、GDevelop の強力な機能です。関数と同じような目的で使われる機能としては、他に[外部イベント](/ja/gdevelop5/interface)、[リンク](/ja/gdevelop5/events/link)、[グループ](/ja/gdevelop5/events/group)があります。これらはゲームのイベントを整理したり、複数の場所でイベントを再利用する上でとても役に立ちます。たとえば、いくつかの外部イベントで敵を管理するために共通のイベントを配置し、リンクを使用してさまざまなシーンからこれらのイベントを利用することができます。 - -しかし関数はそれらよりも、さらに一歩進んだ機能です。イベントを使用して、**新しい条件**、**新しいアクション**、さらには**新しい式**を宣言できます。 - -関数を登録するときに、条件、アクション、または式のいずれかを選択できます。この関数には、シーンや外部イベントと同じように、ゲーム中に条件またはアクションが起動されたときに実行されるイベントを含むことができます。 - -イベントに加えて、関数には通常の条件、アクション、式と同様にパラメーターも利用できます。パラメーターには、オブジェクト、数値、またはテキストを使えます。 - -!!! tip - - [外部イベントを関数で置き換える例](/ja/gdevelop5/events/functions/replace-external-events)を参照してください。また**[イベントから自動的に関数を作成する](/ja/gdevelop5/events/functions/extract-events)**も参考にしてください。 - -!!! tip - - 関数を使っている様子を次の動画で見ることができます。[this video by gamefromscratch](https://www.youtube.com/watch?v=BQO9DDXdkjs) - -## 新しい関数の作成 - -関数は「拡張機能」に分類されます。これらは[ゲームにインストールできる拡張機能](/ja/gdevelop5/extensions/search)と同じです。新しく追加した拡張機能も含めて、そのゲームの拡張機能のリストを[プロジェクトマネージャー](/ja/gdevelop5/interface/project-manager)で見ることができます。 - -![](/gdevelop5/events/project-manager-functions-extensionsnew.png) - -下部の「+」ボタンをクリックして、新しい拡張機能を作成します。右クリックから名前を変更できます。同じ目的に関連した関数はひとつの拡張機能にまとめると良いでしょう。 - -リストからいま作成したばかりの拡張機能をクリックすると、拡張機能エディターが開きます。デフォルトの拡張機能には何の機能もありません。左側の[新しい関数を追加]をクリックして追加します。 - -![](/gdevelop5/events/add-new-function.png) - -新しい関数が追加されました。名前を変更して、内部で何をしたいかに応じて名前を付けることができます。たとえばその関数が条件に使われて、パラメーターとして渡されたオブジェクトが戦う準備ができているかどうかをチェックする機能の場合は、`IsReadyToFight` という名前がいいでしょう(名前に使用できるのは英数字とアンダースコアのみです)。 - -関数をクリックすると、それを編集できます(設定とイベントを変更できます)。 - -## 関数の設定とイベントの編集 - -関数を選択すると、上部に関数の設定が表示されます。 - -![](/gdevelop5/events/function_configuration.png) - -* 最初のパラメーターは関数タイプです。種類は「アクション」、「条件」、「式」、「文字列式」です。アクションか条件を選ぶと、ゲームのイベントを編集しているときのアクションか条件の一覧に関数が表示されるようになります。式か文字列式を選ぶと、数式を編集しているときの式一覧に関数が表示されるようになります。 -* 次に、一覧に表示する名前を設定します。 -* 関数のパラメーターを選択するときに、ウィンドウに表示する説明を入力します。 -* アクションまたは条件の場合、イベントシートに表示される文を入力できます。関数がパラメーター(詳細は後述)を受け取る場合は、プレースホルダーを文に埋め込むとパラメーターの値を表示できます。プレースホルダーは PARAMx をアンダースコアで挟んだ形式で、`x` の部分はパラメーター番号(1 から始まる)と置き換えます。 - -``` -Rotate objects _PARAM1_ -``` - -これは「RotateObjects」という名前の関数の例です。タイプはアクションで、「指定されたオブジェクトを回転させます」という説明と、回転させるオブジェクトを受け取るためのパラメーターを 1 つ持ちます。 - -### パラメーター - -関数はパラメーターを使うことで、より一層便利で強力にパワーアップします。パラメーターは、関数の設定から追加できます。これらのパラメーターは、イベントシートで アクション、条件、式を使うときに利用できます。ふだん使っている組み込みのアクション/条件/式と、まったく同じです。 - -「パラメーターの追加」ボタンでパラメーターを追加します。 - -![](/gdevelop5/events/function_add_parameters.png) - -各パラメーターについて、次の項目を設定できます。 - - * *関数のイベント*内のパラメーターにアクセスする際に使用する名前。 - * タイプ。パラメーターには、オブジェクト、数値、またはテキストを指定できます。 オブジェクトを選択した場合は、さらにオブジェクトの型も指定できます。 - * 説明です。アクション/条件/式の設定画面に表示されます。 - -たとえば、回転させるオブジェクトを受け取るパラメーターを次のように追加できます。 - -{{ :gdevelop5:events:function_rotate_parameters.png -?nolink |}} - -!!! note - - これらのパラメーターは JavaScript イベントでも使えます。JavaScript で[パラメーターを使う方法はこちらを参照](/ja/gdevelop5/events/js-code#javascript_%E3%81%A7%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%83%BC%E3%81%AE%E5%80%A4%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B)してください。 - -### 関数へのイベントの追加とパラメーターの使用 - -関数を設定したら、次にイベントを追加します。これらのイベントは、条件、アクション、式がゲームの中で使われたときに起動します。 - -* すべての既存のイベント、アクション、条件、式を使用できます。ただし使えるオブジェクトは**パラメーターとして受け取ったオブジェクト**に限定されます。これは関数が外部から渡されたパラメーターのみを利用し、「副作用」がないことを保証するための措置です。副作用は忌むべき習慣であり、関数の再利用と生成を困難にします。 - -* 関数はどこでも再利用でき、シーンに限定されないことに注意してください。つまり**シーンの変数リストに直接アクセスすることはできません**。ただし通常のアクションを使って、変更したい変数を手動で書き込むことはできます。 - -* **リンク**は関数内で使えません。関数は自己完結しており、プロジェクトにさえ外部依存しないためです。 - -何かのオブジェクトを回転させる関数の例を次に示します。 - -![](/gdevelop5/events/function_complete_function.png) - -これは非常にシンプルで実用的ではない関数の例です(関数を使わなくても、アクションでオブジェクトを直接回転させれば済む内容です)。しかし内部ロジックがもっと複雑になったときに、関数の本当の威力が発揮されるでしょう。内部ロジックの複雑さとは関係なく、これをゲームの他の部分から再利用するのは一律にとても簡単です。 - -!!! note - - 関数が条件か式の場合、[「関数」カテゴリーのアクションで条件/式の値を設定](/ja/gdevelop5/events/functions/return)できます(「戻り値」とも呼びます)。 - -## ゲーム内で関数を使う - -関数のイベントを設定および作成したら、これをゲーム内で使えるようになります。 - -新しいアクション(または条件)を作成し、リストから拡張機能の名前を探して、作成した関数を選択します。 - -![](/gdevelop5/events/events-functions-used-as-action.png) - -以上です! 関数は他の条件やアクションや式とまったく同じように[イベントエディター](/gdevelop5/interface/events-editor)で使うことができます。 - -!!! tip - - - **オブジェクトグループ**機能は、関数を作成する際に、類似したオブジェクトをグループ化してパラメーターで受け取るのに役立ちます。これを使うと、アクション/条件をオブジェクトパラメーターのグループ(オブジェクト群を指すパラメーター)に対して一括適用できます。 - -## 高度な使用法 - -このページでは、関数の概要を説明しました。これは GDevelop のもっとも強力な機能の 1 つです。イベントを使用してイベントを拡張できるため、非常に読みやすく簡潔なイベントシートを作成できます。関数を使うことで、ゲームのために記述するイベントの量を減らし、コピー&ペーストを避け、あまつさえバグを減らすことすらできます。オブジェクトの一般的なタスクを常に関数に任せるようにするのです。 - - -### 再帰関数 - -関数は自分自身を呼び出すことができます。関数内のイベントでは、ゲームの他の部分でそれができるのと同じように、関数を使ったアクション/条件/式を使用できます。これを「再帰」関数と呼びます。 - -!!! warning - - 再帰関数を書く場合は特に注意してください。関数呼び出しを打ち切る条件を追加しない場合、関数はそれ自体を無限に呼び出し、ゲームをブロックするおそれがあります。 - -[「関数」カテゴリーのアクションを使って条件/式の値を返す](/ja/gdevelop5/events/functions/return)ことができます。 - -### 関数の共有 - -関数はプロジェクト間で共有できます(GDevelopで作成したアクションや条件と同様に)。もっとも簡単な方法は、ただコピー/ペーストすることでしょう。ただし、便利な関数群ができあがった場合は、それらを[コミュニティと共有](/gdevelop5/extensions/share)することを検討してください。 - -!!! tip - - 再利用と共有については、[外部イベントを関数で置き換える例](/ja/gdevelop5/events/functions/replace-external-events)も参照してください。また**[イベントから自動的に関数を作成する](/ja/gdevelop5/events/functions/extract-events)**も参考にしてください。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/events/functions/replace-external-events.md b/docs/ja/gdevelop5/events/functions/replace-external-events.md deleted file mode 100644 index 1e75764b9fe..00000000000 --- a/docs/ja/gdevelop5/events/functions/replace-external-events.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: 外部イベントを関数で置き換える例 ---- -# 外部イベントを関数で置き換える例 - -外部イベントはイベントを共有/再利用するためのよい方法です。[関数](/ja/gdevelop5/events/functions)はそれをさらに一歩進めて、たとえばオブジェクトのようなパラメーターを受け取ることができるようにします。 - -## 外部イベントを使った例 - -オブジェクトを仮想グリッドを基準に整列する次のようなイベントがあります。 - -![](/gdevelop5/events/functions/external-events-snap-grid.png) - -これをシーンに組み込んで、次のように使うことができます。 - -![](/gdevelop5/events/functions/external-events-include-snap-grid.png) - -唯一の問題は、これが再利用できないということです。このイベントが仮想グリッドに沿って整列させるのは、「Tile」という名前のオブジェクトだけだからです。では、グリッドに沿って整列させたい任意のオブジェクトを渡して呼び出せる関数があったとしたら、どうでしょうか? - -## 関数を使った例 - -今度はイベントの代わりに、整列させたいオブジェクトをパラメーターに受け取る関数を宣言してみましょう。 - -![](/gdevelop5/events/functions/function-snap-grid.png) - -整列させるオブジェクトを「Tile」と呼んでいますが、何かもっと一般的な名前に変更することも可能です。 - -イベントからこの関数を呼び出すのは、とても簡単です。新しいアクションとして使うだけなので。 - -![](/gdevelop5/events/functions/call-function-snap-grid.png) - -この方法の長所は、新しいアクションを使うとどんなオブジェクトでもグリッドに沿って整列できるということです。またこれを抽出して、他のゲームで再利用することすらできるます。 - -!!! tip - - ここで作成したものは、すでに実用化されています。[便利な拡張機能](/gdevelop5/extensions/search)の中にある "Snap Objects to a virtual grid" がよく似たアクションを提供しています。 - -[関数についての詳しい内容は、こちらからどうぞ](/ja/gdevelop5/events/functions)。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/events/functions/return.md b/docs/ja/gdevelop5/events/functions/return.md deleted file mode 100644 index 442af7bf051..00000000000 --- a/docs/ja/gdevelop5/events/functions/return.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: 関数の戻り値 ---- -# 関数の戻り値 - -関数は、その種類に応じた戻り値を返す必要があります。式であれば数値か文字列を、条件であれば真偽値を返します。 - -## 条件の戻り値 - -条件の場合は、真か偽を返す必要があります。それには「条件の戻り値を返すように設定する」アクションを使って、条件が真か偽を返すように戻り値を設定します。 - -## 数値式の戻り値 - -関数を使った数値式の場合は、数値を返す必要があります。そのためには「戻り値に数値を設定する」アクションで、数値を返すようにします。「The number to be returned」フィールドに、戻り値用の数値か式を入力してください。 - -## 文字列式の戻り値 - -関数を使った文字列式の場合は、文字列を返す必要があります。そのためには「戻り値にテキストを設定する」アクションで、文字列を返すようにします。「The text to be returned」フィールドに、戻り値用のテキストを二重引用符でくくって、または文字列式を入力してください。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/events/group.md b/docs/ja/gdevelop5/events/group.md deleted file mode 100644 index 401328f2826..00000000000 --- a/docs/ja/gdevelop5/events/group.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: イベントのグループ ---- -# イベントのグループ - -グループは、特に何もしないイベントです。これらは、イベントをグループにまとめ、および構成するために使用されます。 - -イベントパネル内からグループを追加できます。右上の[イベントを選択して追加]アイコンを選択します。 - ![](/gdevelop5/events/chooseaddeventiconnew.png) - -ドロップダウンメニューが表示されます。メニューから「グループ」を選択します。 - -![](/gdevelop5/events/groupeventsdropdown.png) - -以下に示すように、グループに含まれる内容(「プレーヤー管理」、「マップ作成」、「グリーンエネミー」、「ブルーエネミー」、「ブラックエネミー」など)を記述してグループに名前を付けます。 - -さらに、イベントエディターでは、グループイベントの左側にある小さな矢印をクリックして、サブイベントを非表示にすることができます。この矢印をもう一度クリックして、グループを展開し、グループに含まれるものを表示します。![](/gdevelop5/events/collapsiblegrouparrow.png) - - -![](/gdevelop5/events/events-groups.png) - -## 例 - -!!! tip - - **やってみよう!** 🎮 - オンラインでサンプルを実行 - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://space-shooter){ .md-button .md-button--primary } - -[![](/gdevelop5/behaviors/spaceshooter.png)](https://editor.gdevelop.io/?project=example://space-shooter) \ No newline at end of file diff --git a/docs/ja/gdevelop5/events/index.md b/docs/ja/gdevelop5/events/index.md deleted file mode 100644 index 4a85870a515..00000000000 --- a/docs/ja/gdevelop5/events/index.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: イベント ---- -# イベント - -GDevelop においてイベントとは、ゲームの仕組みを定義するものです。イベントを使って、因果関係を作成します。たとえばイベントは、プレイヤーが収集可能アイテムと衝突したことを検知し、その結果プレイヤーのスコアを増やす、ということができます。イベントの作成や管理は[イベントエディター](/ja/gdevelop5/interface/events-editor)上でおこないます。 - -![](/gdevelop5/event-screenshot.png) - -!!! note - - イベントを作るのに、プログラミングの経験は必要ありません。もしプログラミングの経験者であれば、いくつかのコンセプトになじみがあるとは思いますが。 - -## イベントの種類 - -イベントにはいろいろな種類があります。それぞれ固有の便利なロジックをゲームに提供します。イベントの概念がまだよく分からなければ、次の節までスキップしてください。 - -- [インスタンスごとに繰り返し](/ja/gdevelop5/events/foreach) -- [グループ](/ja/gdevelop5/events/group) -- [JavaScript コード](/ja/gdevelop5/events/js-code) -- [外部イベントへのリンク](/ja/gdevelop5/events/link) -- [指定回数繰り返し](/ja/gdevelop5/events/repeat) -- [標準イベント](/ja/gdevelop5/events/standard) -- [条件が真のあいだ繰り返し](/ja/gdevelop5/events/while) - -種類別イベントの詳細は、リンク先の各ページで確認してください。 - -!!! note - - もっともよく使われるのは_標準イベント_です。 - -## 条件とアクション - -イベントは_条件_と_アクション_で構成されます。 - -条件は何かが起きる原因、切っ掛けです。たとえばプレイヤーが何かのオブジェクトと衝突したとか、変数が特定の値と等しいとか、そういう感じです。イベントに条件が設定されていない場合は、すべてのフレームで関連アクションが毎回実行されます。 - -アクションは条件が真のときに発生する何かです。たとえばオブジェクトを削除するとか、変数の値を増分するとか、そういうことです。アクションがなければ、そのイベントは何もしません。 - -一つのイベントには複数の条件と複数のアクションを追加できます。たとえば、あるイベントの条件でプレイヤーがジャンプ中かどうかと、_かつ_敵オブジェクトと衝突しているかどうかをチェックできます。そしてアクションで敵オブジェクトを削除し、_なおかつ_スコアを増やすことができます。 - -!!! note - - イベントを使って独自の条件とアクション、さらには[式](/ja/gdevelop5/all-features/expressions)を作成できます。くわしくは[関数](/ja/gdevelop5/events/functions)を参照してください。 - -## 実行順序 - -イベントは、それが定義されている順番通りに実行されます。このことは、イベントの実行結果を大きく左右するような、とても重要な影響力を持ちます。 - -たとえば次のイベントは「Square」オブジェクトを作成し、それをすぐに削除します。(訳注:図には作成の部分は含まれていない) - -![](/gdevelop5/tutorials/delete-square.png) - -結果として、「Square」オブジェクトは画面上に一度も表示されません。 - -もしイベントが意図しない副作用をもたらしていたら、同じフレーム内で先に定義されているイベントが後で定義されているイベントに影響していないかを確認してください。 - -## タイムデルタ - -GDevelop は 1 秒間に何度もイベントを評価してオブジェクトをレンダリングし直します。これがどれくらいの頻度で起きるかは、コンピューターの性能に依存します。 - -比較的低スペックのコンピューター上では、ゲームは秒間 25 フレームで実行されるかもしれません。一方、高速なコンピュータ上では秒間 60 フレームになる可能性があります(これが最大レートです)。 - -GDevelop はコンピューターの性能に関わらず、できるだけ一定のフレームレートを維持しようと試みますが、端末に処理速度のバラつきがある以上、フレームレートが異なるのは避けようがありません。 - -たとえば次のようなケースを考えてみてください。 - -![](/gdevelop5/condition-without-time-delta.png) - -このアクションは毎フレームごとに変数をインクリメントします。もしゲームが秒間 60 フレームで実行されていたら、10 秒後の変数値は 18,000 になるでしょう。一方、もしゲームが秒間 25 フレームで実行されていたら、10 秒後の変数値は 7,500 になります。この非一貫性は、ゲームプレイ体験に重大な問題を引き起こしかねません。 - -この問題を解決するために、GDevelop には `TimeDelta()` 式が用意されています。この式は直前のフレームからの経過時間を秒単位で返します。これを使って、フレームレートが変動しても予定通りにゲームを実行することができます。 - -たとえば次のようなケースを考えてみてください。 - -![](/gdevelop5/condition-with-time-delta.png) - -このアクションもやはり毎フレームごとに変数をインクリメントします。ただし変数の値には `TimeDelta()` を乗じた値を使用しています。これによって変数の値はフレームレートによらず一定の速度で増加します。別の言い方をすると、すべてのプレイヤーに同じ体験を保証できます。 - -!!! tip - - 経験則に照らして言うと、`TimeDelta()` は一定時間にわたって値を増加/減少し続ける場合に使います。もしアクションが一度きりなのであれば、`TimeDelta()` を使う必要はありません。 - -## イベントの作成 - -1. **イベントエディター**を開きます。 -2. **イベントを選択して追加**アイコンを選択します。 -3. イベントの種類を選択します。 - -![](/gdevelop5/add-special-events.png) - -!!! tip - - **イベントを追加**アイコンの方を選ぶと、GDevelop は即座に標準イベントを作成します。 - -## イベントに条件を追加する - -1. **イベントエディター**を開きます。 -2. すでに作成したイベントを探すか、新しいイベントを作成します。 -3. **条件を追加**を選択します。 - -![](/gdevelop5/blank-event.png) - -## イベントにアクションを追加する - -1. **イベントエディター**を開きます。 -2. すでに作成したイベントを探すか、新しいイベントを作成します。 -3. **アクションを追加**を選択します。 - -## サブイベントの作成 - -イベントの中にはサブイベントを持つことができる種類があります。サブイベントは他のイベントの内部に存在するイベントです。この種のイベントは、次の条件を満たしたときだけ実行されます。 - -- 親イベントの条件が真である -- 親イベントのアクションが実行を完了している - -次の手順で、イベントにサブイベントを追加します。 - -1. **イベントエディター**を開きます。 -2. すでに作成したイベントを探すか、新しいイベントを作成します。 -3. **選択したイベントにサブイベントを追加**アイコンを選択します。 - -サブイベントが親イベントの内部に作成されます。 - -!!! note - - 外部イベントへのリンク、コメント、JavaScript コードはサブイベントを持てません。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/events/js-code.md b/docs/ja/gdevelop5/events/js-code.md deleted file mode 100644 index 8cb5d2c64c9..00000000000 --- a/docs/ja/gdevelop5/events/js-code.md +++ /dev/null @@ -1,207 +0,0 @@ ---- -title: JavaScript コードイベント ---- -# JavaScript コードイベント - -このイベントを使用すると、ゲームに独自の **JavaScript コード**を追加できます。JavaScript プログラミングに精通した上級ユーザーのみが使用することを意図しています。 - -JavaScriptイベントを追加するには、イベントシートツールバーの![](/gdevelop5/events/chooseaddeventiconnew.png)ボタンをクリックし、JavaScript コードを選択します。 - -![](/gdevelop5/events/insert-javascript-code-eventnew.png) - -追加したら、コードをクリックして編集します。GDevelop がイベントに到達するたびにコードが実行されます。 - -コードには Strict モードが適用されますが、_runtimeScene_ という名前の変数にはアクセスできます。この変数 runtimeScene は、実行中のシーンを表します。以下は標準の GDevelop イベントと、JavaScript を使った同等のイベントの例です。 - -![](/gdevelop5/events/javascript-code-example.png) - -runtimeScene パラメーターの隣にある「ここをクリックして Javascript に渡すオブジェクトを選択」をクリックすると、「objects」という配列変数が利用可能になります。ゲームオブジェクトを選択するメニューが表示されるので、必要なゲームオブジェクトを選択します。ここで指定したオブジェクトはパラメーターとなる JavaScrpt オブジェクト配列に追加されます。 - -![](/gdevelop5/events/jsruntimeclickeventnew.png) - -「objects」は、選択したオブジェクトのインスタンスを含む配列です。これはアクションや条件が使用するものとまったく同じです。たとえば次の図は、JavaScript イベントをサブイベントとして使用するイベントです。JavaScript イベントは、プレイヤーと衝突している敵を操作します。 - -![](/gdevelop5/events/javascript-code-with-objects-example.png) - -## サンプル - -!!! tip - - **やってみよう!** 🎮 - オンラインで下記のサンプルを実行できます。下記で示すリンクを開いてください。GDevelop で新規プロジェクトを作成する画面で例タブをクリックすると、もっとたくさんの例を利用できます。 - -[![400](https://editor.gdevelop.io/?project=example://text-to-speech)](/ gdevelop5/events/javascripttexttospeechexample.png) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://text-to-speech){ .md-button .md-button--primary } - -[![400](https://editor.gdevelop.io/?project=example://javascript-blocks-in-platformer)](/gdevelop5/events/platformerjavascriptblocksexample.png) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://javascript-blocks-in-platformer){ .md-button .md-button--primary } - -## ドキュメント 📚 - - * **[ゲームエンジンのドキュメント](https://docs.gdevelop-app.com/GDJS%20Runtime%20Documentation/)** を参考にしてください。 - * **[GDJS ゲームエンジンのソースコード](https://github.com/4ian/GD/tree/master/GDJS/Runtime)**も直接ブラウズできます。 - - -## コードサンプル - -### 変数値を読み書きする - -```javascript -var myVar = runtimeScene.getVariables().get("MyVar"); -var myVar2 = runtimeScene.getVariables().get("MyVar2"); - -var currentValue = myVar.getAsNumber(); -myVar.setNumber(currentValue+1); - -myVar2.setString("Hello, world"); -``` - -ドキュメント [gdjs.Variable](https://docs.gdevelop-app.com/GDJS%20Runtime%20Documentation/gdjs.Variable.html) と [gdjs.VariablesContainer](https://docs.gdevelop-app.com/GDJS%20Runtime%20Documentation/gdjs.VariablesContainer.html) を参照してください。 - -### オブジェクトを別の位置に移動し、ゲームが最初のフレームをレンダリングしているかどうかを確認する - -```javascript -const players = runtimeScene.getObjects("Player"); -const playerHitBoxes = runtimeScene.getObjects("PlayerHitBox"); -// プレイヤーかヒットボックスオブジェクトが見つからなければ、すぐに中止する。 -if (playerHitBoxes.length === 0 || players.length === 0) return; - -// 最初のフレームだけで実行(つまりシーン開始時)。 -if (runtimeScene.getTimeManager().isFirstFrame()) { - // PlayerHitBoxes の最初のインスタンスを非表示にする。 - playerHitBoxes[0].hide(); -} - -// プレイヤーオブジェクトの位置を設定する。 -players[0].setX(playerHitBoxes[0].getX() - 12); -players[0].setY(playerHitBoxes[0].getY()); -``` - -同等のイベントは次のとおりです。 -![](/gdevelop5/events/hide-and-set-position-player-hitbox.png) - -### オブジェクトのビヘイビアの条件を調べてアニメーションを変更する - -!!! tip - - 以下のコードでは、アノテーション(注釈)と呼ばれるコメントを使用しています - -JavaScript の変数宣言の直前に**アノテーション** `/** @type {gdjs.XXX} */` を 記述することで、変数の型が gdjs.XXX であることをコードエディターに知らせます。このおかげで、エディターは入力中(または単語にカーソルを合わせたとき)に**オートコンプリート**を表示できます。 - -ほとんどの場合、アノテーションは必要ありません。ここで使うメソッドは、すでに型アノテーションによって[ドキュメント化](http://4ian.github.io/GD-Documentation/GDJS%20Runtime%20Documentation/)済みだからです。しかし、オブジェクトリストを使うときに、そのオブジェクト特有のメソッドにアクセスしたいと思うかもしれません(たとえばスプライトオブジェクトのアニメーションを変更するメソッドとか)。そこでアノテーション `/** @type {gdjs.SpriteRuntimeObject} */` を使うと、エディターが固有メソッドを認識できるようになります。 - -アノテーションを使わなくてもコードは実行できますが、その場合エディターは基本クラス `gdjs.RuntimeObject` のメソッドしか表示できません。 - -オブジェクトからビヘイビアを取得するときに、それがどんなビヘイビアなのか知ることもできます。アノテーションを使って、エディターにそれが何なのかを知らせるのです(さもなくば、基本クラス `gdjs.RuntimeBehavior` のメソッドしかオートコンプリートに出てこないでしょう)。 - -```javascript -const players = runtimeScene.getObjects("Player"); -const playerHitBoxes = runtimeScene.getObjects("PlayerHitBox"); -if (playerHitBoxes.length === 0 || players.length === 0) return; - -/** @type {gdjs.SpriteRuntimeObject} */ -const player = players[0]; - -/** @type {gdjs.PlatformerObjectRuntimeBehavior} */ -const platformerBehavior = playerHitBoxes[0].getBehavior("PlatformerObject"); - -if (platformerBehavior.isJumping() || platformerBehavior.isFalling()) { - player.setAnimation(1); -} else if (platformerBehavior.isOnFloor()) { - if (!platformerBehavior.isMoving()) { - player.setAnimation(0); - } else { - player.setAnimation(2); - } -} - -const LEFTKEY = 37; -const RIGHTKEY = 39; -if (runtimeScene.getGame().getInputManager().isKeyPressed(LEFTKEY)) { - player.flipX(true); -} else if (runtimeScene.getGame().getInputManager().isKeyPressed(RIGHTKEY)) { - player.flipX(false); -} -``` - -同等のイベントは次のとおりです。 -![](/gdevelop5/events/change-animation-according-to-behavior-conditions.png) - -### カメラの位置をオブジェクトに合わせる -```javascript -if (!objects.length) return; - -// ここで使う objects は、関数の設定時に指定した「Player」のリスト -// を指します。 - -runtimeScene.getLayer("").setCameraX(objects[0].getX()); -``` - -同等のイベントは次のとおりです。 -![](/gdevelop5/events/set-camera-x-position-x.png) - -### スプライトオブジェクトを床に置かれた後にフェードアウトさせる(プラットフォーマーオブジェクトビヘイビアを使用) - -```javascript -objects.forEach(object => { - /** @type {gdjs.SpriteRuntimeObject} */ - const enemy = object; - - /** @type {gdjs.PlatformerObjectRuntimeBehavior} */ - const platformerBehavior = object.getBehavior("PlatformerObject"); - - if (enemy.getAnimation() === 1 && platformerBehavior.isOnFloor() && !platformerBehavior.isMoving()) { - object.activateBehavior("PlatformerObject", false); - enemy.setOpacity(enemy.getOpacity() - 50 * object.getElapsedTime(runtimeScene) / 1000); - - if (enemy.getOpacity() === 0) { - object.deleteFromScene(runtimeScene); - } - } -}); -``` - -同等のイベントは次のとおりです。 -![](/gdevelop5/events/fade-out-and-behavior.png) - -### JavaScript でパラメーターの値を取得する - -JavaScript で関数から値を取得するのは簡単です。 -オブジェクトにどうアクセスするか、見てみましょう。次の例に示すタイプは _Objects_ です。_Objects_ は複数形ですが、これはつまりパラメーターに指定したオブジェクトのインスタンス配列が返ることを意味します。(訳注:言語設定が日本語の場合は名詞で複数形を区別しないため、「オブジェクト」と表示されます) -{{ :gdevelop5:events:function_rotate_parameters.png -?nolink |}} - -インスタンス配列は次の関数で取得できます。 - -```javascript -eventsFunctionContext.getObjects("myParameter"); -``` - -次の例では _RotateObjects_ という名前のパラメーターで受け取ったオブジェクトを 45 度回転しています。 - - -```javascript -const objects = eventsFunctionContext.getObjects("RotateObjects"); -const firstInstance = objects[0]; -firstInstance.setAngle(45); -``` - -今度は角度もパラメーターとして受け取れるようにしてみましょう。タイプは数値です。 - -{{ :gdevelop5:events:degrees_angle_function.png -?nolink |}} - -```javascript -const angle = eventsFunctionContext.getArgument("degrees"); -``` - -タイプが文字列やそれ以外の場合でも、コードは同様です。 - -ちなみに、次の関数を思い出した人もいるかもしれませんが。 -``` -GetArgumentAsString() -GetArgumentAsNumber() -``` -この 2 つは式で、JavaScript 内では使えませんので注意してください。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/events/link.md b/docs/ja/gdevelop5/events/link.md deleted file mode 100644 index 1d09057f287..00000000000 --- a/docs/ja/gdevelop5/events/link.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: リンクイベント ---- -# リンクイベント - -リンクイベントは外部保管場所のようなものです。リンクイベントは、外部イベントを外部保管リンクに挿入する必要があることをGDevelopに指示します。(外部イベントは [プロジェクトマネージャー](/ja/gdevelop5/interface/project-manager)で作成できます) - -外部イベントは、ゲームのロジックを複数のイベントシートに分けるのに役立ちます。外部イベントシートは、ゲームイベントの編成を改善します。また、シーン間で一般的なイベントを共有するための優れた方法も提供します。 - -リンクイベントを追加する場合、<外部イベントの名前を入力>をクリックして、ドロップダウンメニューを表示し、そこに含める外部イベントを選択できます。 - -![}} {{:gdevelop5:events:externalevents2600.png?|](/gdevelop5/events/externalevents1200.png) - - - -![](/gdevelop5/events/linkingexternalevents.png) - -## 例 - -!!! tip - - **やってみよう!** 🎮 - - オンラインでサンプルを実行 - -[![](/gdevelop5/events/asteroidexternalexamplenew.png)](https://editor.gdevelop.io/?project=example://asteroids) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://asteroids){ .md-button .md-button--primary } - -[![](/gdevelop5/events/platformerbehaviornew.png)](https://editor.gdevelop.io/?project=example://platformer) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://platformer){ .md-button .md-button--primary } \ No newline at end of file diff --git a/docs/ja/gdevelop5/events/repeat.md b/docs/ja/gdevelop5/events/repeat.md deleted file mode 100644 index 79a4ef1bea2..00000000000 --- a/docs/ja/gdevelop5/events/repeat.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: 指定回数繰り返しイベント ---- -# 指定回数繰り返しイベント - -指定回数繰り返しイベントは標準[イベント](/gdevelop5/events)のように機能しますが、リスト内の次のイベントに進む前に連続して複数回繰り返されます。後続のイベントは、繰り返し回数に達するまで実行されません。 - -この繰り返し回数は数字だけではなく、式で記述することができます。つまり何らかのプレイヤーの操作に応じて繰り返し回数を変えることができます。たとえば、オブジェクトのライフカウント、位置などに応じて異なる数の敵を作成できます。またシーン上にランダムな数のオブジェクトを作成できます(以下の例を参照)。 - -![](/gdevelop5/events/repeat-example.png) - -## 例 - -!!! tip - - **やってみよう!** 🎮 - オンラインで下記のサンプルを実行できます。 - -**対角線** - -[![](/gdevelop5/events/diagonals.png)](https://editor.gdevelop.io/?project=example://find-diagonals) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://find-diagonals){ .md-button .md-button--primary } - -**レーザー** - -[![](/gdevelop5/events/lasernew.png)](https://editor.gdevelop.io/?project=example://zombie-laser) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://zombie-laser){ .md-button .md-button--primary } \ No newline at end of file diff --git a/docs/ja/gdevelop5/events/standard.md b/docs/ja/gdevelop5/events/standard.md deleted file mode 100644 index 37a2d7c42e7..00000000000 --- a/docs/ja/gdevelop5/events/standard.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: 標準イベント ---- -# 標準イベント - -GDevelopで使用される最も一般的な[イベント](/ja/gdevelop5/events)は標準イベントです。 - -「シーン」エディターから、「シーン(イベント)」エディタータブを選択してクリックします。エディターの上部にあり、シーンの右側に向かって伸びているのがタブです。 - -![](/gdevelop5/events/eventseditortab.png) - -イベントは、画面の左側に表示される「条件」と、画面の右側に表示される「アクション」で構成されます。 左側のすべての条件が満たされると、右側のアクションが実行されます。左側の条件が真でない場合、イベント内の他の条件とアクションは実行されません。 - -![](/gdevelop5/events/eventconditiontf.jpg) - -## 例 - -X 座標が 100 ピクセル未満の「Square」オブジェクトを削除するイベントを次に示します。 - -![](/gdevelop5/tutorials/delete-square-condition.png) - -イベントがどのように機能するかまだよくわからないという場合は、[ゲーム作りの基本コンセプト](/ja/gdevelop5/tutorials/basic-game-making-concepts)も参照してください。 diff --git a/docs/ja/gdevelop5/events/while.md b/docs/ja/gdevelop5/events/while.md deleted file mode 100644 index 56820013a37..00000000000 --- a/docs/ja/gdevelop5/events/while.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: 条件が真のあいだ繰り返しイベント ---- -# 条件が真のあいだ繰り返しイベント - -条件が真のあいだ繰り返し(While)イベントは、特別な種類の[イベント](/ja/gdevelop5/events)です。_While 条件_が真である限り、イベントを中断することなく繰り返します(つまり、次のイベントは**実行されず**、画面は更新**されません**)。 - -![](/gdevelop5/events/whileevent.png) - -条件が真のあいだ繰り返しイベントはふつう必要ありませんが、特定の設定条件が真のあいだずっとアクションを繰り返したい場合はこのイベントを使うことができます。条件が真のあいだ繰り返しイベントは、ゲーム中で作成したいアルゴリズムによっては、役に立つでしょう。 -## 例 - -!!! tip - - **やってみよう!** 🎮 - オンラインで下記のサンプルを実行できます。 - -[![](/gdevelop5/events/spaceshooternew.png)](https://editor.gdevelop.io/?project=example://asteroids) - -* [Asteriods Example](https://editor.gdevelop.io/?project=example://asteroids) - -[![](/gdevelop5/events/pathfindinggeneralnew.png)](https://editor.gdevelop.io/?project=example://pathfinding) - -* [Pathfinding Example](https://editor.gdevelop.io/?project=example://pathfinding) \ No newline at end of file diff --git a/docs/ja/gdevelop5/extensions/best-practices.md b/docs/ja/gdevelop5/extensions/best-practices.md deleted file mode 100644 index 4b96fe15742..00000000000 --- a/docs/ja/gdevelop5/extensions/best-practices.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: 拡張機能ベストプラクティス ---- -# 拡張機能ベストプラクティス - -これは[コミュニティで共有できる](/ja/gdevelop5/extensions/share)、使いやすい拡張機能を作るためのガイドラインです。 - -### イベントと命名 - - * **シーン変数**には接頭辞 `__YourExtensionName_` を前置します。いずれ拡張機能に対する変数のスコープが追加されるかもしれませんが、今のところは他の拡張機能の変数と衝突しないように注意する必要があります。変数名を長くして、拡張機能名を含む接頭辞をつけると、他の拡張機能やそのユーザーによってオーバーライドされる危険性を最小限にとどめることができます。 - * アクション、条件、式の**名前**にはパスカルケース(`PascalCase` のように、単語の先頭をすべて大文字にして連結したもの)を使うこと。 - * 式に関しては、`Get` を前置しないこと。なぜなら、すべての式は暗黙理に getter と決まっているので、わざわざ明示する意味がありません。たとえば `GetHealth` ではなく `Health` に、`GetPlayerBestScore` ではなく `PlayerBestScore` という名前にします。 - -### 説明 - -説明はすべて英文で書くようにしてください。**略称は使わないでください**。イベントシートに表示されるアクションや条件は明快な文にしてください。 - -* アクションと条件の文は、常に肯定形にしてください。たとえば条件を_「カメラは振動しているか?」_と**名付けてはいけません**。代わりに_「カメラは振動している」_にしてください。条件は何かについての検査なので、それが「疑問」であることは自明です。 -* 条件の説明に「…の場合は真を返します」のようには**決して書かないでください**。これはあまりにもプログラマー向けすぎます。代わりに GDevelop ではもっと一般的な表現として「…かどうかをチェックします」を使います。たとえば「レースが終了したかチェックします。」のような感じです。 -* 拡張機能の長い説明は、Markdown 記法でリストにしたり、式名を逆引用符(`)で括って等幅フォントで表示されるようにして、読みやすさに配慮してください。 - -### ビヘイビア - - * ビヘイビアについては、その使い方を説明してください(オブジェクトの要件を含む)。 - * ビヘイビアのプロパティについて。 - * 真偽値の場合は、真の場合に実行することを説明に使ってください。「もし真であれば、パワーアップを有効化します」とは**決して書かないでください**。代わりに「パワーアップを有効化します」とだけ書きます。 - - -### 互換性 - - * 拡張機能が OS やプラットフォーム依存の機能を使用している場合は、GDevelop が対応するすべてのプラットフォームでそれが正常に動作することを確認してください。対象は Web ブラウザー、デスクトップ(少なくとも Windows、macOS、Linux にエクスポートして確認)、Android(エクスポートして確認)です。 - -###JavaScript -[JavaScript コードイベント](/ja/gdevelop5/events/js-code)を使って JavaScript を書けます。ある関数を GDevelop の複数のアクション/条件/式に使いたい場合は、グローバルの `gdjs` オブジェクト内に、拡張機能と同じ名前の`名前空間`を作成し、そこに関数を格納してください。たとえば、ある拡張機能の機能がコントローラーに依存する場合は、次のようにします。 - -```javascript -gdjs._extensionController = {}; -``` - -```javascript -gdjs._extensionController.myMethod = function (arguments) { - // ... -} -``` \ No newline at end of file diff --git a/docs/ja/gdevelop5/extensions/create.md b/docs/ja/gdevelop5/extensions/create.md deleted file mode 100644 index 8991a01e35a..00000000000 --- a/docs/ja/gdevelop5/extensions/create.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: 拡張機能の作成 (ビヘイビア, 条件, アクション, 式) ---- -# 拡張機能の作成 (ビヘイビア, 条件, アクション, 式) - -プロジェクト内で、ゲームの新しいビヘイビア、アクション、条件、または式を直接作成することもできます。シーン(または外部イベント)の通常の [イベントの編集](/ja/gdevelop5/interface/events-editor) から作成できます。 - -## 新しい拡張機能の作成 - -最初のステップは、新しい拡張機能を作成することです。これは、\[機能/ビヘイビア\]の下の「+」ボタンをクリックすることにより、[プロジェクトマネージャー](/gdevelop5/interface/project-manager)からワンクリックで実行できます。 - -![](/gdevelop5/extensions/add-extension-button.png) - -新しい拡張機能が追加されます。拡張機能が提供するものを示唆するような名前にすぐに名前を変更することをお勧めします。これを行うには、拡張機能を右クリックして「名前の変更」を選択します。英数字とアンダースコアのみがサポートされています。 - -!!! note - - Fたとえば、オブジェクトを点滅させる拡張機能を作成する場合は「Flash」、戦場の戦車のようにオブジェクトを制御する動作を作成する場合は「TankEnemies」などの名前を使用できます。 - -最後に、拡張機能をクリックして開きます。これで、拡張機能で新しいビヘイビアまたは関数(または両方)を作成できます。 - -### 新しい関数の作成 - -関数は、イベントシートで使用できるカスタムアクション、条件、または式です。関数の作成の詳細については、[関数の作成はこちら](/ja/gdevelop5/events/functions)をご覧ください。 - -### 新しいビヘイビアの作成 - -カスタムビヘイビアは、オブジェクトに対して実行できる通常のビヘイビアに似ています。ビヘイビアに組み込まれたロジックに従って、オブジェクトを制御(移動、アニメーション、テキスト、サイズなどを変更)するために使用できます。 - -こちらも [ビヘイビアの作成](/gdevelop5/behaviors/events-based-behaviors)も参考にして下さい。 - -## 拡張機能を共有する - -便利で再利用可能なビヘイビアや関数などの拡張機能を作成した場合、それらを[コミュニティと共有](/ja/gdevelop5/extensions/share)できます。 diff --git a/docs/ja/gdevelop5/extensions/extend-gdevelop.md b/docs/ja/gdevelop5/extensions/extend-gdevelop.md deleted file mode 100644 index 32cebb5105b..00000000000 --- a/docs/ja/gdevelop5/extensions/extend-gdevelop.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: GDevelopの拡張(イベント/JavaScript/C++を使用) ---- -# GDevelopの拡張(イベント/JavaScript/C++を使用) - -GDevelopはモジュール式です。ニーズに合わせて拡張できます。特に、ゲームで使用可能なすべての機能(オブジェクト、動作、およびイベント)は、拡張システムに基づいています。GDevelopは[オープンソース](https://github.com/4ian/GD)であるため、既存の拡張機能に貢献したり、新しい拡張機能を作成したりできます。また、ゲームエンジンまたはエディターのソースコードを確認して、改善点を開発することもできます。 - -## イベントを使用した関数とカスタムビヘイビア - -➡️ GDevelopは、**[関数](/gdevelop5/events/functions)**を使用して新しいアクション、条件、および式を作成できます。イベントを使用して**[新しいビヘイビアを作成](/gdevelop5/behaviors/events-based-behaviors)**することもできます。 - -便利な関数やビヘイビアを開発したら、[コミュニティに公開しましょう](/gdevelop5/extensions/share)。 - -## ゲームエンジンの拡張機能(JavaScript) - -ゲームエンジンによって提供されるすべての機能は、ゲームエンジンコア(GDJS)と拡張機能に基づいています。 - -➡️新しいオブジェクト、新しいビヘイビア、または新しいアクション/条件/式を作成する場合は、**[GDevelopの拡張機能の作成と開発に関するこのページ](https://github.com/4ian/GD/blob/master/newIDE/README-extensions.md)**をお読みください。. - -JavaScriptに加えて、Node.jsの初歩的な知識が必要です - -## エディターの改良 (JavaScript, C++) - -エディターもJavaScriptに基づいており、簡単に変更および改良できます。 - -➡️次の[GDevelop IDE(英語ページ)](https://github.com/4ian/GD/blob/master/newIDE/README.md)も参考にして下さい。 - -JavaScriptの使用を開始するにはNode.jsが必要です。また、React.jsについてのチュートリアルを読むこともお勧めします。エディター全体がモジュール性とパフォーマンスのためにそれに基づいているためです。 - -### テーマの作成 - -GDevelopの新しいテーマも作成できます。次の [テーマの作り方](/ja/gdevelop5/all-features/themes)も参考にして下さい。 diff --git a/docs/ja/gdevelop5/extensions/index.md b/docs/ja/gdevelop5/extensions/index.md deleted file mode 100644 index 21f4f836381..00000000000 --- a/docs/ja/gdevelop5/extensions/index.md +++ /dev/null @@ -1,204 +0,0 @@ ---- -title: 拡張機能 ---- -# 拡張機能 - -GDevelop は機能について柔軟な方法を組み込んでいます。すなわち[コア機能](/ja/gdevelop5/all-features)に加えて、新しい機能が拡張機能によって提供されます。拡張機能にはオブジェクト、ビヘイビア、アクション、条件、式、イベントを含むことができます。 - -[GDevelop から直接](/ja/gdevelop5/extensions/search)、コミュニティ製の拡張機能のコレクションにアクセスできます。以下がそのリストです。また自分のゲームのために、新しいビヘイビア、アクション、条件、式を提供する拡張機能を自分のプロジェクト内で直接[作成する](/ja/gdevelop5/extensions/create)こともできます。(訳注:検索画面では拡張機能名は翻訳されないため、実用性の観点から以下のリストの拡張機能名は原文のままにしています) - -## Advanced p2p event handling -![](https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Applications and Programming/Applications and Programming_sitemap_map_ux_application.svg) -Allows handling all received P2P events at once instead of one per frame. It is more complex but also potentially more performant. - -## Align object on the screen -![](https://resources.gdevelop-app.com/assets/Icons/format-vertical-align-center.svg) -オブジェクトをウィンドウ(またはスクリーンサイズ)に対する相対位置でシーン上に整列します。 - -## Animated Back and Forth Movement -![](https://resources.gdevelop-app.com/assets/Icons/repeat.svg) -オブジェクトを一定の距離で左右に行ったり来たり往復移動させます。オブジェクトに 2 つのアニメーション「GoLeft」(左へ)と「TurnLeft」(左から折り返し)を追加してください。 - -## Auto typing animation for texts ("typewriter" effect) -![](https://resources.gdevelop-app.com/assets/Icons/typewriter.svg) -テキストが 1 文字ずつ書かれていく様子をアニメーションさせます(「タイプライター」効果とも呼ばれます)。タイピングの速さをカスタマイズできます。ビジュアルノベルやセリフをしゃべるシーンに役立ちます。 - -## Back button -![](https://resources.gdevelop-app.com/assets/Icons/keyboard-backspace.svg) -戻るボタンとそれに関連付けする操作を追加します。 - -## Bounce -![](https://resources.gdevelop-app.com/assets/Icons/volleyball.svg) -オブジェクトがほかのオブジェクトに接触したときに跳ね返るアクションを提供します。永続的なフォースをオブジェクトに追加し、ほかのオブジェクトに接触したときにこのアクションを使って、リアルな跳ね返りを表現できます。 - -## Camera Shake -![](https://resources.gdevelop-app.com/assets/Icons/vector-difference-ab.svg) -1 つ以上のメソッド(位置、角度、ズーム)を組み合わせて、指定したレイヤーのカメラを震わせます。 - -## Checkbox -![](https://resources.gdevelop-app.com/assets/Icons/checkbox-marked.svg) -Checkbox that can be toggled by a left-click or touch. - -## Clipboard -![](https://resources.gdevelop-app.com/assets/Icons/clipboard-text-multiple-outline.svg) -クリップボードの内容を返す式です。 - -## Color Conversion -![](https://resources.gdevelop-app.com/assets/Icons/invert-colors.svg) -RGB 形式の色をさまざまな他形式の色(HSV、HSL、名前付き色)と相互変換する式です。 - -## Compressor -![](https://resources.gdevelop-app.com/assets/Icons/folder-zip-outline.svg) -文字列を圧縮したり展開します。 - -## Create multiple copies of an object -![](https://resources.gdevelop-app.com/assets/Icons/grid.svg) -指定したオブジェクトのコピーを作成します。行列数、行と列の間隔、左上の開始位置、オブジェクトを作成するレイヤー、オブジェクトの Z オーダーを設定できます。 - -## Cursor type -![](https://resources.gdevelop-app.com/assets/Icons/cursor-default-outline.svg) -カーソルの種類を変更するアクションを提供します。またオブジェクトをホバーしたときにカーソルを変更するビヘイビアも提供します。 - -## Double-click -![](https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Computers and Hardware/Computers and Hardware_mouse_wireless_pc.svg) -マウスのダブルクリックや、タッチスクリーンのダブルタップをチェックします。 - -## Drag Camera With Pointer -![](https://resources.gdevelop-app.com/assets/Icons/drag-variant.svg) -マウスドラッグやタッチによるスクロールでカメラを移動するアクションです。垂直方向、水平方向、またはその両方向に対応します。 - -## Draggable Slider Control -![](https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/UI Essentials/UI Essentials_sliders_options.svg) -Use a shape-painter object to draw a horizontal slider that can be dragged by the users. - -## Extended math support -![](https://resources.gdevelop-app.com/assets/Icons/function-variant.svg) -数学関数と定数式を追加します。 - -## Extended variables support -![](https://resources.gdevelop-app.com/assets/Icons/variable-box.svg) -変数の存在をチェックする条件と、存在する変数をメモリーから削除するアクションです。 - -## Fire bullets -![](https://resources.gdevelop-app.com/assets/Icons/bullet.svg) -オブジェクトに射撃機能を追加します。速度や角度、射撃間隔をカスタマイズできます。 - -## Flash (blink) -![](https://resources.gdevelop-app.com/assets/Icons/flash-outline.svg) -オブジェクトを一定間隔で点滅(チカチカ)させます。つまり表示と非表示の状態を交互に切り替えます。 -この効果は Flash アクションで実行します。 - -## Flash layer -![](https://resources.gdevelop-app.com/assets/Icons/flash-outline.svg) -指定した時間だけレイヤーを表示し、その後で非表示にします。 - -## Gamepads (controllers) -![](https://resources.gdevelop-app.com/assets/Icons/gamepad-variant-outline.svg) -ゲームパッド(または他のコントローラー)対応を追加します。ボタンの押下や軸の位置、トリガーの圧力などの情報にアクセスできます。 - -## Health (life points and damages for objects) -![](https://resources.gdevelop-app.com/assets/Icons/heart-half-full.svg) -オブジェクトのライフ値を管理するアクションと条件を追加します。オブジェクトがダメージを受けると、体力値が減少します。条件で死亡をチェックできます。 - -## Internet Connectivity -![](https://resources.gdevelop-app.com/assets/Icons/access-point-network.svg) -実行中のデバイスがインターネットに接続しているかどうかをチェックします。 - -## Konami Code -![](https://resources.gdevelop-app.com/assets/Icons/alpha-a-circle-outline.svg) -昔のコナミコード(上上下下左右左右BA)入力に対応させます。隠しコマンドやイースターエッグに利用できます。 - -## Kongregate -![](https://resources.gdevelop-app.com/assets/Icons/alpha-k-circle.svg) -Kongregate.com でゲームを公開した場合、Kongregate サービス経由でユーザーや送信されたスコア情報を取得したり、Kongregate ページと通信できます。 - -## Language -![](https://resources.gdevelop-app.com/assets/Icons/earth.svg) -ブラウザーやデバイスの設定をもとに、ユーザーの使用言語を切り替えます。 - -## Linear Movement -![](https://resources.gdevelop-app.com/assets/Icons/ray-start-arrow.svg) -オブジェクトを直線移動します。X 軸と Y 軸の速度を設定できます。単純な敵機や銃弾など、画面を直線状に移動するオブジェクトに有用です。 - -## MQTT Client (advanced) -![](https://resources.gdevelop-app.com/assets/Icons/message-flash.svg) -GDevelop 用の MQTT クライアントです。MQTT サーバーと接続し、メッセージを送受信します。 - -## Noise generator -![](https://resources.gdevelop-app.com/assets/Icons/sprinkler.svg) -パーリンノイズとシンプレックスノイズ(2D または 3D)を生成する式です。地形など各種自動生成に利用できます。 - -## Parallax for Tiled Sprite -![](https://resources.gdevelop-app.com/assets/Icons/image-move.svg) -背景用の Tiled スプライトオブジェクトをアニメーションさせるビヘイビアです。カメラ移動によるパララックス効果を再現します。 - -## Random Color Generator -![](https://resources.gdevelop-app.com/assets/Icons/format-color-fill.svg) -ランダムな色を生成します。シーンやオブジェクトなど、色を入力できる場所に使えます。 - -## Read pixels -![](https://resources.gdevelop-app.com/assets/Icons/Glyphster Pack/Master/SVG/Computers and Hardware/Computers and Hardware_screen_computer_image.svg) -Read the values of pixels on the screen. - -## Rotate a string 13 characters -![](https://resources.gdevelop-app.com/assets/Icons/format-text-rotation-none.svg) -文字列中のすべてのアルファベット文字を 13 文字ごとに入れ替える拡張機能です。 - -## Sine (or ellipsis) Movement -![](https://resources.gdevelop-app.com/assets/Icons/sine-wave.svg) -オブジェクトをサイン波または楕円軌道にしたがって X 軸上と Y 軸上をなめらかに移動させます。 - -## Snap objects to a virtual grid -![](https://resources.gdevelop-app.com/assets/Icons/view-grid-plus-outline.svg) -ゲーム中にオブジェクトを仮想のグリッド上に吸着させるアクションです。 - -## Sprite Masking -![](https://resources.gdevelop-app.com/assets/Icons/transition-masked.svg) -スプライトオブジェクトを使ってほかのオブジェクトをマスクします。 - -## Stay On Screen -![](https://resources.gdevelop-app.com/assets/Icons/monitor-screenshot.svg) -オブジェクトの位置をカメラのビューポート内部に設定しなおして、画面の表示範囲内に常に留まりつづけるようにします。 - -## Swipe Detector -![](https://resources.gdevelop-app.com/assets/Icons/gesture-swipe-right.svg) -スクリーン上のスワイプを感知するビヘイビアです。方向と速度などの情報を取得できます。 - -## Mobile virtual keyboard for Text Entry -![](https://resources.gdevelop-app.com/assets/Icons/keyboard-close.svg) -モバイル(iOS、Android)向けの仮想キーボードの表示を切り替えます。テキスト入力オブジェクトに使います。 - -## Timed Back and Forth Movement -![](https://resources.gdevelop-app.com/assets/Icons/repeat.svg) -このビヘイビアは、(敵のような)オブジェクトを一定時間または一定の距離移動した後、それを引き返して、縦や横に往復させ続けます。 - -## Time formatting -![](https://resources.gdevelop-app.com/assets/Icons/clock-digital.svg) -秒単位の時間を HH:MM:SS のような形式に変換する拡張機能です。画面上にタイマーを表示する場合に便利です。 - -## Toggle switch -![](https://resources.gdevelop-app.com/assets/Icons/Glyphster Pack/Master/SVG/Interface Elements/Interface Elements_interface_ui_toggle_switch.svg) -Toggle switch that users can click or touch. - -## Make object travel to random positions -![](https://resources.gdevelop-app.com/assets/Icons/axis-arrow.svg) -オブジェクトをランダムな位置に移動させます(経路探索ビヘイビアを使用します)。 - -## Yandex.Games SDK (ads) -![](https://resources.gdevelop-app.com/assets/Icons/cog.svg) -Yandex.Games プラットフォームで公開したゲームに、Yandex.Games SDK を使って広告を表示します。 - -## YSort -![](https://resources.gdevelop-app.com/assets/Icons/sort-ascending.svg) -オブジェクトの Y 位置に基づいて Z オーダーを変更することにより、疑似的な奥行き表現を作成します。アイソメトリック(等角投影法の斜め見下ろし型)ゲームやトップダウンビューのゲーム、RPG などに利用できます。 - - -## 自分のための拡張機能をつくる - -自分のゲームのために、新しいビヘイビア、アクション、条件、式をプロジェクト内で直接、しかも簡単に作成できます。 - -くわしくは下記を参照してください。 - -* [独自の拡張機能を作成する](/ja/gdevelop5/extensions/create) -* [拡張機能をコミュニティに共有する](/ja/gdevelop5/extensions/share) -* [GDevelop を JavaScript や C++ で拡張する](/ja/gdevelop5/extensions/extend-gdevelop) \ No newline at end of file diff --git a/docs/ja/gdevelop5/extensions/search.md b/docs/ja/gdevelop5/extensions/search.md deleted file mode 100644 index 85f5bedde08..00000000000 --- a/docs/ja/gdevelop5/extensions/search.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: 新しい拡張機能を検索する ---- -# 新しい拡張機能を検索する - -GDevelop でゲームのために**新しいビヘイビア、条件、アクション、式**を探すのは簡単です。[プロジェクトマネージャー](/ja/gdevelop5/interface/project-manager)で[関数 / ビヘイビア]をクリックし、[新しい拡張機能を検索する]を選びます。 - -![](/gdevelop5/extensions/search-new-extensions-button.png) - -検索バーと[コミュニティ製の拡張機能リスト](/ja/gdevelop5/extensions)が並んだダイアログが表示されます。 - -![](/gdevelop5/extensions/search-new-extensions-dialog.png) - -検索バーに何か入力すると、その語句に一致する拡張機能がフィルターされます。検索バーの下に並ぶタグをクリックして、拡張機能を見て回ることもできます。 -!!! tip - - - **拡張機能をインポート**ボタンから、任意の場所にある拡張機能ファイルをインポートできます。 - -拡張機能は、その名前と簡単な説明付きで表示されます。その拡張機能が何をするものなのか、だいたい見当がつくでしょう。 - -!!! tip - - **[こちらからもコミュニティ製の拡張機能リスト](/ja/gdevelop5/extensions)をブラウズ**できます。 - -## 拡張機能をインストールする - -興味を引く拡張機能が見つかったら、それをクリックするとくわしい説明を表示するウィンドウが開きます。例として「Flash (blink)」拡張機能の概要を次に示します。 - -![](/gdevelop5/extensions/flash-extension.png) - -説明にはふつう拡張機能の使い方が書かれています。この例の場合は、これがオブジェクトに追加するビヘイビアであること、オブジェクトを短時間点滅させる(ちょうどレトロなプラットフォーマーで敵の攻撃を食らったときのような)アクションを含むことが書いてあります。 - -**プロジェクトにインストール**をクリックすると、拡張機能がダウンロードされます。完了すると、[プロジェクトマネージャー](/ja/gdevelop5/interface/project-manager)の関数/ビヘイビアリストに追加された機能が表示されます。 - -![](/gdevelop5/extensions/extensions-list-with-flash.png) - -## 新しい拡張機能を使う - -拡張機能がインストールされたら、通常は次のようなことが可能になります。 - -* オブジェクトに[新しいビヘイビアを追加](/ja/gdevelop5/behaviors)するときに、**ビヘイビア**リストに表示されます。 -* ビヘイビアを提供しない場合でも、**アクションか条件**は追加されます。イベントを編集するときに、アクションリストか条件リストに表示されます。カテゴリー名は拡張機能と同じ名前になります。 - -たとえば *Flash* 拡張機能は 2 つの新しいアクションを提供します。 - -![](/gdevelop5/extensions/flash-extension-actions.png) - -これらは *Flash* ビヘイビアを追加したオブジェクトで利用できます。 - -## 独自のビヘイビア、アクション、条件、拡張機能を作成する - -いまシーンで使用しているイベントをそのまま使って、簡単に新しい拡張機能を作成できます。これはゲームを体系化してオブジェクトを拡張する、実に強力な機能です。 - -くわしくは[独自の拡張機能を作成する](/ja/gdevelop5/extensions/create)を参照してください。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/extensions/share.md b/docs/ja/gdevelop5/extensions/share.md deleted file mode 100644 index f76d14b126f..00000000000 --- a/docs/ja/gdevelop5/extensions/share.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: 作成した拡張機能の公開 ---- -# 作成した拡張機能の公開 - -[GDevelopで検索して使用できる拡張機能](/gdevelop5/extensions/search) は、コミュニティによって作成および共有、公開されています。 - -複数のゲームで役立つ再利用可能なビヘイビア、または一連のアクション/条件/式を作成した場合は、それらをコミュニティと共有することを検討してください!そうするのはとても簡単です。 - -## 1) 拡張機能をエクスポートする - -[プロジェクトマネージャー](/gdevelop5/interface/project-manager)から拡張機能を開きます。機能リストの上部に、「拡張オプションの編集」ボタンがあります。それをクリックして、拡張機能の構成を開きます。 - -![](/gdevelop5/extensions/extension-options.png) - -### 1.1) 拡張情報を入力し完成させます - -すべてのフィールド、拡張機能の名前と説明を含めて入力します - -* *名前*は検索で表示されます(名前は人々があなたの拡張機能を検索するために有用です) * *短い説明*は検索結果に表示されます。 * *説明*は[拡張機能をインストールする](/ja/gdevelop5/extensions/search)ときに表示されます。拡張機能の使用方法に関する簡単な説明が含まれている必要があります。 * *バージョン*は、X.Y.Zフォーマットのバージョン番号です。例:1.0.0。拡張機能の準備が整っていると確信している場合は1.0.0から、またはまだ変更される可能性がある場合は、0.0.1から始めます。 * *タグ*は、拡張機能を検索するのに役立つコンマ区切りの「タグ」のリストです。 [拡張機能を検索するとき](/ja/gdevelop5/extensions/search)に既存のタグを読んで、インスピレーションを得てください。既存のタグを可能な限り再利用します。 * *作成者*は、名前、メール、またはGitHubハンドル(所有している場合)です。 - -### 1.2) 拡張機能がベストプラクティスに従っていることを確認します - -[拡張機能ベストプラクティス](/ja/gdevelop5/extensions/best-practices) を読んでください。 - -### 1.3) 拡張機能を.jsonファイルにエクスポートします - -準備ができたら、下部にある「エクスポート拡張機能」をクリックしてから、「ファイルにエクスポート」をクリックします。ファイルを選択し、.json拡張子のついた名前を入力します。例:Flash.json - -## 2) 拡張機能をコミュニティに登録する - -[拡張機能のベストプラクティス](/ja/gdevelop5/extensions/best-practices)に従っているか確認したら、拡張機能をコミュニティに登録しましょう。 以下の手順では、[GitHub プロフィール](https://github.com/join) アカウントが必要です。 - -新しい拡張機能を登録するには、まず [GitHubレポジトリで新規issue](https://github.com/4ian/GDevelop-extensions/issues/new/choose) が必要です。(または、別のディレクトリで登録する方法もあります。 [レポジトリをお読み下さい](https://github.com/4ian/GDevelop-extensions)). - -完了したすべての情報に、あなたのjsonファイルファイルを添付し、その後、チェックリストを確認してから提出します。[こちらの例](https://github.com/4ian/GDevelop-extensions/issues/1)をご覧ください。 - -拡張機能はまずレビューされるため、公開する前に変更を加えることができます。高品質の拡張機能であれば、公開されます! diff --git a/docs/ja/gdevelop5/getting_started.md b/docs/ja/gdevelop5/getting_started.md deleted file mode 100644 index 0826d372a0a..00000000000 --- a/docs/ja/gdevelop5/getting_started.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: はじめに ---- -# はじめに - -GDevelop はフリーでオープンソース、そしてクロスプラットフォームのゲーム制作ツールです。誰でもプログラミング*不要*でゲームを作れます。 - -このガイドでは、GDevelop を入手して実行するまでを説明します。 - -## ステップ 1: GDevelop のインストール - -GDevelop は Windows、macOS、Linux の最新版を含む主要な OS すべてで利用できます。まずは [gdevelop.io/download](https://gdevelop.io/download/) から GDevelop をダウンロードしましょう。 - -インストール手順は、OS に応じて下記を参照してください。 - -* **Windows**:インストーラーをダブルクリックしてください。GDevelop がインストールされて起動し、デスクトップにアイコンが追加されます。 -* **macOS**: - * DMG ファイルを開きます。 - * "GDevelop.app" を「アプリケーション」フォルダーにドラッグします。 -* **Linux**: - * ターミナルを開きます。 - * `chmod a+x GDevelop*.AppImage` と入力して、AppImage ファイルに実行権限を付けます。 - * `./GDevelop*.AppImage` と入力して実行します(またはファイルをダブルクリック)。 - -!!! note - - インストールをせずに [editor.gdevelop.io](https://editor.gdevelop.io/) でオンライン版の GDevelop を利用することもできます。ただし通常はデスクトップ版の使用をおすすめします。 - -## ステップ 2: プロジェクトの新規作成 - -1. GDevelop を起動します。 -2. **新しいプロジェクトを作成する**をクリックします。 -3. プロジェクトを作成する場所を指定します。 -4. **スターター**タブから**プラットフォーム**や**8ビットスペースシューター**などのプロジェクトを選ぶか、あるいは**空のゲーム**を選んでゼロから作りはじめます。 - -![](/gdevelop5/getting-started-create-new-project.jpg) - -**スターター**タブのプロジェクトは、ゲームとして一通り完成しています。一方、**例**タブのプロジェクトは特定の機能の作り方を示すものです。 - -## ステップ 3: ゲームのプレビュー - -プロジェクトに一つでもシーンがあれば(スタータープロジェクトはどれもそうですが)、ツールバーの**プレビュー**ボタンが有効になります。ボタンを押すと、ゲームのプレビューが起動します。 - -![](/gdevelop5/getting-started-preview-button.jpg) - -## 次のステップ - -[プラットフォーマー チュートリアル](/ja/gdevelop5/tutorials/platformer)を読んでください。白紙の状態からプラットフォーマーを作る方法を学び、オブジェクトやイベント、式など GDevelop を構成する多くの基礎概念にふれることができるでしょう。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/index.md b/docs/ja/gdevelop5/index.md deleted file mode 100644 index 2dba53d1330..00000000000 --- a/docs/ja/gdevelop5/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: GDevelop 5 ドキュメント ---- -# GDevelop 5 ドキュメント - -GDevelop はフリーでオープンソース、そしてクロスプラットフォームのゲーム制作ツールです。誰でもプログラミング*不要*でゲームを作れます。GDevelop でゲームを作るために知る必要のあることは、すべてこの Wiki に書いてあります。今までゲームを作ったことが一度もなかったとしても、問題ありません。 - -![](/gdevelop5/interface/scene-editor/pasted/20200628-132624.png) - -## 次のステップ - -* GDevelop をまだインストールしていなければ、[はじめに](/ja/gdevelop5/getting_started)を読んでください。 -* ゲームを作るのが初めてという方は、[ゲーム作りの基本コンセプト](/ja/gdevelop5/tutorials/basic-game-making-concepts)を読んでください。 -* ゲームを作る準備ができたと思ったら、[チュートリアル](/ja/gdevelop5/tutorials)を見てまわりましょう。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/interface/debugger.md b/docs/ja/gdevelop5/interface/debugger.md deleted file mode 100644 index 9b005fa7dab..00000000000 --- a/docs/ja/gdevelop5/interface/debugger.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: ゲームデバッガとプロファイラー ---- -# ゲームデバッガとプロファイラー - -**デバッガ**は、あなたがゲームの内容を検査できるようにするツールです。特に、グローバル変数、シーン変数、オブジェクトのインスタンスの変数を検査するのに有効です。これは強力なツールです。 - -ゲームはいつでも一時停止できます。デバッガを使用することは、何かが意図したとおりに機能しない理由を理解したり、ゲームで簡単なテストを実行したりするのに最適な方法です。 - -プロファイラーは、あなたのゲームの実行中にエンジンのさまざまな部分で費やされた時間を計測するツールです。ゲームの多くのリソースを消費する可能性のあるボトルネックやイベントを見つけるのに役立ちます。[プロファイラーの使用について詳しくはこちらをご覧ください!](/gdevelop5/interface/debugger/profile-your-game) - -!!! note - - - これはGDevelopの高度な機能です。使用する場合は、サブスクリプションを取得してGDevelopを支援して下さい! [getting a subscription](/ja/gdevelop5/interface/profile)! - - -![](/gdevelop5/interface/gdevelop-debugger_2x.png) - -## デバッガの起動 - -デバッガを起動するには、シーンエディターのツールバーで[デバッグ]アイコンをクリックします - -![](/gdevelop5/interface/debug-icon_2x.png) - -メニューで、「デバッガとパフォーマンスプロファイラーでプレビュー」を選択します。これにより、「デバッガ」という新しいタブが開き、通常どおりゲームのプレビューが起動します。 - -プレビューを閉じた場合でも、デバッガタブを閉じたままにできることに注意してください。これにより、起動するプレビュー(通常の[プレビュー]ボタンを使用)はデバッガーに接続されます。 - -ゲームが起動された直後は、デバッガは空です: - -![](/gdevelop5/interface/empty-debugger_2x.png) - -ゲームのデータを取得するには、いつでも**「更新」**を クリックしてください。 - -![](/gdevelop5/interface/debugger-refresh-button_2x.png) - -ツールバーの**「一時停止」**ボタンを 使用することもできます。 - -## ゲームのシーンの検査 - -現在実行中のシーンは、リストのシーンアイテムの下にリストされます。 - -![](/gdevelop5/interface/inspector-list.png) - -シーン名をクリックすると、このシーンのインスペクターが右側に表示されます。このインスペクターには、シーンのレイヤーと、シーン上にオブジェクトの新しいインスタンスを作成するボタンが含まれています。 - - -### シーンに新しいインスタンスを作成します - -新しいインスタンスを作成するには、インスタンスを作成するシーンの名前をクリックします。オブジェクトの名前を書き、作成をクリックします。 - -![](/gdevelop5/interface/create-instance.png) - -インスタンスは、Zオーダー0のベースレイヤー上の位置0; 0に作成されます。その後、インスタンスのリストでそれを見つけられ、位置、角度、レイヤーを変更できます… - -## インスタンスの検査と編集 - -リストでは、実行中のすべてのシーンの**インスタンス**を見つけることができます。インスタンスはオブジェクト名でグループ化されます。オブジェクト名をクリックすると、シーンに存在するこのオブジェクトのインスタンスのリストが表示されます。インスタンス番号(各インスタンスには一意の番号があります)をクリックして検査します。 - -![](/gdevelop5/interface/instance-inspector.png) - -インスペクターには、インスタンスの一般的なプロパティ、たとえば位置、回転、レイヤーなどが表示されます。これらのプロパティのそれぞれについて、**値をクリックして編集できます**。 - -![](/gdevelop5/interface/debugger-inspector-edit-value.png) - -小さな**検証ボタン**(チェックアイコンが付いたボタン)をクリックして、変更を検証します。 - -**インスタンス** の変数を表示して変更することもできます(変数の詳細については、以下を参照してください) - -## 変数の検査と編集 - -ゲーム全体の変数(グローバル変数)、シーンの変数(シーン変数)、またはオブジェクトの特定のインスタンス(インスタンス変数)を検査できます。 - -これを行うには、リストから検査する**グローバル変数**、**シーン変数**、またはインスタンス番号をクリックします - -変数は、変数名と値(数値またはテキスト)がリスト表示されます。「Life」変数を持つオブジェクトのインスタンスの例を次に示します。 -![](/gdevelop5/interface/instance-variables.png) - -他のフィールドと同様に、**変数の値をクリック**して変更できます。変数の値に従ってゲームがどのように動作するかを確認し、イベントが適切に機能していることをテストするのに良い方法です。 - -変数は構造体にすることもできます。構造体は、変数の中に他の変数を保持します。この場合、変数の値(数値またはテキスト)を表示する代わりに、子変数を含むサブリストが表示されます。 - -以下は、ゲームのオプションを保存するための子変数を含む変数「Options」の例です -![](/gdevelop5/interface/structure-variable-inspector.png) - -他の子変数の値を変更することもできます。 - -## 作ったゲームのパフォーマンスをプロファイルします - -プロファイラーは、ゲームの実行中にエンジンのさまざまな部分で費やされた時間を測定するデバッガーに含まれるツールです。イベントを含む各セクションの内訳が表示されます -[プロファイラーについてはこちら](/gdevelop5/interface/debugger/profile-your-game) \ No newline at end of file diff --git a/docs/ja/gdevelop5/interface/events-editor.md b/docs/ja/gdevelop5/interface/events-editor.md deleted file mode 100644 index 56b19ad4bac..00000000000 --- a/docs/ja/gdevelop5/interface/events-editor.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: イベントエディター ---- -# イベントエディター - -シーン(または外部イベント)を開くと、イベントエディターがタブとして表示されます。 - -![](/gdevelop5/interface/sceneeventstab.png) - -イベントエディターでは、実際のゲームプレイ中に実施されるイベントを追加します。イベントを使用して、ゲームのすべての「ルール」を作成できます。イベントエディターは、ゲームを視覚的にプログラムする機能を提供するツールです。イベントは誰でも読み取り可能で、高度なプログラミング知識がなくても作成できます。 - -[シーンエディター](/ja/gdevelop5/interface/scene-editor)とイベントエディターを切り替えるには、ウィンドウ上部のタブを使用します。 -![](/gdevelop5/scene-events-tab.png) - -イベントエディタに切り替えると、ツールバーが変更されて新しいツールが表示されることで確認できます。 -![](/gdevelop5/events-editor-toolset.png) - -## イベントの追加 - -「イベントの追加」ボタンをクリックしてイベントを追加します。 -![](/gdevelop5/add-event-button.png) - -このボタンをクリックすると、エディター内に空のイベントが画面に表示されます -![](/gdevelop5/blank-event.png) - -イベントエディターでは、いくつものイベントブロックを追加できます。各イベントには、さまざまな条件とアクションを設定できます。イベントを追加したら、条件とアクションを使用してゲームのロジックを作成できます。 -このページでイベントの詳細をご覧ください: [events](/ja/gdevelop5/events). - -## サブイベントの追加 - -「サブイベントを追加」ボタンをクリックすると、選択したイベントに子イベントブロックを追加できます。 -![](/gdevelop5/sub-event-button.png) - -ボタンをクリックすると、選択したイベントの下に空白のサブイベントが表示されます。 -![](/gdevelop5/blank-sub-event.png) - -//サブイベントは、親イベントの条件がtrueの場合にのみ実行されます。// サブイベントは、同じ条件の繰り返しを避けるのに有効です。ロジックを読みやすくします。 - -## コメントの追加 - -[コメントの追加]ボタンをクリックすると、イベントのリストにコメントを追加できます。コメントは、複雑なイベントに説明を追加するのに役立ちます。任意のテキストを含めることができます。もちろん日本語でコメントを入力することも可能です。 -![](/gdevelop5/add-comment-button.png) - -コメントは、ゲームやアプリケーションの重要な部分です。イベントを整理したり、イベントの実行内容に関するメモや説明を追加することで、理解しやすくなり間違いも起こりにくくなります。 -![](/gdevelop5/comment-in-editor.png) - -## 他のイベントを追加します (for each, 繰り返し, while...) - -「イベントの追加」ボタンをクリックし、既に追加されているものをクリックすると、色々なイベントにアクセスできます。 -![](/gdevelop5/add-special-events.png) - - [イベントに関しての詳細](/ja/gdevelop5/events) も参照して下さい。 - -## 選択したイベントの削除 - -[選択したイベントを削除]ボタンをクリックすると、選択したイベントがイベントシートから削除されます。(Deleteキーを押すことでもできます) -![](/gdevelop5/delete-selected-events-button.png) - -## 変更を元に戻す/やり直す -これらのボタン(または通常のショートカット)を使用して、変更を元に戻すか、再度適用できます。 -![](/gdevelop5/undo-redo-buttons.png) - -## イベントの検索 -「イベントの検索」ボタンを押すと、画面の下部にパネルが開きます。条件とアクションのパラメーターを、指定の文字列で検索できます。置換パラメータを入力して、イベント内のすべてのテキストを置換することもできます。 - -![](/gdevelop5/search-events-button.png) \ No newline at end of file diff --git a/docs/ja/gdevelop5/interface/games-dashboard.md b/docs/ja/gdevelop5/interface/games-dashboard.md deleted file mode 100644 index 43c943f55e2..00000000000 --- a/docs/ja/gdevelop5/interface/games-dashboard.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: ゲーム ダッシュボード ---- -# ゲーム ダッシュボード - -GDevelop でゲームを作るのは、ゲームを成功させる道のりの一工程にすぎません。ゲームを[エクスポートして公開](/ja/gdevelop5/publishing)したあとは、**どれくらいのプレイヤーがゲームをプレイして、それはどれくらいの時間で、そのうち何人がもう一度プレイしに戻ってきたか**を把握することが重要になります。 - -GDevelop のゲーム ダッシュボードが、これらの問いに答えてくれるでしょう。ワンクリックでゲームを登録し、さまざまなメトリクス情報にアクセスできます。しかも面倒な追跡器やサードパーティーのアプリケーション、プレイヤーの個人情報漏えいのおそれは**一切ありません**。 - -!!! tip - - ゲーム頒布時の使用許諾条件によっては、プレイヤーに対しての事前説明と、データを送信しない手段を提供したくなるかもしれません。これはメトリクスを有効化したり無効化するアクションを使って実現できます。 - -## ゲームを登録する - -ゲームのメトリクス情報にアクセスするための最初の一歩は、ゲームをオンライン登録することです。[GDevelop アカウントを作成済み](/ja/gdevelop5/interface/profile)であることを確認してください(無料です)。ゲームをエクスポートすると、そのゲームを GDevelop オンラインサービスに登録するか訊かれます。 - -![](/gdevelop5/interface/games-dashboard/pasted/20201125-191326.png) - -ボタンをクリックして、ゲームを登録します。エクスポート時でなくても、ファイルメニュー(デスクトップアプリの場合)かプロジェクトマネージャー(Web アプリの場合)からゲーム ダッシュボードを開けば、そこでゲームを登録できます。 -登録が済めば、現在のゲーム ダッシュボードにアクセスできるようになります。 - -![](/gdevelop5/interface/games-dashboard/pasted/20201125-191509.png) - -## ゲームのメトリクスを表示する - -ゲーム ダッシュボードを開くと、タブの中に Analytics タブがあります。そのタブから、ゲームを成功させるカギを握るさまざまな数値を見ることができます。 - -![](/gdevelop5/interface/games-dashboard/pasted/20201125-192056.png) - -次の項目があります。 - - * **セッション**数(ゲームが起動された回数) - * 指定した日の**プレイヤー**数と新規プレイヤー数(以前にゲームを起動したことがないプレイヤー、ただしアンインストールした場合を除く) - * 初回プレイ後 7 日間のあいだに再プレイしたプレイヤー数(「**継続率**」とも呼ばれる) - -GDevelop サブスクリプションを購入していない場合は、セッション数だけ利用できます。これだけでも、ゲームの成功を大まかには判断できます。GDevelop がアナリティクスを提供するためには、セッションメトリクスを収集するためのインフラの維持費用と帯域幅が必要です。そのためサブスクリプションの購入による GDevelop の支援をお願いしています。サブスクリプションはまた、ゲームエンジン開発の将来とコミュニティの強化に貢献しています。 - -!!! note - - これらのデータはゲーム起動時に匿名で収集されます。プライバシー保護の観点から、個人情報は収集も保存もされません。これはつまり、プレイヤー全体の傾向を把握するために有益な*集計*データにアクセスできる一方で、特定のプレイヤーについては何もわからないということを意味します。なぜなら、いかなる個人情報も保存しておらず、プレイイヤーを個別に追跡していないからです。 - -メトリクス情報の構成は今のところとてもシンプルですが、ゲームのセッションについてもっと実体が伝わるような改善を予定しています。 - -## メトリクスの収集について - -GDevelop は匿名の利用メトリクスだけを収集し、用途をゲームのパフォーマンス分析に制限するよう、慎重に調整しています。その一方で、あなた独自の目的のためにほかのメトリクスを収集することも可能です。いかなる場合でも、プライバシーポリシーを明確にすることが重要です(いずれにせよ、ほとんどのアプストアでそれを確認しているでしょうが)。ゲームのユーザーに対して、これらのデータの扱いとプライバシーを尊重していることを説明するのです。 - -!!! tip - - メトリクスの収集を開始する前に**説明を表示**したい場合は、ゲーム開始時にメトリクスの収集を無効化するアクションを実行してください。プレイヤーがメトリクスの収集に同意したら、*その後でメトリクスの収集を有効化するアクションを実行します*。 - -!!! tip - - **いかなるメトリクスの収集**も希望しない場合は、ゲーム開始時にメトリクスの収集を無効化するアクションを実行してください。こうすると、データは何も送信されません。もちろんこれは、ゲームのセッション数を把握できなくなるということでもあります。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/interface/index.md b/docs/ja/gdevelop5/interface/index.md deleted file mode 100644 index 6521aa3e914..00000000000 --- a/docs/ja/gdevelop5/interface/index.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: GDevelop のインターフェース ---- -# GDevelop のインターフェース - -GDevelop の作業インターフェイスは、タブに表示されるエディターを基本とします。これらのエディターを使って、ゲームのさまざまな部分を変更します。 - -![](/gdevelop5/interface/pasted/20200509-231255.png) - -## スタートページ - -GDevelop を起動して最初に表示されるのが、スタート画面です。ここでプロジェクトの作成したり、以前に保存したプロジェクトやチュートリアルをロードします。 - -![](/gdevelop5/gdevelop5startpage.png) - -起動時に、GDevelopは 新しいアップデートをチェックします。新しいアップデートが利用可能な場合は、自動的にダウンロードされます(環境設定で無効にしていなければ)。 - -アップデート状況は、ヘルプメニューの [GDevelop について](/ja/gdevelop5/interface/updates)で確認できます。 - -## プロジェクトマネージャー - -プロジェクトを開くと、左上のボタンをクリックしてプロジェクトマネージャーにアクセスできます。 -![](/gdevelop5/project-manager-button.png) - -プロジェクトマネージャーは、ゲームの構造を表示しています。 - -![](/gdevelop5/interface/pasted/20200406-000213.png) - -プロジェクトマネージャーからゲームに新しい要素を追加し、専用のエディターでそれを開けます。 -くわしくは[プロジェクトマネージャー](/ja/gdevelop5/interface/project-manager)を参照してください。 - -## シーンエディター - -シーン(または外部レイアウト)を開くと、シーンエディターが開きます。 -ここでオブジェクトを作成してシーンに追加することで、ゲームレベルやメニューを設計したり構築できます。 -リストの最初のシーンが、ゲーム起動後に最初に表示されるシーンになります。 - -くわしくは[シーンエディター](/ja/gdevelop5/interface/scene-editor)を参照してください。 - -## イベントエディター - -シーンを開くと(または外部イベントを開くと)、同時にイベントエディターも開きます。この場所でイベントを使って、実際のゲームプレイのロジックを作成し、プレイヤーの操作にゲームが反応するようにしてプレイを組み立てます。 -イベントエディターは、特定のプログラミングの知識や経験がなくてもゲームを視覚的にプログラムできるツールです。 - -くわしくは[イベントエディター](/ja/gdevelop5/interface/events-editor)や[イベント](/ja/gdevelop5/events)を参照してください。 - -## トップメニュー - -画面上部のメニュー(デスクトップバージョンのみ)からゲームを開いたり保存したり、[公開できます](/ja/gdevelop5/publishing)。Web バージョンではプロジェクトマネージャー内にあります。 - -GDevelop の環境設定を開いたり、[GDevelop アカウントのプロファイル](/ja/gdevelop5/interface/profile)確認もできます。 - -## インターフェーステーマ - -好みに応じてインターフェースに違うテーマを適用できます。テーマを変更するには、[**ファイル**]-[**環境設定**]を開きます。 - -自分でテーマを作成して、それを共有することもできます。くわしくは[テーマの作成](/ja/gdevelop5/all-features/themes)を参照してください。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/interface/preview.md b/docs/ja/gdevelop5/interface/preview.md deleted file mode 100644 index ee31a4b855c..00000000000 --- a/docs/ja/gdevelop5/interface/preview.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: ゲームのプレビュー ---- -# ゲームのプレビュー - -プロジェクトを開いたあと、GDevelop のツールバーから再生ボタンを押すといつでもプレビューを起動できます。 - -![](/gdevelop5/interface/preview/pasted/20200628-132309.png) -_左から順にプロジェクトマネージャーボタン、エクスポートボタン、再生ボタン、デバッグボタンです。_ - -再生ボタンを右クリックすると、他のオプションを選ぶこともできます。右隣のデバッグボタンからはネットワークプレビューも開けます。 - -再生ボタンをクリックするとプレビューが起動し、別のウィンドウが開いてそこでゲームを実行します。 - -![](/gdevelop5/interface/preview/pasted/20200628-152852.png) - -## シーンのプレビューを起動する - -再生ボタンのクリックで、ゲームのプレビューを起動できます。デフォルトでは、現在編集中のシーンから(あるいは何のシーンも開いていなければ、最初のシーンから)プレビューを開始します。 - -![](/gdevelop5/preview-button.png) - -プレビューを開始すると、別のウィンドウを開きます。プレビューウィンドウを閉じるとゲームも終了します。 - -### ライブプレビューで最新の変更を反映する - -プレビューでゲームを実行している最中に、再生ボタンをもう一度クリックすることにより、エディターで編集した最新の状態をプレビューに反映することができます。これはゲームをプレイしながらレベルをデザインするときなどにとても便利です。何かを変更したあと、毎回ゲームを再スタートしてレベルの最初からプレイし直す必要はありません。変更をすぐに反映し、画面でそれを見て、テストできます。 - -プレビュー中は再生ボタンのアイコンが変わり、変更をプレビューに反映できることを示します(これを「ライブプレビュー」、またはより専門的にいうと「ホットリロード」と呼びます)。 - -![](/gdevelop5/interface/preview/pasted/20200628-154642.png) - -これをクリックすると、GDevelop は内部的にゲームを再生成し、プレビューを置き換えます。オブジェクトであれシーンであれ、レイヤー、変数、拡張機能、何であれすべての変更が、プレビューに反映されます。 - -![](/gdevelop5/interface/editing_a_level_with_live_preview.gif) - -!!! tip - - これはゲームの何かを微調整するときに特に便利です。たとえば何かのエフェクトのパラメーターや、オブジェクトに追加したビヘイビアのプロパティを変更して、その結果をすぐに確認できます。またプレビューを最初からやり直さずに、イベントがどのように動作するかをチェックするときにも役に立つでしょう。 - -エディターの中には、プレビューを起動するか変更を反映するためのボタンを備えているものもあります。 - -![](/gdevelop5/interface/preview/pasted/20200628-162346.png) - -クリックすると、使用中のエディターでおこなった変更がプレビューに反映されます。 - -特殊な状況下では、まれに GDevelop が変更をプレビューに反映できない場合があります。そのような場合は、プレビューを閉じて新しいプレビューを起動し直すようにうながすダイアログが表示されます。それとは別に、最初からプレビューし直さないといけない状況も考えられます。たとえば敵を破壊してしまって、それをもう一度やりたいような場合です。その場合はただウィンドウを閉じて、もう一度再生ボタンを押してください。 - -### 複数のライブプレビューを開始する - -プレビューを実行中に再生ボタンを右クリックすると、新しいウィンドウで他のプレビューを起動するメニューが表示されます。 - -![](/gdevelop5/interface/preview/pasted/20200628-161539.png) - -複数のプレビューを起動している状態で、再生ボタンをクリックして最新の変更を反映すると、すべての実行中のプレビューが更新されます。 - -### プレビューを開始するシーンをオーバーライドする - -デフォルトでは、現在編集中のシーンからプレビューを開始します。他のシーンから開始したい場合は、いったん目的のシーンをエディターで開き、再生ボタンを右クリックして[プレビューはすべて、このシーンから開始する]を選びます。 - -![](/gdevelop5/interface/preview/pasted/20200628-151214.png) - -プレビューの開始シーンが固定されていることを示す赤い旗がアイコンに追加されます。これで、エディターでどのシーンを開いているかと関係なく、プレビューの開始シーンが決まります。 - -この設定は、同じメニューからオプションのチェックを外すことで、いつでも解除できます。 - -![](/gdevelop5/interface/preview/pasted/20200628-152054.png) - -## ネットワークプレビュー(WiFi/LAN 越しプレビュー)を起動する - -[ネットワークプレビューを起動(WiFi/LAN 越しプレビュー)]ボタンを押すと、エディターと同じネットワークに接続したモバイル端末(あるいは他のコンピューター)上でゲームをプレビューできます。 - -![](/gdevelop5/interface/preview/pasted/20200628-133253.png) - -ボタンをクリックすると、プレビューを起動する IP アドレスを示すウィンドウが表示されます。 -![](/gdevelop5/preview-wifi-window.png) - -この IP アドレスをスマートフォンのブラウザー(あるいは他のコンピューターのブラウザー)に入力します。するとプレビューが読み込まれます。 - -![](/gdevelop5/interface/preview-wifi-running.png) - -これで IP アドレス用のポップアップウィンドウを閉じて、ゲームの編集に戻れます。プレビューを更新ボタンをクリックすると、ローカルコンピューター、他のコンピューター、タブレット、スマートフォンなど、すべての端末のプレビューが更新されます。 - -また端末のブラウザーの再読み込みボタンを押すと、プレビューを最初からやり直せます。 - - -## デバッガーとプロファイラーを有効にしてプレビューを起動する - -**デバッガー**はゲームの内容(変数の値、存在するインスタンスとそのプロパティなど)を調査するためのツールです。実行中のゲームのリアルタイム編集も可能です。**プロファイラー**はゲームのパフォーマンスを測定するツールです。 - -デバッガーは次のアイコンから起動できます。 - -![](/gdevelop5/interface/preview/pasted/20200628-133103.png) - -デバッガーとプロファイラーの使い方について、くわしくは[このページを参照](/ja/gdevelop5/interface/debugger)してください。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/interface/profile.md b/docs/ja/gdevelop5/interface/profile.md deleted file mode 100644 index c1b44f9bbce..00000000000 --- a/docs/ja/gdevelop5/interface/profile.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: マイ プロファイル ---- -# マイ プロファイル - -GDevelop 関連機能の中には GDevelop アカウントが必要になるものがいくつかあります。Android 、iOS、Windows、macOS、Linux 向けゲームのワンクリック エクスポートはその代表です。 - -アカウントを持っていない場合は、無料で作成できます。[ファイル]メニュー(Windows および Linuxの場合)または GDevelop メニュー(macOS の場合)から[マイ プロファイル]を選択してください。 - -![](/gdevelop5/interface/my-profile-menu.png) - -このウィンドウでは、自分のプロファイルを確認(または、アカウントを持っていない場合は作成)したり、オンラインサービスの最新の利用状況を確認できます。 - -## アカウントを作成する - -アカウントを持っていなくても、無料で作成できます! - -![](/gdevelop5/interface/create-account.png) - -**アカウントを作成**を選択しクリックします。メールアドレスとパスワードを入力します。 - -![](/gdevelop5/interface/profile/pasted/20200406-003429.png) - -アカウントにログインすると、自分のプロファイルを見ることができます。GDevelop の特定サービスも使用できます。ワンクリックで Android 向けにゲームをパッケージ化するなどのサービスもあります! - -## サブスクリプションを取得する - -デフォルトではアカウントは無料です。GDevelop で作成するゲームに制限はありませんが、 -いくつかのオンラインサービスには制限があります。これはサービスが依存するサーバーの運用にコストがかかるためです。具体的には、無料アカウントの場合 [Android 用のパッケージ](/gdevelop5/publishing/android_and_ios)作成は 1 日 2 回までです 。 - -サブスクリプションを取得すると、この 1 日 2 パッケージ制限が解除されます。将来的には、他の OS へのワンクリックパッケージや便利なサービスも提供される予定です。これらのサービスの一部は現在ベータテスト中です。またサブスクリプションは、GDevelop の将来の開発も支えています✨ - -!!! tip - - 7 ユーロは約 7.5 ドルです。2 ユーロは約 2.20 ドルです(通貨計算機を使用して、米ドルまたは希望通貨での最新の為替レートを確認してください)。 - - -ログインしたら、**[Choose a subscription]**ボタンをクリックしてください。 - -![](/gdevelop5/interface/choose-subscription-button.png) - -各利用プランの説明が表示されます。自分のニーズに合ったものを選択してください。 - -![](/gdevelop5/interface/subscription-plans.png) - -[Choose this plan]をクリックすると、毎月のサブスクリプションの支払いのためにクレジットカード番号の入力を求められます。支払いは、オンライン送金の新しいスタンダードである [Stripe.com](https://stripe.com) を介して取引および暗号化されます。すべて Stripe のインフラによって保護および処理されます。 - -## サブスクリプションの変更 - -よりパッケージ回数の多いサブスクリプションにアップグレードしたり、またはより安価なサブスクリプションにプラン変更する場合は、プロファイルを再度開いて **[Upgrade/Change]** をクリックし、更新したいサブスクリプションを選んでください。 - -次回の支払いから、新しいサブスクリプションが自動的に適用されます。 - -## サブスクリプションの停止 - -サブスクリプションの停止はいつでも簡単にできます。プロファイルを再度開き、**[Upgrade/Change]** をクリックしてください。無料サブスクリプションを選択すると、現在のサブスクリプションが停止されます。新しい支払いは必要ありません。 - -**ステップバイステップの手順案内** - -GDevelop を起動し、メニューから自分の**プロファイル**を開きます。 -![](/gdevelop5/interface/profile/pasted/20200411-164041.png) - -Web アプリを開いて新しいプロジェクトを作成し、プロジェクトマネージャーから**[マイプロファイル]**を選んでもいいです。 -![](/gdevelop5/interface/profile/pasted/20200411-164551.png) - -**[Upgrade/Change]**を選びます。 - -![](/gdevelop5/interface/profile/pasted/20200411-163828.png) - -ウィンドウの下部にある**[Cancel Your Subscription]**を選びます。 - -![](/gdevelop5/interface/profile/pasted/20200411-163941.png) - -必要に応じて、あとで別のサブスクリプションに再度変更できます。いずれにしても、ゲームや作業成果物を失うことはありません! \ No newline at end of file diff --git a/docs/ja/gdevelop5/interface/project-manager/index.md b/docs/ja/gdevelop5/interface/project-manager/index.md deleted file mode 100644 index 0d03ff0dc0a..00000000000 --- a/docs/ja/gdevelop5/interface/project-manager/index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: プロジェクトマネージャー ---- -# プロジェクトマネージャー - -![](/gdevelop5/project-manager-button.png) -プロジェクトを開くと、ツールバーの左上のボタンをクリックしてプロジェクトマネージャーにアクセスできます。 - -プロジェクトマネージャーは、ゲーム全体の構造を表示しています。 - -![](/gdevelop5/interface/project_manager_for_gdevelop5.png) - -各カテゴリの横にある小さな矢印をクリックして、各カテゴリを折りたたんだり展開したりできます - - * **ゲーム設定** ゲームの全体の設定をカスタマイズできる場所です。たとえば、AndroidおよびiOSのゲームウィンドウのデフォルトサイズまたはパッケージ名を設定できます。 [「プロパティー」で全ての設定](/gdevelop5/interface/project-manager/properties)を変更できます。 [ゲームのアイコン](/gdevelop5/interface/project-manager/icons)も設定できます。 - - * **シーン** シーンはゲームのさまざまな画面とレベルです。GDevelopで作るゲームのすべては[シーン](/gdevelop5/interface/scene-editor)で構成されています。 - - * **外部イベント** ゲームの開発をより柔軟にするために、特定のシーンにリンクされていない別のイベントシート内にイベントを作成できます。それらは[外部イベント](/gdevelop5/interface/events-editor)と呼ばれます。その後、必要に応じてこれらの「外部イベント」にリンクできます。さまざまな場所で頻繁にイベントを使用する必要がある場合は、同じイベントを複数回追加するのではなく、シーンの外部からイベントを呼び出すことができます。 - - * **外部レイアウト** 外部イベントと同様に、レベルを作成したり、外部レイアウト内でレベルの一部を再利用したりして、シーンにロードすることができます。 - - * **関数や拡張機能** GDevelopを拡張し、イベントを使用して新しいアクション、条件、式を作成することにより、イベントをよりモジュール化できます! [関数について](/ja/gdevelop5/events/functions) を読んで、それらを作成し、ゲームで使用し、共有する方法を学べます。 - -## ファイルメニュー - -![](/gdevelop5/file-menu.png) -![](/gdevelop5/web-project-manager-tab.png) -**デスクトップバージョン**では、[ファイル]メニューを使用すると、あなたのゲームを保存し、別のものを開いたり、閉じたりすることができます。また、 [ゲームのエクスポート](/ja/gdevelop5/publishing)することもできます。 - -I**webアプリ**では、これらのオプションは、プロジェクトマネージャの上部に表示されます。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/interface/project-manager/properties.md b/docs/ja/gdevelop5/interface/project-manager/properties.md deleted file mode 100644 index dc0afcf6fc8..00000000000 --- a/docs/ja/gdevelop5/interface/project-manager/properties.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: ゲームのプロパティ ---- -# ゲームのプロパティ - -[プロジェクトマネージャー](/ja/gdevelop5/interface/project-manager)のプロパティをクリックすると、ゲームのグローバルパラメーター変更するためのウィンドウが開きます。これらの設定のいくつかは、[Windows/macOS/Linux アプリ](/ja/gdevelop5/publishing/windows-macos-linux)や [Android/iOS モバイルゲーム](/ja/gdevelop5/publishing/android_and_ios)へのエクスポート時に使用されます。 - -![](/gdevelop5/interface/project-manager/properties.png) - -各プロパティは、次の通りです。 - -* **ゲーム名:**ゲームの名前です(アプリケーション名に使用されます)。 -* **ゲーム解像度の横幅:**ゲームエリア(デスクトップの場合はウィンドウ)の横幅です。 -* **ゲーム解像度の高さ:**ゲームエリア(デスクトップの場合はウィンドウ)の高さです。 -* **作成者の名前:**自分の名前または会社名を入力します。Windows、macOS、Linux 向けのアプリケーションを作成する際に使用されます。 -* **バージョン番号:**新しいバージョンをリリースするたびに、このバージョン番号をインクリメントします。これは Google Play Store や App Store など、ストアによっては必須項目になっています。 -* **プロジェクトファイルタイプ:**デフォルトでは、ゲームは単一ファイルになります。ほかに複数ファイルを選択することもできます。この場合、各シーンや外部レイアウト、外部イベントがそれぞれ個別のファイルとして保存されます。これは大規模なゲームをチーム制作するときや、ゲームを Git や Mercurial などのバージョン管理システムで共有するときに最適です。 -* **最小 FPS:** 1 秒あたりの最小フレーム数です。デフォルトでは 20 に設定されています。ゲームをこれよりも高いフレームレートで実行できない(遅延や端末/コンピューターが低スペックという理由による)場合は、ゲームがスローダウンするでしょう。 -* **最大 FPS:** 1 秒あたりの最大フレーム数です。デフォルトでは 60 に設定されています。 -* **パッケージ名(iOS および Android の場合):** [こちらを参照してください](/ja/gdevelop5/publishing/android_and_ios#make_sure_that_your_game_is_ready_for_packaging)。 -* **デバイスの向き(iOSおよびAndroidの場合):**モバイル端末での実行をポートレートモード(縦持ち)とランドスケープモード(横持ち)のどちらにするかを指定します。 -* **スケールモード(「サンプリング」とも呼ばれる):**「リニア」に設定した場合、テクスチャにはアンチエイリアスが掛かり、少しぼやけたような感じになりますが、縮小拡大してもきれいにレンダリングされます。「ニアレストネイバー」はピクセルを中間調で補間しないため、元のエッジを維持します。ピクセルパーフェクトなドット絵ゲームに最適です。 -* **ゲーム解像度のリサイズモード(全画面 / ウィンドウ化):**レンダリングエリアをゲームウィンドウに合わせます。Web ブラウザーかモバイル環境で実行する場合は、ウィンドウの幅に合わせるか、高さに合わせるか、まったく合わせないかを選択できます(その場合は、黒い余白がつきます)。 -* **AdMob App ID:**くわしくは[こちら](/ja/gdevelop5/all-features/admob)を参照してください。 -* **起動時にGDevelopスプラッシュを表示(エクスポートされたゲーム内):**ゲーム開始時にアセットをローディングしているあいだ、GDevelop のスプラッシュスクリーンを表示します。このチェックを外す場合は、どうか[サブスクリプション](/ja/gdevelop5/interface/profile)を取得して、GDevelop を支援してください。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/interface/scene-editor/external-layouts.md b/docs/ja/gdevelop5/interface/scene-editor/external-layouts.md deleted file mode 100644 index bacb4e5309f..00000000000 --- a/docs/ja/gdevelop5/interface/scene-editor/external-layouts.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 外部レイアウト ---- -# 外部レイアウト - -外部レイアウトを使用して、シーンエディターのようにオブジェクトのレイアウトを作成できます。オブジェクトは、*外部レイアウト*カテゴリのアクションを使用してシーンに動的に挿入できます。 - -これは次の場合に役立ちます。 - -- レベル全体を別の外部レイアウトに作成し、ゲームエンジンを含むシーンにロードします。 -- オブジェクトの複雑なレイアウト(たとえば、宇宙船の艦隊)を作成し、それらをシーンに挿入します。 diff --git a/docs/ja/gdevelop5/interface/scene-editor/index.md b/docs/ja/gdevelop5/interface/scene-editor/index.md deleted file mode 100644 index 635c4061158..00000000000 --- a/docs/ja/gdevelop5/interface/scene-editor/index.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: シーンエディター ---- -# シーンエディター -シーン(または外部レイアウト)を開くと、シーンエディターが開きます。 - -![](/gdevelop5/interface/sceneeditoropens.png) - -シーンエディタでは、ゲームのレベル、メニュー、インベントリ、またはゲーム内の他の画面を設計および構築できます。シーンエディターを使用すると、オブジェクトを作成してシーンに追加できます。ゲームプレイとゲームのルールは、[イベントエディター](/ja/gdevelop5/interface/events-editor)のイベントを使用して作成できます。 - -シーンエディターの上部のツールバーには、いくつものツールとエディターがあります。 -![](/gdevelop5/scene-editor-toolset.png) - -## オブジェクトエディター - -シーンエディターのインターフェイスの右側にオブジェクトエディターがあります。ここで、シーンで使用されているすべての[オブジェクト](/ja/gdevelop5/objects)を確認できます。オブジェクトエディターを使用して新しいオブジェクトを追加することもできます。 -![](/gdevelop5/objects-manager-tab.png) - -オブジェクトエディターのパネルを閉じた場合、ツールバーのこのボタンを使用して再度開くことができます。 -![](/gdevelop5/objects-manager-button.png) - -[すべてのオブジェクトで利用可能な一般的な機能](/gdevelop5/objects/base_object) について読んでから、オブジェクトの種類に関するヘルプを見て、[ゲームで使用できるさまざまな種類のオブジェクトの詳細](/gdevelop5/objects)をご覧ください。 - -## オブジェクトのプロパティ - -オブジェクトプロパティエディターは、シーンエディターのインターフェイスの左側にあります。オブジェクトプロパティエディターが表示されない場合は、プロジェクトマネージャーを閉じます。次に、シーン内のオブジェクトを選択します。[オブジェクトプロパティエディター]パネルが左側に開きます。 -![](/gdevelop5/object-properties-bar.png) - -プロパティエディタを使用すると、選択したシーンオブジェクトのプロパティを変更できます。オブジェクトの位置、スケール、Zオーダーなどは、プロパティエディターを使用して変更できます。このページで[オブジェクトのプロパティの詳細](/gdevelop5/objects/base_object)を読むことができます。 - -このパネルが閉じている場合は、ツールバーのボタンをクリックして再度開くことができます。 -![](/gdevelop5/object-properties-button.png) - -!!! note - - GDevelopパネルは、画面上の任意の場所にドラッグすることで移動できます。タイトルバーをつかんでパネルをドラッグするだけです。 - -## オブジェクトグループエディター - -オブジェクトグループエディタでは、シーンに存在するオブジェクトのグループのリストを見つけることができます。 -![](/gdevelop5/objects-groups-editor.png) - -エディターを開くには、ツールバーのこのボタンをクリックします。 -![](/gdevelop5/objects-groups-editor-button.png) - -オブジェクトグループにはオブジェクトが含まれ、一つのイベントを使用して、複数のオブジェクトを操作するイベントで使用できます。[すべてのオブジェクトの共通機能に関するページ](/gdevelop5/objects/base_object)で、それらについて詳しく読んでください。 - -## インスタンスエディター - -インスタンスエディタには、シーンに存在するオブジェクトのすべてのインスタンスのリストが表示されます。リストから任意のインスタンスを選択して、シーン内のインスタンスの位置、角度、レイヤー、Zオーダーを確認するために使用できます。 -![](/gdevelop5/instances-editor.png) - -ツールバーの次のボタンをクリックして、インスタンスエディターを開くことができます。 -![](/gdevelop5/instances-editor-button.png) - -## レイヤーエディター - -レイヤーは、画面に表示されるオブジェクトの仮想的な集まりの平面として機能します。オブジェクトは、デフォルトでは「ベースレイヤー」であるレイヤー上に描画され、レイヤーは画面上に描画されます。シーンには複数のレイヤーを含めることができます。たとえば、画面上にコントロールを表示するレイヤーと、背景用の別のレイヤーがあります。 - -[レイヤーとカメラの詳細については、こちら](/ja/gdevelop5/interface/scene-editor/layers-and-cameras)をご覧ください。 - -![](/gdevelop5/layers-editor.png) - -ツールバーのこのボタンをクリックして、レイヤーエディターを開くことができます。 -![](/gdevelop5/layers-editor-button.png) - -## その他のツール - -### グリッドの切り替え/編集 - -ツールバーのグリッドボタンをクリックすると、複数のオプションが表示されます。 -![](/gdevelop5/toggle-grid-button.png) - -* **マスクの切り替え**: シーンの黒い境界線を表示または非表示にします。ゲームウィンドウのサイズを表します。 -* **グリッドの切り替え**: シーンエディター内でグリッドをオンまたはオフにします。オブジェクトを正確に配置する必要がある場合、グリッドを使用すると便利です。 -* **グリッドの設定**: グリッドのサイズと位置を設定できるウィンドウを開きます。 - -### エディターのズームを変更 - -ズームボタンをクリックすると、シーンエディター内のズームレベルを変更できます。 -![](/gdevelop5/toggle-zoom-button.png) - -## シーンのプレビュー表示 - -[プレビュー]ボタンをクリックすると、ゲームのプレビューを起動できます! -![](/gdevelop5/preview-button.png) - -プレビュー画面は別のウインドウで表示されます。 - -### ネットワークプレビューの表示 (WiFiやLAN経由のプレビュー) - -[ネットワークプレビュー(WiFi / LANでプレビュー)]ボタンをクリックすると、エディターと同じネットワークに接続されたモバイルデバイス(または他のコンピューター)でゲームをプレビューできます。 -![](/gdevelop5/interface/preview-wifi-button.png) - -ボタンをクリックすると、プレビューが起動されているアドレスを表示しているウィンドウが表示されます。 -![](/gdevelop5/preview-wifi-window.png) - -これで、スマートフォンのブラウザー(または他のコンピューターのブラウザー)にこのアドレスを入力できます。プレビューがロードされ表示されます: - -![](/gdevelop5/interface/preview-wifi-running.png) - -注目: エディターのポップアップウィンドウを閉じて、ゲームの編集を続けることができます。新しいプレビューを起動すると、モバイルデバイスと接続されたコンピューターは自動的にゲームを更新し、変更を表示します! - -### デバッガーでプレビューを起動する - -デバッガーは、ゲームのコンテンツ(変数の値、インスタンス、およびそのプロパティ…)を検査したり、リアルタイムで編集したりするために使用できるツールです。 - -次のアイコンを使用してデバッガーを起動できます - -![](/gdevelop5/interface/debugger-button.png) - -デバッガーの詳細は、[このページを見て下さい](/gdevelop5/interface/debugger)。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/interface/scene-editor/layer-effects.md b/docs/ja/gdevelop5/interface/scene-editor/layer-effects.md deleted file mode 100644 index d51f7870ff0..00000000000 --- a/docs/ja/gdevelop5/interface/scene-editor/layer-effects.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -title: レイヤーエフェクト ---- -# レイヤーエフェクト - -シーンのレイヤーにはエフェクトを追加できます。これらのエフェクトは、ゲームの雰囲気とレンダリング結果をすばやく変更します。たとえばアイソメトリック(斜め見下ろし)ゲームのサンプルに_セピア_エフェクトを追加すると、こうなります。 - -![](/gdevelop5/interface/scene-editor/isometric-game-sepia.png) - -## レイヤーにエフェクトを追加する - -シーンエディター上で[レイヤーエディター](/ja/gdevelop5/interface/scene-editor/layers-and-cameras)を開きます。エフェクトをかけたいベースレイヤーまたは別のレイヤーの[エフェクトを編集]ボタンをクリックします。 - -![](/gdevelop5/interface/scene-editor/layer-effects/pasted/20201224-153102.png) - -下のウィンドウには、レイヤーに適用されているエフェクトが表示されます。今はまだ何もありません。[エフェクトを追加]をクリックします。 - -![](/gdevelop5/interface/scene-editor/layer-effects/pasted/20201224-153134.png) - -「Effect」という名前の新しいエフェクトが作成されます。ゲーム中にエフェクトのパラメーターを変更するときは、この名前で参照します。 - -エフェクトの種類を選択します。セレクターをクリックして、リストから選びます。 - -![](/gdevelop5/interface/scene-editor/layer-effects/pasted/20201224-153222.png) - -ウィンドウには、エフェクトのパラメーターが表示されます。これらのパラメーターは、選択したエフェクトの種類によって異なります。 - -デフォルトのパラメーターをそのままにすることも、今すぐ変更することもできます。パラメーターの値は 0(無効)から 1 になるものが多いです。 - -## ゲームにエフェクトを適用してみる - -プレビューを起動して、適用したエフェクトを確認します。エフェクトはレイヤー全体に適用されるため、レイヤー上のすべてのオブジェクトがエフェクトの一部になります。 - -プレビューを実行しながら**変更をリアルタイムで反映する**には、[**プレビューを更新**]をクリックしてください。くわしくは[ライブプレビュー](/ja/gdevelop5/interface/preview)を参照してください。 - -複数のレイヤーがある場合は、すべてのレイヤーに同じエフェクトを追加できます。 - -!!! note - - たとえば背景レイヤー、ベースレイヤー、UI レイヤー(ゲームのインターフェイスを表示するレイヤー)があるとして、背景レイヤーとベースレイヤーにはエフェクトを追加したいが、UI レイヤーには追加したくない、という状況があり得ます。 - -!!! warning - - シーンの背景色にはエフェクトを適用できません。もし背景色にエフェクトを適用したい場合は、代わりに[タイルスプライト](/ja/gdevelop5/objects/tiled_sprite)を使ってください。タイルには単色の画像か他の背景画像を使い、それを他のオブジェクトの背後に置き、ゲームウィンドウと同じサイズにします。 - -## ゲーム中にエフェクトのパラメーターを変更する - -イベントを使うと、ゲーム中にパラメーターを操作できます。これは状況が変化する場面で威力を発揮します。昼夜のサイクル、フラッシュバック効果など。 - -まずエフェクトの名前と変更したいパラメーターの名前を、[レイヤーエディター](/ja/gdevelop5/interface/scene-editor/layers-and-cameras)上で確認しましょう。レイヤーエディターを開き、レイヤーの[エフェクトを編集]をクリックします。 パラメーター名の表示を有効にします。 - -![](/gdevelop5/interface/scene-editor/layer-effects/pasted/20201224-153604.png) - -下の例では、「Effect」という名前の闇夜(Dark Night)エフェクトの 2 つのパラメーター「不透明度」と「明度」が表示されています。 - -![](/gdevelop5/interface/scene-editor/layer-effects/pasted/20201224-153733.png) - -「エフェクトパラメーター」アクションでパラメーター変更できます。イベントに追加すると設定画面が表示されるので、下記の通り設定します。 - -* 最初にレイヤー名を入力します(二重引用符で括るのを忘れずに)。ベースレイヤーの場合は空文字列(`""`)を入力します。 -* エフェクトの名前を入力します。たとえば `"Effect"` など。 -* パラメーターの名前を入力します。たとえば `"opacity"` や `"intensity"` など。 -* 最後にパラメーターに設定する新しい値を入力します。 - -!!! danger - - これらの名前はすべて大文字と小文字を区別します。またパラメーター名はすべて小文字です。エフェクト名とパラメーター名は、間違いがないかよく確認してください。 - -下図は、ベースレイヤーの「Effect」という名前のエフェクトの不透明度を変更するアクションの例です。 - -![](/gdevelop5/interface/scene-editor/action-change-opacity-effect.png) - -## 高度なエフェクトの使い方 - -!!! warning - - ほとんどのエフェクトは解説がなくても直感的に使うことができますが、一部のエフェクトは何をするものなのか少し説明が必要なものもあります。この節ではこれらの高度なエフェクトについて説明します。 - -#### カラーマップ - -オブジェクトやレイヤーにカラーマップエフェクトを適用します。 - -![](/gdevelop5/interface/scene-editor/71485828-745d9080-2813-11ea-915d-4dcfc9f67201.png) - -これはリファレンスカラーイメージマップと呼ばれる、色のバリエーションを網羅した画像を編集することによってレンダリング結果の色を置き換えるものです。 - -- 以下のリファレンスカラーイメージマップ画像をダウンロードするか、独自に作成してください。 -- 画像編集ソフト(Photoshop や GIMP など)で、リファレンスカラーイメージマップ画像のカラーバランスを調整します。 - * たとえば、画像編集ソフトでリファレンスカラーイメージマップ画像の色を反転させると、カラーマップエフェクトが使用されているレイヤー上のすべてのオブジェクトは色が反転されます。 -- それを新しいファイルとして保存し、GDevelop のエフェクトでリファレンスカラーイメージマップとして使用します。 - -**以下の画像ファイルをダウンロードして、GDevelopのカラーマップとして使用してください。** - -color-map-original-template.png (リファレンスカラーイメージマップ): ![](/gdevelop5/interface/scene-editor/color-map-original-template.png)?direct |}} - -!!! note - - 以下の画像は変更例です。上記のサンプルはこれらのファイルを使用した結果です。 - color-map-original-template.png の色を変更することにより、そのレイヤー上のすべてのオブジェクトの色が変更されます。 - -color-map-model-1.png : ![](/gdevelop5/interface/scene-editor/color-map-model-1.png) -color-map-model-2.png : ![](/gdevelop5/interface/scene-editor/color-map-model-2.png) -color-map-model-3.png : ![](/gdevelop5/interface/scene-editor/color-map-model-3.png) - -!!! note - - リファレンスカラーイメージマップを画像編集ソフトで変更することを忘れないようにしてください。そのまま使っても、何も変わりません(元の色のままです)。 - -#### CRT - -CRT エフェクトを適用すると、昔のブラウン管テレビの画面を再現します。 - -![](/gdevelop5/interface/scene-editor/crt-effect.png) - -#### ディスプレイスメント - -このエフェクトは、指定されたテクスチャ(ディスプレイスメントマップと呼ばれる)の画素値を使ってオブジェクトを変形します。 - -![](/gdevelop5/interface/scene-editor/displacement-effect.png) - -**このサンプルで使ったディスプレイスメントマップファイル**をダウンロードして、GDevelop でこのエフェクトを設定する際に使用できます。 - -![](/gdevelop5/interface/scene-editor/displacement_map.png) - -これを使うと、いろいろなバリエーションの奇妙にゆがんだ効果を作り出せます。今のところ、テクスチャの `r`(赤)プロパティが X 軸のオフセットに、`g`(緑)プロパティが Y 軸のオフセットに使われています。 - -> ディスプレイスメントマップの値は、出力用のピクセルを改変する際に参照されます。厳密には、これは元のピクセルを移動するわけではありません。そうではなく、出力画像を作成する際に「元画像のどのピクセルをここに持ってきたらよいか」とたずねているのです。たとえばディスプレイスメントマップのあるピクセルが赤成分=1 でフィルタースケールが 20 だった場合、フィルターは元画像の約 20 ピクセル右のピクセルを出力します。 - - -#### ドロップシャドウ - -レイヤーに表示されているオブジェクトの下に影を追加します。 - -![](/gdevelop5/interface/scene-editor/drop-shadow-effect.png) - -#### ゴッドレイ(光列) - -ゴッドレイは画面上部から光が差し込むエフェクトです。**このエフェクトはシーンの背景色の上だとあまり効果が発揮されません**。背景や床として表示されるオブジェクトを使うようにしてください。 - -![](/gdevelop5/interface/scene-editor/godray-effect.gif) - -#### 川瀬式ブラー - -旧来の「ぼかし」エフェクトよりも高速なバージョンです。「ぼかし」エフェクトよりもこちらを使うことを推奨します。 - -#### アウトライン - -このエフェクトが適用されたレイヤー上のすべてのオブジェクトに輪郭線を追加します。**このエフェクトはシーンの背景色の上だとあまり効果が発揮されません**。背景や床として表示されるオブジェクトを使うようにしてください。 - -![](/gdevelop5/interface/scene-editor/outline-effect.png) - -#### ピクセル化 - -オブジェクトをドット絵っぽく見せるピクセル化エフェクトを適用します。 - -![](/gdevelop5/interface/scene-editor/pixelate-effect.png) - -!!! note - - ピクセルパーフェクトや 8 ビットゲーム(256 色以下のドット絵ゲーム)の場合は、このエフェクトを使うよりも[ゲームプロパティ](/ja/gdevelop5/interface/project-manager/properties)の**スケールモード**を調整してください。 - -#### RGB 分割(色収差) - -赤、緑、青の各色成分に個別にオフセットを設定し、画面にずらして表示します。 - -![](/gdevelop5/interface/scene-editor/rgb-effect.png) - -#### ティルトシフト - -上部と下部にぼかしをかけます。ミニチュア模型をカメラで撮影しているような効果を再現するのに最適です。 - -![](/gdevelop5/interface/scene-editor/tilt-shift-effect.png) \ No newline at end of file diff --git a/docs/ja/gdevelop5/interface/scene-editor/layers-and-cameras.md b/docs/ja/gdevelop5/interface/scene-editor/layers-and-cameras.md deleted file mode 100644 index 9f89ff92275..00000000000 --- a/docs/ja/gdevelop5/interface/scene-editor/layers-and-cameras.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: レイヤーとカメラ ---- -# レイヤーとカメラ - -レイヤーは、画面に表示されるオブジェクトの仮想的な容れ物として機能します。オブジェクトはまずレイヤー(デフォルトでは「ベースレイヤー」)上に描画され、それからレイヤーが画面上に描画されます。シーンには複数のレイヤーを含めることができます。あるレイヤーが別のレイヤーの下にある場合、前者のレイヤー のオブジェクトは、Z オーダーに関係なく後者のすべてのオブジェクトの下に表示されます。 - -!!! tip - - レイヤーは透明な紙のシートを重ねたようなものと考えることができます。 - -新しいレイヤーを作成するか、既存のレイヤーを編集するには、このボタンを押してレイヤーエディターを開きます。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.34.33.png) - -レイヤーエディターでは、プラス記号を押して新しいレイヤーを作成できます。またレイヤーの名前を変更したり、表示を切り替えたり、エフェクトを追加できます。 左端の二重線をドラッグすると、レイヤーの順番を入れ替えできます。 - -![](/gdevelop5/interface/scene-editor/layers.png) - -ゲーム中は、仮想カメラが各レイヤーに接続されます。シーン内でカメラを移動して、画面にレンダリングされるレイヤー範囲を変更できます。カメラを回転させることで、実質的に画面に対してレイヤー上のオブジェクトを回転させることもできます。 - -## オブジェクトの中央にカメラを合わせる - -カメラをオブジェクトに合わせるには、2 つのアクションがあります。 - -* オブジェクトを常にカメラのビュー内に留めたい場合、[オブジェクトの中央にカメラを合わせる]アクションを使います。これを使うと、オブジェクトがシーンのどこに移動してもカメラが追従するようになります。 - -* カメラが所定範囲の外に出ないようにするには、[境界内でオブジェクトの中央にカメラを合わせる]アクションを使います。四角形の対角線にあたる左上と右下の 2 点を指定すると、その四角形の範囲内からカメラの中心が外れないようになります。 - -## カメラをズームする - -カメラのズーム値を変更できます。シーンにズームインすると、コンテンツは大きく表示され、ズームアウトすると、デフォルト設定よりも小さく表示されます。デフォルトのズーム値は 1 です。ズームインするには 1 より大きい値を設定し、ズームアウトするには 1 より小さい値を設定します。 - -## レイヤーの可視性を変更する - -レイヤーの表示/非表示は、レイヤーエディターまたはイベントを使用して切り替えることができます。レイヤーを非表示にしても、レイヤー上のオブジェクトは削除されません。レイヤーが非表示でも、レイヤー上のすべてのオブジェクトは存在し、他のレイヤー上のオブジェクトと相互作用できますが、ただ表示はされません。 - -!!! tip - - デフォルトでは、すべてのレイヤーが表示されます。この設定はレイヤーエディターで変更できます。 - -## レイヤーのタイムスケールを変更する - -レイヤーの「タイムスケール」を使用すると、レイヤー内のすべてのアニメーションとすべてのオブジェクトの動きの速度を変更できます。レイヤーの時間を遅くするには、1 未満のタイムスケールを設定します。レイヤーの時間を速くするには、1 より大きいタイムスケールを設定します。デフォルトのタイムスケールは、すべてのレイヤーで 1 です。 - -## レイヤーのエフェクト(シェーダー) - -[エフェクト](/ja/gdevelop5/interface/scene-editor/layer-effects)を追加すると、レイヤーのレンダリング方法を変更できます。これにより、夜のエフェクト、セピア色による回想/懐古趣味の雰囲気などをすばやく作成できます。[くわしくはエフェクトを参照](/ja/gdevelop5/interface/scene-editor/layer-effects)してください。 - -## レイヤーとカメラのほかの操作 - -### ゲーム中にオブジェクトレイヤーを変更する - -アクションでオブジェクトを別のレイヤーに移動したり、条件でオブジェクトのレイヤーを確認できます。これらはすべてのオブジェクトで利用できます。 - -### カメラの奥行きと角度 - -* カメラの高さはゲームの表示範囲の垂直辺の長さで、幅は水平辺の長さです。デフォルトでは、これらのサイズはゲームウィンドウと同じです。これらを変更すると、レイヤーのレンダリングが拡大または縮小されます。ほとんどの場合、ゲームウィンドウのサイズを変更すると、新しいウィンドウサイズに合わせてカメラのサイズを更新するために、シーンを変更または再起動する必要があります。 - -* カメラの角度は、カメラが XY 平面上で回転する角度です。時計回りに進むにつれて角度が大きくなります。 - -![](/wiki/pres_coord2.png) \ No newline at end of file diff --git a/docs/ja/gdevelop5/interface/updates.md b/docs/ja/gdevelop5/interface/updates.md deleted file mode 100644 index 1749f82b477..00000000000 --- a/docs/ja/gdevelop5/interface/updates.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: アップデートのチェック ---- -# アップデートのチェック - -GDevelopは起動時に新しい更新を自動的に検索します。[開始ページ](/ja/gdevelop5/interface) のヘルプメニューから`GDevelopについて` のウインドウで、更新がダウンロードされているかを確認できます。 -![](/gdevelop5/interface/update-being-downloaded.png) - -ダウンロードが完了すると、GDevelopは更新の準備ができたことを通知します - -![](/gdevelop5/interface/update-downloaded.png) - -このように通知もされます。 - -![](/gdevelop5/interface/update-notification-macos.png) - -これでGDevelopを閉じます。新しいアップデートがインストールされます。バージョン情報が更新されていることを確認するには、ウィンドウをもう一度確認してください。 - -## 問題がありましたか?WebサイトからGDevelopを再度ダウンロードしましょう - -何らかの理由でアップデートを適用できない場合、またはアップデート後にGDevelopが機能していないと思われる場合は、もう一度GDevelopのwebサイトからダウンロードして下さい。設定が失われることはありません。 diff --git a/docs/ja/gdevelop5/objects/base_object.md b/docs/ja/gdevelop5/objects/base_object.md deleted file mode 100644 index 107318cf70c..00000000000 --- a/docs/ja/gdevelop5/objects/base_object.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: base_object ---- -!!! note - - このページは移動しました。 **[オブジェクトの詳細はこちらのページを参照してください](/ja/gdevelop5/objects)**。 diff --git a/docs/ja/gdevelop5/objects/bbtext.md b/docs/ja/gdevelop5/objects/bbtext.md deleted file mode 100644 index 496a30336ce..00000000000 --- a/docs/ja/gdevelop5/objects/bbtext.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: BBText オブジェクト ---- -# BBText オブジェクト - -!!! tip - - **やってみよう!** 🎮 - - [説明はいいから、とにかく BBText オブジェクトが動くところを見たい? わかりました、こちらを先にどうぞ。](/#サンプル) - - -**BBText** はリッチな「複数スタイル」テキストを画面に表示するオブジェクトです。「BBCode」スタイルタグを使って、テキストの一部のスタイルプロパティ(たとえばサイズや色など)を個別にカスタマイズできます。またイベントを使うと BBText オブジェクトのプロパティをゲーム中に変更することもできます。 - -!!! warning - - これを[テキストオブジェクト](/ja/gdevelop5/objects/text)と混同しないようにしてください。テキストオブジェクトもテキストを表示しますが、フォントとサイズは 1 種類しか指定できません。また書式指定用のタグも使えません。もし高度な書式指定が必要なければ、[テキストオブジェクト](/ja/gdevelop5/objects/text)の使用を最初に検討することをお勧めします。そちらの方がパフォーマンスに優れており、よりシンプルです。 - -!!! note - - BBCode に対応するため、この拡張機能は内部的に [pixi-multistyle-text](https://github.com/tleunen/pixi-multistyle-text/) を改変して使用しています。技術的な詳細に興味がある方は、対応しているスタイル機能が[こちらにリスト化](https://pixijs.download/dev/docs/PIXI.TextStyle.html)されているので、参照してください。 - -## 使用できる BBCode タグ - -![](/gdevelop5/objects/stylestag.png) - -BBText オブジェクトは次の一般的なタグを使用できます。 - - * `[b]太字[/b]` - * `[i]斜体[/i]` - * `[color=#hexColor]色を付けたテキスト[/color]` - * `[font=times]フォントファミリーを指定したテキスト[/font]` - * `[size=23]サイズ 23px のテキスト[/size]` - -GDevelop が対応する追加スタイルは次の通りです。 - - * `[outline=#hexColor]指定色で縁取りしたテキスト[/outline]` - * `[shadow=#hexColor]指定色で影を落としたテキスト[/shadow]` - * `[spacing=12] 文字間に追加の余白を空けたテキスト[/spacing]` - * `[align=center]左右中央揃えにしたテキスト(left と right 指定も可能)[/align]` - -`#hexColor` は 16 進法で表記した色指定です。たとえば #000000 は黒に、#FFFFFF は白になります。[オンラインで色探し](https://htmlcolorcodes.com/)を簡単にできます。 - -## デフォルトのスタイル - -画面に表示するテキストには、あらかじめデフォルトのスタイルを設定できます。タグによる指定は、このデフォルトのスタイルを前提に追加されます。 - -![](/gdevelop5/objects/basestylebbtext.png) - - * 基本色:デフォルトは黒です。 - * 基本の不透明度:0 ~ 255。0 は完全な透明になります。 - * 基本フォントサイズ:全体のフォントサイズ。デフォルトは 24px です。 - * 基本フォントファミリー:デフォルトは Arial です。 - * 行揃えの位置:デフォルトは左です。"left"、"right"、"center" のどれかになります。 - * BBCode 書式付きテキスト:表示するテキスト。デフォルトはタグを使ったデモンストレーションです。 - * 折り返し:有効にすると、オブジェクト幅にしたがって行を折り返して複数行になります。 - * 開始時に表示:このオプションのチェックを外すと、シーン開始時にオブジェクトは非表示になります。表示するにはイベントを使います。 - -これらのプロパティはすべて、イベントシートでオブジェクトのアクションや条件を使って変更できます。 - -## サンプル - -!!! tip - - **やってみよう!** 🎮 - - オンラインで下記のサンプルを実行できます。 - -[![](/gdevelop5/objects/bbtext-example.jpg)](https://editor.gdevelop.io/?project=example://bbtext-object-demo) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://bbtext-object-demo){ .md-button .md-button--primary } \ No newline at end of file diff --git a/docs/ja/gdevelop5/objects/bitmap_text.md b/docs/ja/gdevelop5/objects/bitmap_text.md deleted file mode 100644 index dcf7659435a..00000000000 --- a/docs/ja/gdevelop5/objects/bitmap_text.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: bitmap_text ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** -*(remove this paragraph once the translation is finished)* - -# ビットマップテキストオブジェクト - -A Bitmap Text displays a text using a "Bitmap Font" (an image representing characters). This is more performant than a traditional Text object and it allows for complete control on the characters aesthetic. - -It's especially useful for scores, titles, button labels, pixel-art games... - -!!! note - - As all characters are designed in an external editor, and a texture is generated with these characters, a Bitmap Text is more performant to render but also way less flexible, in particular if you want to display a text entered by a user in any language. If that's the case, take a look at the [Text object](/gdevelop5/objects/text) or at the [BBtext object](/gdevelop5/objects/bbtext). - -![20210510-003631.png](/gdevelop5/objects/bitmap_text/pasted/20210510-003631.png) - -## Creating "Bitmap Font" files - -A font is represented by two files: - -- **Bitmap Atlas image** : This file is the image which contains all characters that can be draw. File format must be PNG. - **Bitmap Font** : This file contains the data related to characters that can be draw, the engine use these data for knowing which characters render on screen. File format must be FNT or XML. - -These two file can be created with an external editor to generate bitmap fonts, for example: - -* **[bmFont](https://www.angelcode.com/products/bmfont/)** (Windows) * **[bmGlyph](https://www.bmglyph.com/)** (macOS) - -* **[Hiero](https://github.com/libgdx/libgdx/wiki/Hiero)** (Windows/Linux/OS X) - -## Font size and scale - -Because the characters are pre-rendered, the font size can't be changed in GDevelop. But the object still have a scale property, that can be used to make your the text bigger or smaller. Note that the rendering quality can be affected, because the font generated was not prepared to be rescaled. - -## Font color and tint - -As characters are pre-rendered, the font color can also not be changed. GDevelop still allows you to change the tint applied to the rendered characters. - -If you generate a Bitmap Font with white characters, and if you use a blue tint, the object will be displayed with this blue color. If your Bitmap Font is grey, and the tint blue, the colours will be mixed with each other. diff --git a/docs/ja/gdevelop5/objects/effects.md b/docs/ja/gdevelop5/objects/effects.md deleted file mode 100644 index c1c4bcc5650..00000000000 --- a/docs/ja/gdevelop5/objects/effects.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: オブジェクトエフェクト ---- -# オブジェクトエフェクト - -オブジェクトに視覚効果を加えることができます。 - -例えば、「Outline(アウトライン)」エフェクトを使って、拾ったり使ったりするオブジェクトをより分かりやすくすることができます。 - -また、オブジェクトの形状を変更したり、魅力的な視覚的結果を生み出す、より高度な視覚効果を使用することもできます。 - -このスクリーンショットでは、複数のオブジェクトに「*Outline*(アウトライン)」エフェクト(漫画やアニメのような効果)をかけ、コインには「*Glow*(グロー)」エフェクトをかけています。 - -![](/gdevelop5/objects/effects/pasted/20210819-161343.png) - -## オブジェクトにエフェクトを追加する - -シーンエディタ上(またはオブジェクトのリスト上)でオブジェクトのインスタンスをダブルクリックして編集画面を開き、そこで**Effects**タブを選択します。 - -「Add an effect(エフェクトを追加)」をクリックします。 - -すると「Effect」という名前の新しいエフェクトが作成されます。 - -この名前は、後でゲーム中にエフェクトのパラメータを変更する際に使用します。 - -エフェクトの種類を選択します。セレクタをクリックして選択しましょう。 - -![](/gdevelop5/objects/effects/pasted/20210819-164525.png) - -ウィンドウには、エフェクトのパラメータが表示されます。 - -これらのパラメータは、選択されたエフェクトの種類によって異なります。 - -デフォルトのパラメータのままにすることも、今すぐ変更することもできます。 - -## エフェクトをプレビューで確認する - -プレビューを起動して、エフェクトの適用を確認します。 - -エフェクトは、編集したオブジェクトのすべてのインスタンスに適用されます。 - -プレビューが実行されているときは、「**プレビューを更新**」をクリックすることで、**変更した内容をリアルタイム**で確認することができます。 - -詳しくは[ゲームのプレビュー](/ja/gdevelop5/interface/preview)をご覧ください。 - -![](/gdevelop5/objects/effects/pasted/20210819-164718.png) - -## ゲーム中にエフェクトのパラメータを変更する - -イベントを使うと、ゲーム中にパラメータを操作することができます。 - -例えば、オブジェクトがヒットした時や、弾を発射した時、移動した時にのみ、エフェクトをアニメーション化したり、起動したりするなど、様々な場面で役立ちます。 - -まず、「**Effects**」タブで、エフェクトの名前と変更するパラメータの名前を確認します。 - -そのためには、パラメータ名の表示を有効にします。 - -![](/gdevelop5/interface/scene-editor/layer-effects/pasted/20201224-153604.png) - -この例では、Dark Night エフェクトは「Effect」という名前で、「intensity」と「opacity」の2つのパラメータがあります。 - -![](/gdevelop5/interface/scene-editor/layer-effects/pasted/20201224-153733.png) - -次に、「Effect Parameter」というアクションをイベントに追加します。 - -* 最初にレイヤー名を入力してください(引用符を忘れずに)。ベースレイヤーの場合は、空の文字列(`""`)を入力してください。 -* エフェクトの名前を入力してください(例:`"Effect"`)。 -* パラメーターの名前を入力してください。例えば `"opacity"` や `"intensity"` などです。 -* 最後に、このパラメータに設定する新しい値を入力します。 - -!!! danger - - これらの名前はすべて大文字と小文字を区別します。 - - 特に、パラメータ名は小文字で表記されます。 - - うまく動作しない時は、エフェクトの名前やパラメーターの名前を、再度確認してみましょう \ No newline at end of file diff --git a/docs/ja/gdevelop5/objects/index.md b/docs/ja/gdevelop5/objects/index.md deleted file mode 100644 index 3bcb2ab6291..00000000000 --- a/docs/ja/gdevelop5/objects/index.md +++ /dev/null @@ -1,177 +0,0 @@ ---- -title: オブジェクト ---- -# オブジェクト - -GDevelop では、スクリーンに表示されるものは何であれ、_オブジェクト_です。これには(例なので、これに限りませんが)プレイヤーキャラクター、敵、背景パーツが含まれます。 - -用途に応じて、いろいろな種類のオブジェクトが用意されています。たとえば[スプライト](/ja/gdevelop5/objects/sprite)オブジェクトはグラフィックをアニメーションさせ、[テキスト](/ja/gdevelop5/objects/text)オブジェクトはテキストを表示します。 - -[ビヘイビア](/ja/gdevelop5/behaviors)でオブジェクトに機能を追加したり、[イベント](/ja/gdevelop5/events)を作成してオブジェクトの属性(位置、サイズなど)を変更できます。 - -## オブジェクトのリスト - -以下はオブジェクトのリストです。それぞれが固有の機能と目的を持っています。 - -- [スプライト](/ja/gdevelop5/objects/sprite) -- [タイルスプライト](/ja/gdevelop5/objects/tiled_sprite) -- [テキスト](/ja/gdevelop5/objects/text) -- [パーティクルエミッター](/ja/gdevelop5/objects/particles_emitter) -- [パネルスプライト(9パッチ)](/ja/gdevelop5/objects/panel_sprite) -- [シェイプペインター](/ja/gdevelop5/objects/shape_painter) -- [テキスト入力](/ja/gdevelop5/objects/text_entry) -- [BBテキスト](/ja/gdevelop5/objects/bbtext) -- [ライト](/gdevelop5/objects/light) -- [ビデオ](/ja/gdevelop5/objects/video) -- [タイルマップ](/ja/gdevelop5/objects/tilemap) -- [Bitmap Text](/gdevelop5/objects/bitmap_text) - -リンク先のページで、それぞれのオブジェクトについてくわしく説明しています。 - -!!! note - - オブジェクトによっては_実験的_なものもあります。それらはまだ開発途上であり、非実験的なオブジェクトと比べて頻繁に更新されます。 - -## オブジェクトを作成する - -1. [シーンエディター](/ja/gdevelop5/interface/scene-editor)を開きます。これは新しいプロジェクトを作成した後の既定のビューです。 -2. **オブジェクト**パネルで**新しいオブジェクトを追加する**を選択します。 -3. **新しいオブジェクトを追加する**ダイアログで、オブジェクトの種類を選択します。 -4. オブジェクトの設定を調整します。利用できる設定は、オブジェクトの種類によって異なります。 -5. **適用**を選択します。 - -![](/gdevelop5/objects/pasted/20210819-160654.png) - -## オブジェクトに名前をつける - -オブジェクトには作成時に既定の名前がついています。この名前はオブジェクトエディターか、オブジェクトリストのオブジェクト上で右クリックすると表示されるコンテキストメニューから変更できます。 - -オブジェクト名に使える文字には制約があるので注意してください。使えるのは英数字のみで、スペースは使えません。単語を区切るためにアンダースコアも使えます(もっともゲーム開発の世界では、単語の先頭を大文字にすることで区切りを示すのが一般的です)。たとえば `EnemyBullet` のような感じです)。 -これは[式](/ja/gdevelop5/all-features/expressions)の中でオブジェクト名を確実に識別するための制約です。(訳注:オブジェクト名に Unicode を使えるようにする機能要望が [Trello](https://trello.com/b/qf0lM7k8/gdevelop-roadmap) に上がっているため、投票次第では将来この制約が緩和される可能性があります) - -良い名前の例として、`Player`、`RedEnemy`、`Red_Enemy`、`Car1`、`FinalBoss`、`Final_Boss`、`Wall` などを挙げられます。その機能を表す良い名前をつけると、イベントをパッと見ただけでオブジェクトをすばやく認識できるでしょう。 - -## シーンにオブジェクトのインスタンスを追加する - -オブジェクトを作成しても、GDevelop はそれをすぐシーンに追加したりはしません。それを**オブジェクト**パネルからシーンに追加する必要があります。シーンにはオブジェクトのコピーを好きなだけ追加できます。 - -![](/gdevelop5/objects/coin-selected.png) - -シーンに配置したオブジェクトの各コピーは、オブジェクトの_インスタンス_と呼ばれます。あるオブジェクトのインスタンスはすべて、元のオブジェクトが持つ機能を共有していますが、それを個別にカスタマイズすることが可能です。たとえばインスタンスはどれも、他と違う場所に表示できます。 - -## オブジェクトのインスタンスを変更する - -一つ以上のインスタンスを選択すると、画面左手に**プロパティ**パネルが出現します。このパネルは選択中のインスタンスに関する情報を表示します。 - -![](/gdevelop5/objects/object-propeties-button.png) - -カスタマイズ可能なプロパティを以下に示します。 - -### 位置 - -すべてのオブジェクトは座標を持ちます。(訳注:[テキスト入力]など画面に表示されないオブジェクトは例外)これらの座標は[デカルト平面](https://en.wikipedia.org/wiki/Cartesian_coordinate_system)上の水平位置(X 軸)と垂直位置(Y 軸)に対応しています。X 座標は左に行くと減少し、右に行くと増加します。Y 座標は下に行くと増加し、上に行くと減少します。 - -![](/gdevelop5/tutorials/basic-game-making-concepts/pasted/20201015-145909.png) - -### 角度 - -**角度**の設定は、オブジェクトの回転を度単位で定義します。下図は GDevelop が回転角度をどのように理解するかを示しています。 - -![](/gdevelop5/objects/gdevelop_co.png) - -!!! warning - - サインやコサインのような三角関数を使用する場合は、角度をラジアンで指定します(1 ラジアン=180 / PI 度、1 度=PI / 180 ラジアン。PI は円周率を表し、値は約 3.14159)。イベントで `ToRad` と `ToDeg` 式を使うと、度とラジアンを相互に単位変換できます。 - -### Z オーダー - -オブジェクトが同じレイヤー上で重なり合う場合は、どのオブジェクトが前面に表示され、どのオブジェクトが背後に表示されるかが、**Z オーダー**によって決まります。たとえばあるオブジェクトの **Z オーダー**が `2` であれば、**Z オーダー**が `1` のオブジェクトよりも手前に表示されます。 - -下図では、左手の茂みの Z オーダーは `2`、コインの Z オーダーは `1`、右手の茂みの Z オーダーは `0` になっています。 - -![](/gdevelop5/objects/coin-bush-zorder.png) - -**Z オーダー**の値は、負の数値と 0 を含む任意の整数になります。 - -### レイヤー - -すべてのオブジェクトはレイヤー上に存在します。そしてレイヤー単位で下から上(奥から手前)に向かって順番に描画されていきます。これはつまり、一番上のレイヤーにあるオブジェクトは常に下のレイヤーにあるオブジェクトよりも手前に表示されるということです(たとえ下のレイヤーにあるオブジェクトの **Z オーダー**の方が大きかったとしても)。 - -![](/gdevelop5/objects/base_object/pasted/20200406-093010.png) - -一般的には背景オブジェクトと、(プレイヤーキャラクターのような)操作可能なオブジェクトと、UI オブジェクトはそれぞれ別のレイヤーに分けるのがふつうですが、特に制約はありません。 - -### エディターで位置と角度を固定する - -シーンにたくさんのオブジェクトが配置されているせいで、特定のインスタンスを選択するのが難しいことがあります。**エディターで位置と角度を固定する**オプションにチェックを入れると、そのインスタンスはエディター上で選択できなくなります。これは_本当に選択したい方_のインスタンスの選択を易しくしてくれるでしょう。(訳注:クリックして選択できないだけで、ドラッグによる範囲選択やインスタンス一覧からの選択は可能) - -![](/gdevelop5/objects/base_object/pasted/20200406-093052.png) - -### インスタンス変数 - -インスタンス変数は、あるオブジェクトのインスタンスに固有の[変数](/ja/gdevelop5/all-features/variables)です。**インスタンス変数**テーブル上で、特定のインスタンスに関連付けた変数を定義し、値を設定できます。 - -![](/gdevelop5/objects/base_object/pasted/20200406-092023.png) - -くわしくは[オブジェクト変数](/gdevelop5/all-features/variables/object-variables)を参照してください。 - -### カスタムサイズ - -このオプションをチェックすると、インスタンスの幅と高さを変更できます。インスタンスの幅と高さは元のオブジェクトと別個のもので、変更が他に影響することはありません。 - -![](/gdevelop5/objects/base_object/pasted/20200406-093137.png) - -### インスタンスタイマー - -シーンに配置されたオブジェクトのインスタンスは、イベントからアクセスできる固有のタイマーを持ちます。タイマーについての詳細は、[このページを参照](/gdevelop5/all-features/timers)してください。 - -### 可視性 - -オブジェクトのインスタンスは、デフォルトで可視属性がオンになっています。これはつまり、画面に表示されるということです。イベントを使うと、ゲームの途中で任意のインスタンスを**隠す**ことができます。非表示のインスタンスは、もはや画面に表示されませんが、シーンの中にはふつうに存在しています(衝突に反応したり、他のイベントもすべて機能します)。 - -!!! tip - - スプライトやテキストのようなオブジェクトは、他に**不透明度**という属性も持ちます。不透明度は 0 から 255 までの値を取り、オブジェクトの透明性を定義します(0 で完全に透明、既定値の 255 で完全に不透明)。これは可視性とはまた別に変更できます。 - -## オブジェクトにエフェクトを加える - -オブジェクトには、視覚的な効果を加えることができます。 -例えば、「アウトライン」エフェクトを使って、拾ったり使ったりするオブジェクトをより分かりやすくすることができます。 -また、オブジェクトの形を変えたり、面白い視覚効果を生み出す、より高度な視覚効果を使うこともできます。 - -![](/gdevelop5/objects/pasted/20210820-093809.png) - -オブジェクトにエフェクトを追加する方法については、[オブジェクトエフェクト](/ja/gdevelop5/objects/effects)のページをお読みください。 - -!!! note - - シーンのレイヤーに視覚的な効果を加えることもできます。 - 背景をアニメーションさせたり、全体の雰囲気を一度に変えたりするのに便利です。 - 詳しくは[レイヤーエフェクト](/ja/gdevelop5/interface/scene-editor/layer-effects)のページをご覧ください。 - -## オブジェクトをグループ化する - -複数のオブジェクトを_グループ_にまとめることで、グループ内のすべてのオブジェクトを一括して管理できます。 - -これを使うと、イベントをオブジェクトの数だけ繰り返す必要がなくなり、たくさんのオブジェクトを一回のイベントで処理できます。またゲームのパフォーマンスが向上し、保守性が高まり、イベントの可読性も上がります。 - -オブジェクトは次の手順でグループ化できます。 - -1. ツールバーの**グループ**アイコンを選択します。 -2. **クリックしてグループを追加**を選択します。 -3. グループを選択します。 -4. **グループの編集**ダイアログで、グループに追加するオブジェクトを選択します。 -5. **適用**を選択します。 - -![](/gdevelop5/objects/base_object/pasted/20200406-093739.png) - -!!! note - - グループ名はデフォルトで「Group」になります。名前を変更するには、グループを右クリックして**名前の変更**を選択してください。グループが何を含んでいるのか説明するような名前をつけることを推奨します。 - -## イベントエディターを使う - -ゲームの最中であっても、イベントを使ってオブジェクトのインスタンスまたは複数のインスタンスのプロパティを変更したり操作できます。GDevelop でゲーム制作していると、できるのです。ゲームのプレイ中にリアルタイムでオブジェクトを操作したり、そういうことが。イベントとイベントエディターについて深く掘り下げるのは、このページの取り扱い範囲を超えるため、くわしくは[ゲーム作りの基本コンセプト](/ja/gdevelop5/tutorials/basic-game-making-concepts)を参照してください。 - -* すべてのオブジェクトは**同じ共通の機能**(位置や角度など、このページに書かれていた機能すべて)を共有し、すべてのオブジェクトを使用できるたくさんの条件とアクションがあります。 -* オブジェクトはまた特定の機能も提供します。たとえば[スプライトオブジェクト](/ja/gdevelop5/objects/sprite)にはアニメーション機能があり、アクションを使うと再生中のアニメーションを変更できます。 特定のオブジェクトに関する詳細は、このページのリンクからたどってください。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/objects/panel_sprite.md b/docs/ja/gdevelop5/objects/panel_sprite.md deleted file mode 100644 index 7277a9d56ed..00000000000 --- a/docs/ja/gdevelop5/objects/panel_sprite.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: パネルスプライト ("9パッチ")オブジェクト ---- -# パネルスプライト ("9パッチ")オブジェクト - -パネルスプライトオブジェクトを使用すると、境界線を繰り返したり、伸ばしたりしてテクスチャを表示できます。パネルスプライトオブジェクトは、動的なサイズのオブジェクトを作成するのに役立ちます。パネルスプライトオブジェクトの例には、インターフェイスのフレームなどが含まれます。プラットフォーム型ゲームでもこの機能を使用する場合があります。 - -パネルスプライトを使用するには、右側のオブジェクトパネル/リストから新しいオブジェクトを作成します。オブジェクトを作成したら、オブジェクトの周囲の各境界線のマージンのサイズを設定できます。マージンは、上、左、右、および下です。 - -## パネルスプライトを作成する手順 - - - 1.シーンエディターの右側にある「オブジェクト」エディターリストから、プラスボタンをクリックして新しいスプライトを作成します。 - -![](/gdevelop5/objects/panelsprite-addanobject.png) - - - 2.表示されるリストから「パネルスプライト」オプションを選択します。 - -![](/gdevelop5/objects/panelspriteselector.png) - - - 3.オブジェクトのプロパティ/パラメーターを定義します。 - -![](/gdevelop5/objects/panelspriteselectors.png) \ No newline at end of file diff --git a/docs/ja/gdevelop5/objects/particles_emitter.md b/docs/ja/gdevelop5/objects/particles_emitter.md deleted file mode 100644 index 7b0b02eaf78..00000000000 --- a/docs/ja/gdevelop5/objects/particles_emitter.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: パーティクルエミッタ ---- -# パーティクルエミッタ - -!!! note - - **やってみよう!** 🎮 - [パーティクルエミッタのサンプルをすぐ見たいですか?](#Examples) - -パーティクルエミッタ(粒子放射体)は、多数の小さなパーティクルを表示するために使用されます。ゲームの効果をシミュレートします。パーティクルエミッタのいくつかの例は、火、爆発、煙、塵です。 - -![](/gdevelop5/objects/particles-emitters-preview.png) - -パーティクルエミッタオブジェクトは、さまざまなパラメータを使用して構成し、目的の効果を作成できます。 - -## パーティクルの種類 パーティクルエミッタを使用するには、オブジェクトリストから新しいオブジェクトを作成します。パネルが開きます: - -![](/gdevelop5/objects/addnewobject-particlesemitter.png) - -リストから「パーティクルエミッター」を選択します。 - -新しいパネルがポップアップします。このパネルには、エミッタに設定できるプロパティが含まれています。エミッターで使用可能なすべてのプロパティを表示するには、下にスクロールする必要があります。 - -![](/gdevelop5/objects/particleemitterspanelofchoices.png) - -*パーティクルエミッタには、ポイント、ライン、テクスチャの3つのレンダリングモードがあります。* - -* ポイントモードでは指定したサイズの円が表示されます。 -* ラインモードでは指定された長さと太さの線が表示されます。 -* テクスチャモードでは指定したサイズの画像が表示されます。 - -## 色 - -* パーティクルの開始色とフェードする色を選択できます。オブジェクトの透明度の最終値を選択することもできます。 - -## 放出の方向 - -パーティクルは、シーン上のエミッターの角度で表される方向に放出されます。スプレーコーンの角度を変更できます。これは、シーンエディターでも2本の線で表されます。この「スプレーコーン」の値を大きくすると、多数の方向にパーティクルが放出されます。値を0にすると、パーティクルは単一の方向にのみ放出されます。 - -* パーティクルは、エミッタオブジェクトの位置の周りの球体に表示されます。球の半径を変更できます。 -* 重力は、X軸とY軸のパーティクルに適用できます。たとえば、Y軸に負の値を指定すると、粒子が空中に上昇します。 -* 摩擦は、粒子の時間とともに変化する減速に影響します。 - -## 効果の長さ - -* 各パーティクルには、2つの値の間でランダムに選択される制限された寿命があります。これらの2つの値は変更できます。 -* エミッター(「タンク」)に含まれるパーティクルの数は、無制限にすることも、数に固定することもできます。エミッターが数値に固定されている場合、エミッターは設定された数のパーティクルに達した後に放出を停止します。 -* フローは、毎秒作成されるパーティクルの数です。-1を入力すると、1回のショットですべてのパーティクルを発射できます。 - -画面上のオブジェクトによってレンダリングされるパーティクルの最大数を変更することもできます。この数値は、エミッタが使用するメモリを変更することに注意してください。*この数が大きすぎると、ゲームがクラッシュする可能性があります。* - -## 例 - -!!! note - - **やってみよう!** 🎮 - これらのサンプルはオンラインで実行することができます - -[![](/gdevelop5/objects/particleemitterexplosionsnew.png)](https://editor.gdevelop.io/?project=example://particles-explosions) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://particles-explosions){ .md-button .md-button--primary } - -[![](/gdevelop5/objects/particleemitervariousnew.png)](https://editor.gdevelop.io/?project=example://particles-various-effects) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://particles-various-effects){ .md-button .md-button--primary } diff --git a/docs/ja/gdevelop5/objects/shape_painter.md b/docs/ja/gdevelop5/objects/shape_painter.md deleted file mode 100644 index db1d37c76de..00000000000 --- a/docs/ja/gdevelop5/objects/shape_painter.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: シェイプペインタオブジェクト ---- -# シェイプペインタオブジェクト - -!!! note - - **やってみよう!** 🎮 - [シェイプペインタオブジェクトの例をすぐみたいですか](#Examples) - -シェイプペインターオブジェクトを使用すると、ゲームで図形を描画できます。単純なユーザーインターフェイス(UI)要素を作成するのに役立ちます。シェイプペインタを使用して、選択ボックスを作成することもできます。 - -### シェイプペインタオブジェクトの追加 - -「シェイプペインタ」オブジェクトを追加するには、シーンエディターインターフェイスの右側にあるプロパティエディターリストから新しいオブジェクトを作成します。次に、新しいオブジェクトを選択してクリックし、「オブジェクトの編集」を選択します。表示されるリストで、「シェイプペインタ」をクリックします。 リストを下にスクロールして見つける必要がある場合があります。 ![add-shape-painter-object.png](/gdevelop5/objects/add-shape-painter-object.png) - -### プロパティーを編集 - -次に、オブジェクトのプロパティを編集します。再び、右側の\[プロパティ\]リストから、オブジェクトをクリックします。表示されるポップアップリストから\[オブジェクトの編集\]を選択します。新しいウィンドウが開きます。ペインタオブジェクトのプロパティが表示されます。 ![shape-painter-properties.png](/gdevelop5/objects/shape-painter-properties.png) - -### 色と不透明度を変更する - -シェイプペインタのプロパティウィンドウには、オブジェクトの輪郭の色/色、オブジェクトの塗りつぶしの色/色、各色/色の不透明度、オブジェクトの輪郭のサイズを変更できるオプションがあります - -![change-color-of-shape-painter.png](/gdevelop5/objects/change-color-of-shape-painter.png) - -### 相対オブジェクト位置 - -デフォルトでは、画面に描画する図形の位置は、「シェイプペインタ」オブジェクトを基準にしています。 ![shape-painter-relative-position-property.png](/gdevelop5/objects/shape-painter-relative-position-property.png) - -相対位置の場合、画面に図形を描画すると、その相対位置はX軸とY軸の位置0になります。Shapeペインタオブジェクトの位置になります。つまり、画面の位置がXで100ピクセル、Yで100ピクセルになる形状を描画する場合、位置は、画面上のどこにいても形状ペインタオブジェクトから100ピクセルになります。 - -ボックスがチェックされていない/チェックされていない場合、X軸とY軸の位置0は、オブジェクトの位置に関係なく、シーンの左上隅になります。 - -### 図形の描画 - -通常どおり、シェイプを描画するには、オブジェクトエディターを使用して新しいオブジェクトを作成します。「シェイプペインタ」オブジェクトをシーンに追加します。ここでプレビューを実行すると、何も表示されません。シェイプペインタオブジェクトは、基本的にオブジェクトの機能を追加するだけです。現時点では、「シェイプペインタ」プロパティ/パラメータのみを保持しています。シェイプを描画するには、シーン(イベント)エディターを使用する必要があります。イベントに慣れていない場合は、*Wikiのイベントページ*を確認することをお勧めします。 - -シーンイベントエディターに移動して、イベントを追加しましょう。新しいイベントを追加したら、「アクションを追加」テキストをクリックします。プリミティブ描画のイベントを見つけます。 - -![](/gdevelop5/objects/primitivedrawingeventchoices.png) - -描画する3種類の形状から選択できます。円、線、長方形。画面に長方形を描画します。描画プロパティの下の長方形を選択します。 - -![draw-shape-event.png](/gdevelop5/objects/draw-shape-event.png) - -右側で、使用する形状ペインタオブジェクトを選択します。左上の位置にXとYの両方に0を入力します。右下の位置にXとYの両方に100を入力します。 - -![draw-shape-event-properties.png](/gdevelop5/objects/draw-shape-event-properties.png) - -シーンプレビューを起動すると、シーン/画面に幅100ピクセル、高さ100ピクセルの長方形が描画されます。 - -![rectanlge-shape-painter.png](/gdevelop5/objects/rectanlge-shape-painter.png) - -相対位置を有効にしたままにすると、原点が0であっても、四角形がシェイプペインタオブジェクトと同じ位置にあることに気付くでしょう。このオプションを無効にして、プレビューを再度起動すると、オブジェクトが表示されます。シーンの左上隅に描画されます。 - -イベントを使用して、その場で図形のプロパティを変更することもできます - -![](/gdevelop5/objects/shapepaintereventsexample.png) - -## 例 - -!!! note - - **やってみよう!** 🎮 - サンプルをオンラインで実行できます - -[![](/gdevelop5/objects/shapepainterobject.png)](https://editor.gdevelop.io/?project=example://advanced-shape-based-painter) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://advanced-shape-based-painter){ .md-button .md-button--primary } diff --git a/docs/ja/gdevelop5/objects/sprite/collision-mask.md b/docs/ja/gdevelop5/objects/sprite/collision-mask.md deleted file mode 100644 index fef31f9d085..00000000000 --- a/docs/ja/gdevelop5/objects/sprite/collision-mask.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: 衝突マスク(スプライトオブジェクト用) ---- -# 衝突マスク(スプライトオブジェクト用) - -スプライトエディターには、すべてのアニメーションの下に**当たり判定を編集**ボタンがあります。 - -![](/gdevelop5/objects/screenshot_from_2019-05-21_16-36-32.png) - -このボタンをクリックすると、衝突マスクを編集するための新しいダイアログが開きます。衝突マスクとは、簡単に言えばスプライト内のある領域を示しているだけの情報ですが、これは当たり判定の際にチェック対象として機能し、まさに下図のような状態を避けるために使用されます。 - -![](/gdevelop5/objects/screenshot_from_2019-05-21_17-00-45.png) - -カスタマイズした衝突マスクを追加するには、**カスタム衝突マスクを使用する**オプションをクリックします。 - -![](/gdevelop5/objects/screenshot_from_2019-05-21_17-03-48.png) - -既定ですでに衝突マスクが存在しますが、足りなければ画面右下の[+]ボタンをクリックしてカスタム衝突マスクを追加できます。 - -画面に表示される赤いアウトラインの頂点をマウスでドラッグ移動して、希望する衝突マスクの形に整形しましょう。頂点が足りなければ、全ポイント座標の下にある黒丸内の[+]ボタンをクリックして頂点を追加できます。この例で使う衝突マスクの場合は、次のような感じになりました。 - -!!! note - - 多角形は必ず凸面体になるように注意してください。つまり角度が 180 度を超える頂点が一つもないようにしてください。 - -![](/gdevelop5/objects/screenshot_from_2019-05-21_17-19-28.png) - -![](/gdevelop5/objects/screenshot_from_2019-05-21_17-22-22.png) - -マスクを追加し終わったら[閉じる]をクリックしてプロパティに戻り、次いで[適用]をクリックします。 - -この例で作成した衝突マスクは、先ほどと同じ条件下ではるかに良い結果をもたらします。 - -![](/gdevelop5/objects/screenshot_from_2019-05-21_17-26-52.png) - -同じスプライトの他のアニメーションで別の衝突マスクを使いたい場合は、**すべてのアニメーションで同じ衝突マスクを共有する**オプションを無効にしてください。 - -![](/gdevelop5/objects/sprite/annotation_2019-06-21_121320.png) - -同じスプライトの別のインスタンスで別の衝突マスクを使いたい場合は、**このアニメーションのすべてのスプライトで同じ衝突マスクを共有する**オプションを無効にしてください。 - -![](/gdevelop5/objects/sprite/annotation_2019-06-21_121540.png) \ No newline at end of file diff --git a/docs/ja/gdevelop5/objects/sprite/edit-points.md b/docs/ja/gdevelop5/objects/sprite/edit-points.md deleted file mode 100644 index 6498a3d8851..00000000000 --- a/docs/ja/gdevelop5/objects/sprite/edit-points.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: ポイントの編集 ---- -# ポイントの編集 - -GDevelop におけるポイントとは参照用の場所を示す情報で、ある特定の目的でオブジェクトを利用する際に、そのオブジェクトの基準点を表します。スプライトオブジェクトにはデフォルトでポイント「Origin」と「Center」が存在します。 - -* スプライトの原点 Origin はスプライト画像の左上隅を指します。このポイントはシーン内に配置されたスプライトオブジェクトの画像位置の基準点として使われます。 -* スプライトの中心点 Center は画像の大きさのちょうど半分の中央位置を指します(これはデフォルトの定義ですが、変更できます)。この中心点は、ゲームエンジンによっては「アンカー」や「ピボット」とも呼ばれ、画像を回転したり反転する際の基準点として使われます。 - -!!! tip - - たとえば画像の大きさが 100×100 ピクセルのスプライトの場合、画像の原点 Origin は (0, 0) になります。これは画像の左上隅を指します。中心点 Center は (50, 50) になります。これは幅と高さを半分にした (100/2, 100/2) と同じ意味です。 - -## 新しいポイントを追加する - -すべてのアニメーションの下に**ポイントを編集**ボタンがあります。 - -![](/gdevelop5/objects/screenshot_from_2019-05-21_16-36-58.png) - -このボタンをクリックすると新しいダイアログが開き、既定で Origin と Center が設定済みの状態になっています。 - -![](/gdevelop5/objects/screenshot_from_2019-05-21_17-51-58.png) - -ダイアログ右下の[+]ボタンをクリックすると、ポイントを追加できます。これらのポイントはさまざまなアクションで参照されます。使用例を[こちらで確認できます](http://wiki.compilgames.net/doku.php/gdevelop5/tutorials/tank-shooter#shoot_bullets_with_the_turret)。 - - 同じスプライトの他のアニメーションで別のポイントを使いたい場合は、**すべてのアニメーションで同じポイントを共有する**オプションを無効にしてください。 - -![](/gdevelop5/objects/sprite/annotation_2019-07-02_183433.png) - - 同じスプライトの別のインスタンスで別のポイントを使いたい場合は、**このアニメーションのすべてのスプライトで同じポイントを共有する**オプションを無効にしてください。 - -![](/gdevelop5/objects/sprite/annotation_2019-07-02_184800.png) - -## デフォルトの Origin と Center ポイントを編集する - -スプライトの中心が画像全体の中心からずれていたり、ある特定の座標を基準に回転させたいような場合は、Origin と Center ポイントを変更できます。デフォルトでは、Center ポイントは自動で計算するようになっています。座標を変更したい場合は、右側にある鉛筆アイコンをクリックしてください。 - -![](/gdevelop5/objects/sprite/screenshot_2019-10-05_18.08.54.png) \ No newline at end of file diff --git a/docs/ja/gdevelop5/objects/sprite/index.md b/docs/ja/gdevelop5/objects/sprite/index.md deleted file mode 100644 index ccebb8be9af..00000000000 --- a/docs/ja/gdevelop5/objects/sprite/index.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: スプライトオブジェクト ---- -# スプライトオブジェクト - -!!! tip - - **やってみよう!** 🎮 - [説明はいいから、とにかく Sprite オブジェクトが動くところを見たい? わかりました、こちらを先にどうぞ。](/#サンプル) - - -スプライトオブジェクトは、GDevelop で最もよく使用されるオブジェクトです。 - -スプライトオブジェクトを使うと、画像を表示したり、一連の画像をアニメーションとして再生できます。ボタン、キャラクター、プラットフォーム など、ゲーム内の利用範囲は多岐にわたります。画像で表現できるものはすべて、スプライトオブジェクトにすることが可能です。 - -## スプライトオブジェクトを作成する - -シーンにスプライトを追加するには、オブジェクトリストの右下にある「クリックしてオブジェクトを追加」オプションを選択します。 - -![](/gdevelop5/objects/clicktoaddanobject.png) - -新しいパネルが開き、GDevelop で使用可能なさまざまなタイプのオブジェクトが表示されます。 - -![](/gdevelop5/tutorials/platform-game/gd5_object_types1.png) - -一覧から「スプライト」を選択して、ゲームシーンに新しいスプライトオブジェクトを作成します。 - -![](/gdevelop5/objects/select-sprite.png) - -オブジェクトを作成すると、プロパティウィンドウが開きます。このウィンドウには、スプライトオブジェクトのプロパティが表示されています。 - -![](/gdevelop5/objects/sprite-object-properties.png) - -## アニメーションを追加する - -アニメーションを使用すると、1 つまたは一連の画像をスプライトオブジェクトに追加できます。アニメーションを追加するには、アニメーションの追加ボタンをクリックします。 - -![](/gdevelop5/objects/add-animation-button.png) - -現在のダイアログボックスが展開し、設定可能なさまざまなオプションが表示されます。 - -![](/gdevelop5/objects/animation-properties.png) - -### アニメーションに画像を追加する - -「+」記号をクリックして、オブジェクトのアニメーションに画像を追加できます。 - -![](/gdevelop5/objects/add-symbol.png) - -クリックすると[ファイルを開く]ダイアログが表示され、アニメーション用の画像ファイルを選択できます。画像を選択すると、ウィンドウに画像が表示されます。 - -![](/gdevelop5/objects/add-image.png) - -### 当たり判定とポイント - -ダイアログの下部にある[当たり判定を編集]を使用して、スプライトの衝突領域、つまり当たり判定に考慮される領域をカスタマイズできます。くわしくは、[衝突マスクについて](/ja/gdevelop5/objects/sprite/collision-mask)を参照してください。 - -スプライトプロパティダイアログの下部にある[当たり判定を編集]オプションの隣には、[ポイントを編集]オプションがあります。このオプションを使用すると、オブジェクトの参照ポイントを追加できます。これらの参照ポイントは、必要なときにイベントで使用できます。くわしくは、[スプライトのポイントについて](/ja/gdevelop5/objects/sprite/edit-points)を参照してください。 - -### 複数のアニメーションを追加する - -オブジェクトには、複数のアニメーションが必要な場合があります。アニメーションを追加するには、初回の追加時と同じように[アニメーションを追加]ボタンをクリックします。この機能により、さまざまなアニメーションを簡単に分割管理できます。 - -![](/gdevelop5/objects/multiple_animations.png) - -イベントを使用して、これらのアニメーションを切り替えることができます。 - -### アニメーションに名前を付ける - -ウィンドウのアニメーションセクションの上部にある「Animation #」の横に、グレーアウトした「アニメーションの別名」フィールドが表示されています。このフィールドをクリックすると、アニメーションの名前を入力できるようになります。 - -![](/gdevelop5/objects/name-animation.png) - -!!! tip - - オブジェクトが複数のアニメーションを持つ場合、アニメーションに名前がないと区別しにくい状態になります。複数のアニメーションを持つオブジェクトには、アニメーション名を使用することをお勧めします。 - - 名前を入力しない場合は、アニメーション番号を使用してアニメーションを参照する必要があります。 - -### アニメーションに複数の画像を追加する - -アニメーションに複数の画像を追加するには、[ファイルを開く]ダイアログから必要なすべての画像を選択して、アニメーションに追加します。 - -![](/gdevelop5/objects/animation-multiple-images.png) - -画像は表示と同じ順序で再生されます。 - -### アニメーションを繰り返す - -デフォルトでは、すべてのアニメーションは 1 回だけ再生されます。つまり最後のフレームが終了すると、アニメーションはすぐに停止します。アニメーション を繰り返したい場合は、[ループ]にチェックを入れて、アニメーションを「ループ」するように設定します。 - -![](/gdevelop5/objects/set-animation-loop.png) - -この設定を行った後は、アニメーションが連続して再生されるようになります。 - -### アニメーション時間を設定する - -アニメーションの速度は、時計アイコンの値を変更することで設定できます。 - -![](/gdevelop5/objects/set-animation-speed.png) - -フィールドに入力するのは、2 つの連続するフレーム間の経過時間です。デフォルト値は 0.08 秒です。短いアニメーション時間を設定すると再生が速くなり、長いアニメーション時間を設定すると再生が遅くなります。 - -## オブジェクトへの名前付け - -ダイアログ上部の[オブジェクト名]フィールドにオブジェクトの名前が表示されます。オブジェクトの名前は通常、オブジェクトの内容を表すように設定し、他のスプライトと区別しやすくします。 - -![](/gdevelop5/objects/annotation_2019-06-09_152442.png) - -## シーンにオブジェクトを追加する - -新しいスプライトオブジェクトを準備できたら、次はそのインスタンスを目的のシーンに追加する番です。 - -方法はいくつかありますが、一般的なのは[オブジェクト]リストから配置したいスプライトをシーン内にドラッグする方法でしょう。ドロップした場所に新しいインスタンスが追加されます。他の方法としては、[オブジェクト]リスト上で配置したいスプライトを選択状態にしておき、シーン内で右クリックします。コンテキストメニューが表示されるので、[<オブジェクト>のインスタンスを追加]を選択するとインスタンスがシーンに追加されます。スプライトの「インスタンス」は必要な数だけシーンに追加できます。上記の方法を繰り返してもいいですし、配置済みのインスタンスをコピーして貼り付けでも追加できます。 - -![](/gdevelop5/objects/addspritetoscene.gif) - -## イベントで複数のアニメーションを使いわける - -それぞれ独自の画像セットを持つ複数のアニメーションを作成した後、イベントを使用してアニメーションを切り替えることができます。アニメーション時間を 0〜1 に設定すると、イベントを使用するときにアクティブになります。 - -!!! note - - マイナスのアニメーション時間を使用すると、イベントアクションが無効になります。 - - //マイナスの値は使用しないでください。// - -オブジェクトに複数のアニメーションを設定した場合、イベントの「名前でアニメーションを変更する」アクションを使って任意のアニメーションを設定できます。このアクションと条件を組み合わせることによって、希望のタイミングで任意のアニメーションに切り替えることができます。 - -![](/gdevelop5/objects/eventanimationexample.png) - -前述しましたが、複数のアニメーションを簡単に区別できるように、ここではオブジェクト内のアニメーションに名前が付けられているものとします。 - -アニメーション名を使用してアニメーションを変更するには、「名前でアニメーションを変更する」アクションを選択します。 - -そして「アニメーションの名前」フィールドに引用符で括った名前を指定します。 - -![](/gdevelop5/objects/eventanimnameexample.png) - -イベントの詳細については[チュートリアル](/ja/gdevelop5/tutorials)を参照してください。 - -## サンプル - -!!! tip - - **やってみよう!** 🎮 - 画像をクリックすると、オンラインでサンプルを実行できます。 - -[![](/gdevelop5/objects/createaspritenew.png)](https://editor.gdevelop.io/?project=example://change-scale-of-sprites) - ----- - -[![](/gdevelop5/objects/changespriteanimationexamplenew.png)](https://editor.gdevelop.io/?project=example://change-sprite-animation) - ----- - -[![](/gdevelop5/objects/changespritecolorexamplenew.png)](https://editor.gdevelop.io/?project=example://change-sprite-color) - ----- - -[![](/gdevelop5/objects/changespriteanimationexample2new.png)](https://editor.gdevelop.io/?project=example://play-stop-sprite-animation) \ No newline at end of file diff --git a/docs/ja/gdevelop5/objects/text.md b/docs/ja/gdevelop5/objects/text.md deleted file mode 100644 index 47f521c9ac2..00000000000 --- a/docs/ja/gdevelop5/objects/text.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: テキストオブジェクト ---- -# テキストオブジェクト - -!!! note - - **やってみよう!** 🎮 - [テキストオブジェクトのサンプルがすぐにみたいですか?](#Examples) - -テキストオブジェクトは、画面にテキストを表示します。作成時にテキストのプロパティ(サイズや色など)をカスタマイズできます。イベントを使用して、ゲームプレイ中にテキストオブジェクトのプロパティを変更することもできます。 - -## テキストオブジェクトのプロパティ - -### デフォルトのテキスト - -中央のテキストフィールドを使用して、オブジェクトによって表示されるテキストを設定できます。 ![](/gdevelop5/objects/change-text.png) - -### サイズ - -サイズフィールドを使用して、テキストのデフォルトのフォントサイズを設定します。 ![](/gdevelop5/objects/change-size-of-text.png) - -### 色 - -テキストの色は、パレットの色の正方形をクリックして変更できます。 ![](/gdevelop5/objects/change-color-of-text.png) - -### フォントとスタイル - -太字と斜体から選択できます。テキストにカスタムフォントを設定することもできます。 ![](/gdevelop5/objects/change-style-of-text.png) - -### 追加効果 - -* イベントを使用して**グラデーション**を作成できます。 ![textgradient.png](/gdevelop5/objects/textgradient.png) - -最大4色を選択できます。 - -* イベントを使用して**シャドウ(影)**を設定できます。 - -![](/gdevelop5/objects/showtextshadow.png) ![](/gdevelop5/objects/changetextshadow.png) - -影を変更するときは、色、距離、ぼかし、角度を選択できます。これは、明るい色でグロー効果を作成するためにも使用できます。 - -* オブジェクトの**不透明度**を変更できます: - -![](/gdevelop5/objects/changetextopacity.png) - -* オブジェクトの**スケーリング(拡大・縮小)**を変更できます - -![](/gdevelop5/objects/textscaling.png) - -![modifytextscale.png](/gdevelop5/objects/modifytextscale.png) - -次の3つのオプションがあります:「スケール」(X軸とY軸の両方にスケールするように比率を設定)、「X軸のスケール」(幅)、および「Y軸のスケール」(高さ)。 - -### 他のスタイル - -イベントを使用して、他のプロパティを変更できます。 - -- Bold(太字) -- Italic(斜体) -- Padding -- Alignment -- Wrapping -- Wrapping Width - -## イベント中での変更 - -イベントを使用して、ゲーム中にテキストのほとんどのプロパティを操作できます。たとえば、テキストフォントのサイズを変更するイベントは次のとおりです。 - -![changetextsizeviaevents.png](/gdevelop5/objects/changetextsizeviaevents.png) - -## 例 - -!!! note - - **やってみよう!** 🎮 - サンプルをオンラインで実行 - -テキストオブジェクトを操作する - -[![](/gdevelop5/objects/changetextexample1.png)](https://editor.gdevelop.io/?project=example://manipulate-text-object) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://manipulate-text-object){ .md-button .md-button--primary } - -テキストのフェードインとフェードアウト - -[![](/gdevelop5/objects/textfadeoutinexample.png)](https://editor.gdevelop.io/?project=example://text-fade-in-out) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://text-fade-in-out){ .md-button .md-button--primary } - -テキストのタイピング表示 - -[![](/gdevelop5/objects/type-ontexteffectexample.png)](https://editor.gdevelop.io/?project=example://type-on-text-effect) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://type-on-text-effect){ .md-button .md-button--primary } diff --git a/docs/ja/gdevelop5/objects/text_entry.md b/docs/ja/gdevelop5/objects/text_entry.md deleted file mode 100644 index 0a2eab89b98..00000000000 --- a/docs/ja/gdevelop5/objects/text_entry.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: テキスト入力オブジェクト ---- -# テキスト入力オブジェクト - -!!! note - - **やってみよう!** 🎮 - [テキスト入力オブジェクトの例をすぐに見たいですか](#Examples) - -テキスト入力オブジェクトは、ユーザー入力をキャプチャしてメモリに保存します。このオブジェクトを使用して、テキスト入力フィールドをシミュレートできます。たとえば、テキストエントリオブジェクトを使用して、ゲームのプレイヤーが自分の名前やその他の情報を入力できる方法を提供できます。 - -### テキスト入力オブジェクトの追加 - -オブジェクトエディタリストから新しいオブジェクトを作成した後、表示された選択肢リストから\[テキスト入力\]を選択します。 - -![add-text-entry-object.png](/gdevelop5/objects/add-text-entry-object.png) - -テキスト入力オブジェクトの名前を好きな名前に変更します。テキスト入力オブジェクトをシーンに追加します。 - -これで、シーンのプレビューを実行すると、押したすべてのキーがオブジェクトにキャプチャされ、メモリに保存されます。メモリから値を読み取るには、次のような式を使用する必要がありますTextEntry.String()(以下の例を参照)。 - -### テキストオブジェクトを使用して値を表示する - -最初に、テキストオブジェクトをシーンに追加します。次に、Textオブジェクトのコンテンツを変更するイベントを追加します。 - -![text-entry-object-display-value.png](/gdevelop5/objects/text-entry-object-display-value.png) - -テキストの新しいコンテンツである最後のパラメーターには、上記の式を使用します。 ![](/gdevelop5/objects/text-text-entry.png) - -!!! note - - __ 入力__は、テキストエントリオブジェクトの名前にする必要があります。これをテキスト入力オブジェクトの名前に置き換える必要があります。 - -シーンのプレビューを実行する場合。入力を開始すると、入力した内容がテキストオブジェクトに表示されます。 - -イベントを使用して、「テキスト入力」オブジェクトを有効または無効にすることができます。また、イベントを使用すると、テキスト入力をキャプチャするタイミングと、テキスト入力をキャプチャしないタイミングを制御できます。 - -![](/gdevelop5/objects/textentryobjectevents.png) - -## 例 - -!!! note - - **やってみよう!** 🎮 - サンプルをオンラインで実行できます - -![](/gdevelop5/objects/textexample.png) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://text-entry-object){ .md-button .md-button--primary } diff --git a/docs/ja/gdevelop5/objects/tiled_sprite.md b/docs/ja/gdevelop5/objects/tiled_sprite.md deleted file mode 100644 index 818afd126c5..00000000000 --- a/docs/ja/gdevelop5/objects/tiled_sprite.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: タイルスプライトオブジェクト ---- -# タイルスプライトオブジェクト - -!!! note - - **やってみよう!** 🎮 - [タイルスプライトオブジェクトのサンプルがすぐにみたいですか?](#Examples) - -タイルスプライトオブジェクトを使用すると、タイルのように敷き詰めて画像を表示できます。シーン内のオブジェクトをスケーリングすることにより、タイルセットのサイズを増減できます。 - -タイルスプライトオブジェクトは、プラットフォームゲームでプラットフォームを作成するために使用できます。同じ画像のグループとして使用することもできます。この場合、複数のスプライトオブジェクトを扱う必要はありません。 - -![](/gdevelop5/objects/tiled-sprite-object.png) - -### タイルスプライトオブジェクトを追加する - -タイルスプライトオブジェクトをシーンに追加するには、オブジェクトリストから新しいオブジェクトを作成します。開いたパネルから「タイルスプライト」オプションを選択します。 - -![](/gdevelop5/objects/add-tiled-sprite-object.png) - -### オブジェクトのプロパティを開く - -次に、再び右側のオブジェクトリストから、オブジェクトを右クリックしてオブジェクトのプロパティを開きます。表示されるポップアップリストから\[オブジェクトの編集\]を選択します - -![tiled-sprite-properties.png](/gdevelop5/objects/tiled-sprite-properties.png) - -### 画像を追加する - -オブジェクトに画像を追加するには、「画像を選択」フィールドをクリックします。ローカルファイルブラウザがコンピューターで開きます。お好みの画像を選択してください。 - -![add-image-to-tiled-sprite.png](/gdevelop5/objects/add-image-to-tiled-sprite.png) - -選択した画像は、右側のプレビューウィンドウに表示されます。 - -![tiled-sprite-image-preview.png](/gdevelop5/objects/tiled-sprite-image-preview.png) - -### デフォルトのサイズを変更する - -下部の\[デフォルトの幅\]と\[デフォルトの高さ\]の値を変更することにより、タイルスプライトオブジェクトのデフォルトサイズを変更できます。 - -![](/gdevelop5/objects/tiled-sprite-default-size.png) - -デフォルトのサイズは、オブジェクトに表示される画像の表示に影響します。たとえば、これは、オブジェクトサイズが32×32の場合の画像の見え方です。 - -![](/gdevelop5/objects/tiled-sprite-3232.png) - -ご覧のとおり、上記の画像はオブジェクトに合わせて拡大縮小されませんが、画像は部分的にしか見えません。 - -オブジェクトのサイズを100×100に設定すると(下図を参照)、オブジェクトのサイズは実際の画像よりも大きくなるため、空のスペースを埋めるために画像の描画を繰り返します。 - -![](/gdevelop5/objects/tiled-sprite-100100.png) - -### オブジェクトを拡大縮小する - -シーンエディターでオブジェクトをスケーリングして、必要な外観/サイズに変更することで、即座に結果を得ることができます。 - -![](/gdevelop5/objects/scale-tiled-sprite.png) - -シーン(イベント)エディターを使用して、タイルスプライトのサイズを変更することもできます。イベントエディターを使用すると、ゲームプレイがより流動的で興味深いものになります。 - -![](/gdevelop5/objects/scaleasprite.png) - -## 例 - -!!! note - - **やってみよう!** 🎮 - サンプルをオンラインで実行できます - -[![](/gdevelop5/behaviors/platformerbehavior.png)](https://editor.gdevelop.io/?project=example://platformer) - -[Open example in GDevelop](https://editor.gdevelop.io/?project=example://platformer){ .md-button .md-button--primary } diff --git a/docs/ja/gdevelop5/objects/tilemap.md b/docs/ja/gdevelop5/objects/tilemap.md deleted file mode 100644 index 4fd946c9c62..00000000000 --- a/docs/ja/gdevelop5/objects/tilemap.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: タイルマップオブジェクト ---- -# タイルマップオブジェクト - -タイルマップオブジェクトはタイルベースのオブジェクトを表示するために使います。これは RPG や SLG の**マップ**作成や、**タイルの組み合わせ**によって何らかのオブジェクトを作成するのに適しています。プラットフォーマーやレトロ風のゲームなどでも使えるでしょう。 - -今のところ、このオブジェクトは上級ユーザーによる使用を想定しており、**外部エディターの [Tiled](https://www.mapeditor.org/)** でタイルマップを作成する必要があります。 - -![](/gdevelop5/objects/tilemap/pasted/20210104-105043.png) - -## 既知の制限事項 - - * **オーソゴナル**タイルマップ(正投影法の方眼紙状マップ)には対応していますが、**アイソメトリック タイルマップ**(等角投影法の斜め見下ろし型マップ)にはまだ対応していません。 - * **複数のタイルセットを使ったタイルマップ**には対応していません。今のところ、1 つのタイルマップに使えるタイルセットは 1 つだけです。 - * あいにく **Tiled ファイルの当たり判定**には対応していません。今のところ GDevelop 側で当たり判定用に非表示のオブジェクトを手動で作成する必要があります。 - * マップとタイルセットは Tiled で **JSON ファイル**(.json)として保存する必要があります。 - * Tiled でタイルマップを作成し始めたら、それ以降はアトラス(画像ファイル)をリサイズしないでください。もしリサイズすると、テクスチャのサイズと Tiled ファイルの設定が食い違うため、GDevelop がレンダリングできなくなります。もしタイルセットをリサイズする必要がある場合は、Tiled で**マップを新規作成**してください(Tiled 上で既存マップからコピー貼り付けできます)。 - -## 新しいタイルマップを作成する - -まず必要なタイルセットをどこかで探すか、あるいは自作してそれを PNG ファイルに保存します。以降の例では *Cavernas* が公開しているパブリックドメインのタイルセットを使用することにします。[こちらから](https://adamatomic.itch.io/cavernas)ダウンロードできます。このファイルをプロジェクトフォルダーに保存します。 - -次に Tiled を [mapeditor.org](https://www.mapeditor.org/) からダウンロードしたら、インストールして起動します。**新しいマップ...**をクリックします。 -![](/gdevelop5/objects/tilemap/pasted/20210104-112522.png) - -タイルの出力形式には CSV か Base 64(未圧縮)か Base 64(zlib 圧縮)を選んでください(Zstandard 圧縮 には対応していません)。それからマップの大きさとタイルの大きさを決めてください。 - -![](/gdevelop5/objects/tilemap/pasted/20210104-112656.png) - -マップの保存場所を選び、JSON ファイルとして保存してください。JSON ファイルはプロジェクトフォルダーに保存することをおすすめします。 - -次に Tiled で新しいタイルセットを作成します。 -![](/gdevelop5/objects/tilemap/pasted/20210104-112850.png) - -名前を入力し、先ほどプロジェクトフォルダーに保存した画像ファイル(「アトラス」とも呼ぶ)を選択します。 -![](/gdevelop5/objects/tilemap/pasted/20210104-113221.png) - -**マップに埋め込み**をチェックすると、タイルセットデータがタイルマップの JSON ファイル内に格納されます。チェックしない場合は、タイルセット JSON ファイルをどこに保存するか尋ねてきます。ここで保存したファイルは、後で GDevelop 側のタイルマップの設定でも選択することが必要になります。くわしくは「バンドルと外部タイルセットのどちらを選ぶか」の節を参照してください。 - -それでは、Tiled でマップを作成しましょう。 -![](/gdevelop5/objects/tilemap/pasted/20210104-114523.png) - -最後に、作成したマップを GDevelop で表示してみます。新しい**タイルマップ**オブジェクトを作成します。それから設定画面でアトラス画像(タイルを含んだ画像)と**タイルマップ JSON ファイル**を選びます。 - -![](/gdevelop5/objects/tilemap/pasted/20210104-114702.png) - -**適用**をクリックして、オブジェクトをシーンにドラッグ&ドロップします(まだ配置していなければ)。 - -![](/gdevelop5/objects/tilemap/pasted/20210104-114824.png) - -### 当たり判定の取り扱い - -Tiled の当たり判定タイルセット機能は、今のところ GDevelop 側で対応していません。その代わりに、見えない障害物として振る舞うオブジェクトあるいはプラットフォームを作成します。下記はプラットフォームビヘイビアを使った例です。 - -![](/gdevelop5/objects/tilemap/pasted/20210104-122010.png) - -オブジェクトをプレースホルダー画像(ふつうは色の付いた長方形でじゅうぶんです)で作成し、それにプラットフォームビヘイビアを追加します。 -![](/gdevelop5/objects/tilemap/pasted/20210104-115630.png) - -シーン開始時のイベントで、障害物/プラットフォームを非表示にします。 -![](/gdevelop5/objects/tilemap/pasted/20210104-120406.png) - -他にも、これらのオブジェクトを別のレイヤーに分けておいて、レイヤーごと非表示にする方法もあります。 - -## バンドルと外部タイルセットのどちらを選ぶか - -Tiled ではタイルセットのデータをタイルマップの JSON ファイルに埋め込むことができます。これは Tiled でマップを編集していて、新しいタイルセットを作成する際に**マップに埋め込み**をチェックすることで実現します。GDevelop はこの方式に対応しているため、タイルマップの JSON ファイルに埋め込んであるタイルセットを検出すると、それを自動的に読みこみます。 - -一方で、**異なるマップ間でタイルセットを共有する**方針の場合は、タイルセットを独立した JSON ファイルに分離する方が自然です。こうすると、GDevelop がタイルセットを 1 回だけパースすれば済むため、少しですが最適化になります。また大規模なプロジェクトでは、タイルセットをより柔軟に管理しやすくなります。 - -タイルセットを分離する場合は、Tiled でタイルセットを作成する際に「マップに埋め込み」のチェックを外します。続いて**ファイル名をつけて保存...**をクリックし、タイルセットを保存するファイルを指定します。 - -![](/gdevelop5/objects/tilemap/pasted/20210104-105614.png) - -最後に GDevelop 側で、アトラス画像とタイルマップ JSON ファイルの後に追加でタイルセットファイルを指定します。 - -![](/gdevelop5/objects/tilemap/pasted/20210104-110127.png) - -内部的には GDevelop は次のように処理します。 - -* タイルセット JSON ファイルが指定された場合は、そのタイルセットを使います。もし仮にタイルマップ JSON ファイルに他のタイルセットがバンドルされていたとしても、外部のタイルセット JSON ファイルが優先して使われる点に注意してください。バンドルタイルセットの方は無視されます。 -* タイルセット JSON ファイルを指定しない場合は、タイルマップ JSON 内を調べて、見つかったタイルセットを読みこみます。 - -## アニメーションタイルの使用 - -**アニメーションタイル**を使う場合は、それをアトラス上に正しい順番で 1 行で再配置する必要があります。 - -!!! danger - - Tiled はタイルフレームをアトラスの任意の場所に配置し、フレームの一部を繰り返すことができます。しかし GDevelop オブジェクトはそのようにして作成されたアニメーションを正しく解釈することができません。 - -Tiled はフレームごとに違う長さを指定できますが、この拡張機能はすべてのフレームが同じ長さの場合だけに対応しています。アニメーションの再生速度を変えることはできますが、それをフレーム単位で制御することはできません。 - -![](/gdevelop5/objects/tilemap/pasted/20210104-112051.png) - -GDevelop では、タイルマップのアニメーション速度を指定できます。デフォルト値は 4 FPS(1 秒間に 4 画像、つまり 1 画像につき 1000÷4=250 ミリ秒)です。 - -![](/gdevelop5/objects/tilemap/pasted/20210104-112229.png) - -## 今後の開発 - -このオブジェクトはまだ実験的で、下記の改善を予定しています。 - -- 基本的な機能を備えた GDevelop 内蔵エディターを開発し、シーンエディターで直接マップの作成や編集をできるようにします。 -- 当たり判定の対応を追加します。 -- アイソメトリックタイルの対応を追加します。 - -技術的な注記:この拡張機能は [pixi-tilemap](https://github.com/pixijs/pixi-tilemap) を利用しています。このプロジェクトはオープンソースなので、自由に貢献してください。オブジェクトの改良やバグ報告など、GDevelop への貢献も歓迎しています。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/objects/video.md b/docs/ja/gdevelop5/objects/video.md deleted file mode 100644 index 9397bfa7a61..00000000000 --- a/docs/ja/gdevelop5/objects/video.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: ビデオオブジェクト ---- -# ビデオオブジェクト - -ビデオオブジェクトは、画面にビデオを表示します。ゲームのカットシーンに最適です。 - -!!! note - - ビデオファイルは短いビデオでも非常に重いため、ゲームのダウンロードと起動に時間がかかります。適切な圧縮を使用し、ビデオの長さをできるだけ制限してください。 - -!!! note - - ビデオを再生する前に、プレーヤーが最初にゲームと対話していることを確認する必要があります(ビデオのロックを解除するには、画面上の単純なクリック/タッチで問題ありません) - -ビデオは、タイミング、状態(再生/一時停止)、音量…などのイベントを使用して制御できます。 - -## ビデオの追加 - -新しいオブジェクトを作成するときは、「実験オブジェクトを表示」ボタンをクリックして、「ビデオ」を選択します。 - -![](/gdevelop5/objects/video-object.png) - -オブジェクトが作成されると、エディターが表示されます。 - -![](/gdevelop5/objects/video-object-editor.png) - -## ビデオファイルの選択 - -\[ビデオリソース\]フィールドをクリックしてから、\[新しいビデオファイルを選択\]をクリックします。ほとんどのブラウザとの互換性については、ビデオ形式に関する以下のアドバイスに従ってください。 - -!!! note - - ファイルは、次のようにエンコードされた.mp4形式である必要があります 。 - - - **H264** ビデオ, - - **AAC** オーディオ. - - - -以下も選択できます。 - -- **ビデオのループ**:ビデオが最後に達したときにループする場合 -- **透明度** : 0(完全に透明)〜255(不透明-デフォルト) -- **音量** : 0(サイレント)から100(最大ボリューム-デフォルト) - -!!! note - - 以下のすべての条件とアクションは、ビデオカテゴリ内の条件とアクションを参照します。 - -## ビデオの長さ - -「長さ」条件はビデオの長さをテストします。 - -## ビデオの終わり - -ビデオが終わりに達したときにアクションを実行するには、「Is ended」条件が使用されます。この条件は、ビデオからゲームプレイなどに切り替えるために使用される場合があります。 - -## ビデオの再生時間 - -ゲームプレイ中にビデオが再生されると、「ビデオをスキップ」の有効化や「ゲームの保存」ダイアログのポップなどのアクションについて、ビデオの現在の時刻を確認する必要がある場合があります。これは、「Current time」テスト条件を使用して実現できます。 - -「Set time」アクション を使用して、ビデオ内の時間にスキップすることもできます。アクションに対応する条件が真であるときはいつでも、入力された時間とに応じてビデオは時間にスキップし「Modification's sign」します。 - -## ビデオの透明度 - -透明度は、ビデオの透明度の尺度です。透明度の条件が255を返す場合、ビデオがまったく透明ではないことを意味し、0を返す場合、完全に透明です。ビデオのデフォルトの透明度は255です。 - -透明度の設定アクション を使用して、ビデオの透明度を設定できます。最大にするには、255に設定し、完全に透明にするには0に設定できます。 - -## ビデオの再生速度 - -ビデオの再生速度は、ビデオの現在の速度とビデオの元の速度の比率です。再生速度条件が1より大きい値を返す場合、ビデオは元のビデオよりも速い速度で再生されています。条件が1未満の値を返す場合、元のビデオより遅い速度で再生しています。再生速度のデフォルト値は1です。 - -ビデオの再生速度を設定するには、再生速度の設定アクションを使用します。デフォルトのレートよりも速いレートでビデオを再生するには、1より大きい値を設定し、遅いレートで再生するには、再生速度を1未満の値に設定します。デフォルトでは、1に設定します - -## ビデオのループ - -ビデオがループされると、ビデオは最後に到達した後、最初から繰り返されます。ビデオがループしているかどうかを確認するには、「Is looped」条件を使用します。ビデオがループされると、対応するアクションが実行されます。 - -また、「ビデオをループする」アクションを使用してGDevelopでループするビデオを設定し、「はい」を選択することでビデオ再生ループを有効にできます。デフォルトでは、ビデオはループされません。 - -## ビデオのミュート(消音) - -ビデオがミュートされると、ゲームから音声は聞こえなくなります。ビデオがミュートされているかどうかを確認するには、「Is muted」条件を使用します。ビデオがミュートされている場合、対応するアクションが実行されます。 - -「ビデオのミュート」アクションを使用し、「はい」を選択すると、ビデオをミュートできます。デフォルトでは、ビデオはミュートされていません。 - -## ビデオの一時停止 - -ビデオが一時停止されているかどうかを確認するには、「Is paused」条件を使用します。ビデオが一時停止されている場合、画面が表示されたまま再生が停止されます。 - -「ビデオの一時停止」アクション を使用してビデオを一時停止できます。デフォルトでは、ビデオは一時停止しています。 - -## ビデオを再生する - -ビデオを見るには、まずビデオを再生する必要があります。ビデオが再生されているかどうかを確認するには、「Is played」条件を使用します。ビデオが再生されている場合、対応するアクションが実行されます。 - -ビデオを開始したり、一時停止後にビデオを再開したりするには、「ビデオを再生」アクションを使用できます。デフォルトでは、ビデオは再生されておらず、再生するにはこのアクションが必要です。 - -## ビデオの音量 - -GDevelopを使用してビデオの音量を設定することもできます。ビデオの音量を比較するには、「Volume」条件を使用します。ビデオの最大音量は100、最小音量は0(ミュート)です。 - -ビデオの音量を設定するには、「ボリュームの設定」Set volume条件を使用します。0〜100の任意の数値に設定できます。デフォルトのボリュームは100に設定されています。 - -## ビデオ再生のサンプル - -- Video player: diff --git a/docs/ja/gdevelop5/preferences.md b/docs/ja/gdevelop5/preferences.md deleted file mode 100644 index 3dc813cd05b..00000000000 --- a/docs/ja/gdevelop5/preferences.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: preferences ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -# 環境設定 - -You can change how GDevelop looks and acts to your liking. - -##Opening Preferences - -On the **web app**: Projects manager → Preferences - -On the **desktop version**: Files → Preferences - -The inference would look like this, - -![](/gdevelop5/preferences.png) - -##Changing the theme - -![](/gdevelop5/themes.png) - -Themes allow you to change how the interface looks - -**UI theme** changes the UI's look - -**Code editor theme** changes the look of the code editor in the JavaScript code block - -![](/gdevelop5/codeblockmonokai.png) - -There are multiple themes you can choose from. You can also create your own themes! See, [how you can make one](https://github.com/4ian/GDevelop/blob/master/newIDE/README-themes.md) - -##Changing backdrop click behaviour - -![](/gdevelop5/dialogs.png) - -This allows you to choose what will happen when the backdrop (The faded part outside a window) is clicked. - -If **No changes** is selected, clicking the backdrop won't close the window - -If **Cancel changes** is selected, the changes done in the current window will be **abandoned** (Only happens in some windows) - -If **Apply changes**(Default) is selected, the changes done in the current window will be **applied**(Only happens in some windows) - -##Hints and Explanations - -GDevelop shows some hints/explanations for some features in the UI. You can toggle them off if you don't want them to be shown. - -Example of an hint/explanation: ![](/gdevelop5/hints2.png) - -## Keyboard shortcuts - -There is a separate page discussing about keyboard shortcuts and the command palette - -See, [command palette and shortcuts](/gdevelop5/interface/command-palette-and-shortcuts) - -## Changing Language - -You can choose what language the interface should use. - -Go to the **Start Page** - -![](/gdevelop5/changinglanguage1.png) - -You can choose from the options of languages from the list. - -Some language might not be fully supported, you can see the estimate of how much has been translated. - -You can help translate GDevelop to your language and report any mistakes. It would be much appreciated. - -![](/gdevelop5/changinglanguage2.png) diff --git a/docs/ja/gdevelop5/publishing/android_and_ios.md b/docs/ja/gdevelop5/publishing/android_and_ios.md deleted file mode 100644 index fee6b616216..00000000000 --- a/docs/ja/gdevelop5/publishing/android_and_ios.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: ゲームをAndroidおよびiOSに公開する ---- -# ゲームをAndroidおよびiOSに公開する - -GDevelopを使用すると、AndroidやiOSを含むさまざまな形式でゲームを公開できます。ゲームをエクスポートするには、GDevelopインターフェースの上部にあるメニューから[ファイル]をクリックし選択します。任意のエクスポートオプションを選択します。この場合、 表示されるオプションのパネルから**AndroidとiOS**を選択します。 - -![](/gdevelop5/publishing/filemenuexport.png) - -## ゲームをパッケージ化する準備ができていることを確認してください! - -ゲームがAndroidおよびiOS用にエクスポートできる状態であることを確認することが重要です。 - -- [プロジェクトマネージャー](/gdevelop5/interface)から、アクセス可能なゲームプロパティで、有効なパッケージ名を入力してください。パッケージ名は、次のような識別子ですcom.yourname.gamename。ウェブサイトのアドレスのようなものですが、逆になっています。次の条件があれば、任意のパッケージ名を選択できます。 - -  - - * iOSまたはAndroidの別のゲームまたはアプリケーションでは同じ名前は使用できません。 - * 文字・数字・ドットのみで書かれています。単語の間にドットを1つだけ入れます(たとえば、com..mygameまたは..mygameは無効です)。この識別子は最大2〜5ワードにしてください。 - * 必要なアイコンが含まれていることを確認してください。 - -## エクスポートの開始 - -[ファイル]メニューで、[エクスポート]を選択します。次に、**Android(およびiOSが近日公開予定)**を選択します。 ![](/gdevelop5/publishing/android-ios-export-option.png) - -### アカウントをお持ちでない場合は作成してください - -Androidのパッケージを使用するには、[GDevelopのアカウント](/gdevelop5/interface/profile)が必要です。アカウントを持っていない場合は、「アカウントを作成」をクリックし、メールアドレスを入力してパスワードを選択します。 - -準備ができたら、**Android向けパッケージ**をクリックします。 - -![](/gdevelop5/publishing/package-android.png) 次に、ゲームがビルドされるのを待ちます。いくつかのステップがあり、その間にゲームがエクスポート、圧縮、オンラインビルドサービスにアップロードされ、ビルドされます。 - -最後に、Androidにインストールできる.apkファイルを取得するための**ダウンロード**ボタンがあります - -## Androidスマートフォンにゲームをインストールします - -Androidスマートフォン/タブレットをコンピューターに接続し、APKファイルをデバイスのフォルダーのどこかに配置します。または、クラウドストレージ([Dropbox](https://www.dropbox.com/), [Google Drive](http://drive.google.com/), [OneDrive](https://onedrive.live.com/about/en-in/)...)にAPKを保存し、デバイスにダウンロードすることもできます。 - -APKをインストールする前に、[設定]\> [セキュリティ]に移動し、[ 不明なソース ]を有効にします。これにより、Google Playストアにまだ登録されていない場合でも[.apkファイルをインストール](。 - -最後に、ファイルマネージャーを開き、APKを含むフォルダーに移動し、タッチしてインストールを開始します。 - -![](/gdevelop5/publishing/launch-apk.png) - -アプリがインストールされました。 - -![](/gdevelop5/publishing/installation-apk.png) - -### ゲームをプレイ - -はい、ゲームがスマートホンにうまくインストールされました!他のアプリやゲームと同じように起動します。 - -GDevelopから直接Android用のゲームを 作成しました!簡単に更新できます。ゲームを再度エクスポートしてパッケージ化し、APKを携帯電話またはタブレットに送信してインストールするだけです。 - -## より多くのパッケージングが毎日できるよう登録しましょう - -登録ユーザーとして、Android向けに毎日2回ゲームをパッケージ化できます。 - -ゲームでさらに作業している場合は、アカウントをアップグレードして、毎日より多くのパッケージをアンロックすることができます!Indieサブスクリプションでは1日に10回、Proサブスクリプションでは最大70回エクスポートできます。 - -サブスクリプションを取得すると、GDevelopの作成者は引き続き作業を進めることができ(GDevelopはオープンソースソフトウェアです)、ゲームをWindows / macOS / Linux用にパッケージ化することもできます。 - -## ゲームをストアで公開する - -Android用のゲームを構築してテストしたら、Google Playストアで公開できます。 [Google Play Storeでの公開方法](/gdevelop5/publishing/android_and_ios/play-store)も御覧ください。 - -また、[Amazonアプリストアでの公開](/gdevelop5/publishing/publishing-to-amazon-app-store)も参考にして下さい。 diff --git a/docs/ja/gdevelop5/publishing/index.md b/docs/ja/gdevelop5/publishing/index.md deleted file mode 100644 index d5d3195cc05..00000000000 --- a/docs/ja/gdevelop5/publishing/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: ゲームの公開 ---- -# ゲームの公開 - -GDevelopを使用すると、最新のプラットフォームにゲームを公開できます!、ゲームをまずエクスポートする必要があります。 - -ゲームをエクスポートするには、GDevelopインターフェイスの上のメニューバーで[ファイル]をクリックします。表示されるポップアップリストから[エクスポート]オプションを選択します。 -![](/gdevelop5/file-export-menu.png) - -次に、選択可能な複数のオプションが表示されます。 -![](/gdevelop5/export-options.png) - - * **[Android ( iOSも準備中)](/gdevelop5/publishing/android_and_ios):** Android向けのゲームが作成されます(iOSのサポートは近日中に提供されます)GDevelopオンラインサービスを使用して、オンラインに送信し、ダウンロードリンクからAndroidにインストールして [Playストアで公開](/gdevelop5/publishing/android_and_ios/play-store)できます(iOSの場合は近日中にApp Storeで)または [Amazon App Storeに公開](/gdevelop5/publishing/publishing-to-amazon-app-store)できるようにします。 - * **[Facebookインスタントゲーム(Messenger)](/gdevelop5/publishing/publishing-to-facebook-instant-games):** Facebookインスタントゲームにアップロードしてメッセンジャーでプレイし、友達と共有して世界中に公開できるように、ゲームをビルドします。 - * **[Web (アップロード)](/gdevelop5/publishing/web)**: このオプションは、ゲームをGDevelopホスティングに無料でアップロードします。リンクボタンをクリックするだけです。誰とでも共有できます - * **[Windows, macOS & Linux](/gdevelop5/publishing/windows-macos-linux)**: このオプションは、ゲームをWindows、macOSまたはLinuxアプリケーション用に、GDevelopオンラインサービスを使用してオンラインで作成し、ゲームを配布できるようにリンクを送信します。 - -もっと詳しいユーザー向けのエクスポートオプションもあります。 - - * **[ローカルフォルダにエクスポート](/gdevelop5/publishing/html5_game_in_a_local_folder):** このオプションを使用すると、ゲームをPCのフォルダーにエクスポートして、必要なサーバーに手動でアップロードしたり、Electronなどのツールを使用してゲームをデスクトップまたはモバイルアプリケーションとして手動で作成したりできます。これは [Game Jolt](/gdevelop5/publishing/publishing-to-gamejolt-store), [Kongregate](/gdevelop5/publishing/publishing-to-kongregate-store) や [Itch.io](/gdevelop5/publishing/publishing-to-itch-io)などに対応します。 - * **[iOS & android (手動l)](/gdevelop5/publishing/android_and_ios_with_cordova):** このオプションは、Cordovaプロジェクトとして使用する準備ができたゲームをエクスポートします。その後、Cordovaコマンドラインツールを使用して、AndroidおよびiOS用のゲームを構築できます。 - * **[Windows, macOS and Linux (手動)](/gdevelop5/publishing/windows-macos-linux-with-electron):** このオプションは、Electronプロジェクトとして使用する準備ができたゲームをエクスポートします。その後、コマンドラインツールを使用して、Windows、macOS、またはLinux用のゲームを構築できます。 - -その他のリリースオプション: - - * **[Ubuntu Touch (モバイル版)](/gdevelop5/publishing/ubuntu-touch-packaging):** このガイドでは、Ubuntu Touchのクリックパッケージとしてゲームをパッケージ化するプロセスについて説明します。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/publishing/web.md b/docs/ja/gdevelop5/publishing/web.md deleted file mode 100644 index 33179a28c21..00000000000 --- a/docs/ja/gdevelop5/publishing/web.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Webでゲームを公開(オンラインでアップロード) ---- -# Webでゲームを公開(オンラインでアップロード) - -GDevelopホスティングサーバーを使用すると、ゲームをエクスポートしてWebで公開できます。ホスティングサーバーは無料です。ゲームは数日間利用可能になります! - -サーバーにアップロードするには、\[ファイル\]メニューで\[エクスポート\]を選択します。次に、**Web(オンラインでアップロード)**を選択し、\[エクスポート \]をクリックしてゲームをアップロードします。 - -![](/gdevelop5/publishing/export-online.png) ゲームはGDevelopホスティングサーバーでホストされます。これらのサーバーは、Amazonの堅牢なサービスに支えられています。アップロードしたゲームは、数日間ゲームを共有するために使用できます。このサービスは無料です。 - -デフォルトでは、リンクは**private**であることに注意してください。どこでも共有されていません。必要に応じて、ゲームへのリンクを共有できます。少数の知り合いまたはより多くの人々と共有します。 - -## 他のプラットフォーム(iOS、Android、Windows、macOS、Linux)へのエクスポート - -[他のエクスポートオプション](/ja/gdevelop5/publishing) を参考にして下さい。 diff --git a/docs/ja/gdevelop5/publishing/windows-macos-linux.md b/docs/ja/gdevelop5/publishing/windows-macos-linux.md deleted file mode 100644 index 26812d262d7..00000000000 --- a/docs/ja/gdevelop5/publishing/windows-macos-linux.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: ゲームをWindows/macOSLinux用に公開する ---- -# ゲームをWindows/macOSLinux用に公開する - -GDevelopは、ゲームをWindows、macOS、さらにはLinuxに公開できます! - -ゲームをエクスポートするには、GDevelopインターフェースの上部にあるメニューから\[ファイル\]をクリック/選択します。ドロップダウンリストから\[エクスポート\]オプションを選択します。 - -![](/gdevelop5/publishing/filemenuexport.png) - -## ゲームをパッケージ化する準備ができていることを確認してください! - -ゲームが実行可能ファイルとしてエクスポートする準備ができていることを確認することが重要です。 - -* ゲームプロパティ([プロジェクトマネージャー](/gdevelop5/interface)からアクセス可能)で、有効なパッケージ名を入力してください。パッケージ名はこのような識別子です:com.yourname.gamename。 - - * iOSまたはAndroidの別のゲームまたはアプリケーションでは使用されません。 - * 文字、数字、ドットのみで書かれています。(例えば、単語の間に1個のドットを置くcom..mygameか、..mygameなどは有効ではありません)、そして2-5の言葉の最大の識別子を制限します。 - -* ゲームのプロパティで、有効なバージョン番号(1.0.0、1.0.1など)を入力します -* アイコンを設定したことを確認してください - -## エクスポートを開始 - -\[ファイル\]メニューで、\[エクスポート\]を選択します。次に、* Windows/macOS/Linux*を選択します。 - -### アカウントをお持ちでない場合は作成してください - -パッケージを作成するには、[GDevelopアカウント](/gdevelop5/interface/profile)が必要です。アカウントを持っていない場合は、「アカウントを作成」をクリックし、メールアドレスを入力してパスワードを選択します。 - -### プラットフォームを選択して、エクスポートを開始します - -ゲームをエクスポートするプラットフォームを選択します。Windowsの場合、単一の実行可能ファイルとzipファイルのどちらを使用するかを選択できます。 ![](/gdevelop5/publishing/gdevelop-export-choose-platform.png) - -準備ができたら、**エクスポート** をクリックします。 - -次に、ゲームがビルドされるのを待ちます。選択したプラットフォームによっては、数分かかる場合があります。いくつかのステップがあり、その間にゲームがエクスポート、圧縮、オンラインビルドサービスにアップロードされ、ビルドされます。 - -終了すると、ゲーム用に選択された各プラットフォームのダウンロードボタンが表示されます。ダウンロードボタンを使用して、ゲームにプレイするために配布できるファイルを受信します。 - -### ゲームをプレイ - -* Windowsでは、ゲームの名前を持つ実行可能ファイルをダブルクリックして起動します。 -* macOSでは、アーカイブを抽出し、アプリをダブルクリックして起動します。 -* Linuxでは、 [AppImageをインストール](https://appimage.org/) して起動します。 - -!!! note - - WindowsおよびmacOSでゲームを起動すると、セキュリティに関する通知が表示される場合があります。とにかくゲームを実行することを選択します。macOSでは、\[ システム環境設定 \]の\[ セキュリティとプライバシー \]タブを開く必要がある場合があります。 diff --git a/docs/ja/gdevelop5/tutorials/basic-game-making-concepts.md b/docs/ja/gdevelop5/tutorials/basic-game-making-concepts.md deleted file mode 100644 index 36e72da1a17..00000000000 --- a/docs/ja/gdevelop5/tutorials/basic-game-making-concepts.md +++ /dev/null @@ -1,166 +0,0 @@ ---- -title: ゲーム作りの基本コンセプト:GDevelop を使うために知っておきたいこと ---- -# ゲーム作りの基本コンセプト:GDevelop を使うために知っておきたいこと - -GDevelop の基本コンセプトはシンプルです。ソフトを使いはじめるにあたって、この後の説明を読んでおいてください。GDevelop をまだ入手していない場合は、[ここから最新バージョンをダウンロードしてください](https://gdevelop.io/download)。 - -## 画面に表示されるもの:オブジェクト - -*画面に表示されるもの*はすべて**「オブジェクト」**と呼ばれます。オブジェクトの種類が違うと、それによって表示されるゲーム要素の種類も変わります。たとえばゲームグラフィックの多くは「スプライト」と呼ばれるオブジェクトです。テキストは「テキスト」オブジェクトで表示し、炎や火花のようなエフェクトは「パーティクルエミッター」が生成します。 - -## オブジェクトを表示する位置:座標 - -GDevelop の画面/シーン上に表示されるオブジェクトは、**X 座標と Y 座標**を持ちます。これらの座標は、_デカルト平面_上の水平位置(X 軸)と垂直位置(Y 軸)に対応しています。 - -X 座標は、左に行くと_減少_し、右に行くと_増加_します。Y 座標は、下に行くと_増加_し、上に行くと_減少_します。 - -![](/gdevelop5/tutorials/basic-game-making-concepts/pasted/20201015-145909.png) - -オブジェクトを移動したり回転するには、その角度を度数で指定します。次の図は GDevelop に回転角度を指定する方法を示しています。 - -![](/wiki/pres_coord2.png) - -角度はマイナスの値で表現されることもあるという点に注意してください。たとえば -90 度は 270 度と同じ角度です。 - -**サイン**や**コサイン**のような三角関数を使用する場合は、角度を**ラジアン**で指定します(1 ラジアン=180 / PI 度、1 度=PI / 180 ラジアン。PI は円周率を表し、値は約 3.14159)。 - - -## イベントとそれがいかにしてオブジェクトを選択するか - -イベントは、ゲームのルールを作成するために使います。これは条件とアクションから構成されます。そして条件とアクションの大半は、オブジェクトを参照します。 - -* 条件はどのオブジェクトが対象になるかを**テスト**します。 -* アクションは対象オブジェクトを**操作**します。位置や外観などを変更できます。 - -条件を指定しないと、すべてのオブジェクトがアクションの操作対象になります。あるイベントで最初にオブジェクトを使うときは、GDevelop はシーンから指定された名前の**すべてのオブジェクト**を検査し、ときにはそれを変更します。 -同じイベントの 2 回目以後では、GDevelop は前回の条件で抽出されたオブジェクトだけを検査し、変更します。 - -たとえば下のイベントには条件がありません。そのため、「Square」という名前の**すべての**オブジェクトが削除されます。 - -![](/gdevelop5/tutorials/delete-square.png) - -次のイベントには条件があります。X 座標が 100 ピクセル未満の「Square」オブジェクト**だけ**を削除します。 - -![](/gdevelop5/tutorials/delete-square-condition.png) - -!!! tip - - **やってみよう!** 🎮次のサンプルをオンラインで実行してみましょう: https://editor.gdevelop.io/?project=example://object-selection - -[![](/gdevelop5/tutorials/objectselection-pickobject.png)](https://editor.gdevelop.io/?project=example://object-selection) - -## イベント:順番が重要 - -イベントの順番(実行順)は**とても重要です**。 - -一番上にあるイベントが一番最初に実行されます。ゲームが表示されるたびに、イベントは毎回実行されます。この表示処理単位はフレームと呼ばれ、1秒間に60回実行されます。次の2つの例は、同じ**ではありません**。 - -![](/gdevelop5/tutorials/create-then-delete-square.png) - -![](/gdevelop5/tutorials/delete-then-create-square.png) - -* 上のイベントブロックでは、座標 X が 100 で Y が 200(100;200)の位置に「Square」オブジェクトを作成します。それから作成したものをすぐに削除します。「Square」は画面上に**表示されません**。作成された直後に削除されるからです。 -* 下のイベントブロックでは、まずすべての「Square」オブジェクトを画面から削除します。次に座標 X が 100 で Y が 200(100;200)の位置に「Square」を1個作成します。このイベントでは Square が画面に**表示されます**(次のフレームで削除されますが、またすぐに再作成されます)。 - -## ビヘイビア:オブジェクトのための定義済みルールとロジック - -**ビヘイビア**は、何らかの*定義済みのロジック*でオブジェクトを拡張します。ビヘイビアはとても簡単に使えて、単純なタスクを自動化するようなシンプルな使い方から、もっと複雑で高度な使い方まで、幅広く利用できます。例を挙げましょう。 - -* ビヘイビアで*画面の外に出た*オブジェクトを*自動的に*削除できます(ゲームのメモリ使用量を抑制)。 -* 別のビヘイビアで*画面上のオブジェクトを矢印キーで移動*できます。 -* さらに別のビヘイビアで、画面上のオブジェクトをマウスやタッチ操作で*ドラッグ移動*できます。 -* *Physics* ビヘイビアは高度なビヘイビアの例です。物理法則にのっとったリアルな挙動でオブジェクトを移動できます。 - -**オブジェクト**と**ビヘイビア**はイベントで操作できます。くわしくは[オブジェクト](/ja/gdevelop5/objects)と[ビヘイビア](/ja/gdevelop5/behaviors)を読んでみてください。 - -!!! tip - - 自分のニーズに応じて*カスタム ビヘイビア*を作成することもできます。これは作っているゲームの規模が大きくなってきたときにもお勧めです。オブジェクトがどのように動作するかというロジックをカスタム ビヘイビアに集約することで、イベントシートの肥大化を防げるからです。[こちらのチュートリアル](/ja/gdevelop5/tutorials/how-to-make-behavior)も参考になるでしょう。 - -## オブジェクトの移動:組み込み機能のフォースを使う - -オブジェクトの移動は、**フォース**という仕組みで実現できます。フォースはオブジェクトを「押す」作用のことです。 - -次のような指定ができます。 - - * X 軸と Y 軸上のフォースの座標(ピクセル単位のベクトル) - * または極座標(度数単位のフォースの角度とピクセル単位の距離) - * フォースが瞬間的(オブジェクトを「1 回だけ」押す)か、永続的(フォースが削除されるまで、オブジェクトをずっと押し続ける)か。 - -### 例 - -このオブジェクトを下に向かって動かしたいとしましょう。 - -![](/wiki/pres_vector.png) - -フォースの X/Y 座標を指定します。X 座標は 0、Y 座標は 150 ピクセルにします。あるいは極座標を指定して、角度を 90 度、距離を 150 ピクセルにしても同じことです。 - -### オブジェクトを移動する他の方法 - -物理エンジンやパスファインディングなど、一部の「ビヘイビア」にはオブジェクトを移動させる機能を持つものがあります。これらを使う場合は、組み込みのフォースシステムと併用せず、ビヘイビアが提供するアクションのみを使用することをお勧めします。 - -!!! tip - - **やってみよう!** 🎮次のサンプルをオンラインで実行してみましょう: https://editor.gdevelop.io/?project=example://move-object-with-physics - -[![](/gdevelop5/tutorials/moveobjectwithphysics.png)](https://editor.gdevelop.io/?project=example://move-object-with-physics) - -!!! note - - オブジェクトを移動するこれらの他の方法については、[こちらのページ](/gdevelop5/tutorials/how-to-move-objects)でくわしく説明されています。 - -## メモリ上に情報を格納する:変数 - -変数には**データ**を入れておくことができます。データとは、たとえばゲームで使う数字や文字列がそれです。比喩的には、変数はメモをしまっておける引き出しや箱のようなものと考えてもいいでしょう。それが_文字列_や_数字_の形式で表現できる限り、どんなデータでも変数に保存できます。ゲーム中のプレイヤーの残機数やハイスコア、残り銃弾数、倒した敵の数等、なんでも変数に入れておけます。一般的には変数に数値を格納することが多くなるでしょう。 - -![](/wiki/pres_variable.png) - -アクションと条件では、変数の_値_を検査したり変更します。 - -#### 変数はどこに保存されますか?(変数の「スコープ」) - -変数の_スコープ_は、変数にアクセスできる範囲を定義します。GDevelop には 3 種類の変数スコープがあります。 - -* **グローバル**変数はすべてのゲームシーンからアクセスできます。たとえばプレーヤーのスコアをグローバル変数に保存すると、違うレベルやシーンからもアクセスできます。 -* **シーン**変数はそれが作成されたシーン内でのみアクセスできます。あるシーンの中だけでしか必要ないデータに使用します。たとえば時間制限のあるレベルやシーンの残り時間をシーン変数で管理します。 -* **オブジェクト**変数は1つのオブジェクト内でのみ有効です。たとえばヒーローに「Health」や「Ammo」の変数を持たせます。 - -!!! note - - 変数に関しては次のページ[変数](/ja/gdevelop5/all-features/variables)も参照してください。変数はゲームでとてもよく使われます。多くのサンプルやチュートリアルで、使用例を見ることができます。 - -!!! tip - - 変数の使い方を説明したビデオチュートリアルを見たい場合は、[Variables explained for Non-programmers](https://www.youtube.com/watch?v=SRfpBTgx-PY) にアクセスしてみてください。 - -## 高度な概念:最後のフレームからの「経過時間」(TimeDelta) - -ゲームはイベントを評価して、毎秒複数回 画面を再描画します。つまり一瞬のあいだにゲームが_リフレッシュ_し、_アップデート_するわけです。これがどの頻度で繰り返されるかは、実行中のコンピューターの性能に依存します。コンピューターが遅ければ1秒間に 25 フレームかもしれませんし、速ければ 60 フレームでしょう。GDevelop はどのコンピューターでも同じフレーム数になるように調整していますが、それでもコンピューターによってある種の処理速度が変わることがあります。たとえば、数学的な計算や移動の描画がそうです。 - -スピードの変更を一定にするために //`TimeDelta()` 式//を使ってください。これは最後のフレームからの経過秒数を返します。 -下記は、やってはいけない例です。 - -![](/gdevelop5/tutorials/update-life-no-timedelta.png) - -次のようにすると、うまくいきます。 - -![](/gdevelop5/tutorials/update-life-timedelta.png) - -* 最初のイベントでは、ゲームが再描画されるたびに変数に 20 を加算しています(最大60回/秒)。しかし変数の増加速度がコンピューターによって変わってしまうようなイベントを利用するのは**間違っています**。たとえば 10 秒後に変数の値がどうなっているか、誰にも予測できません。それはゲーム中に描画されるフレーム数によって変わるからです。 - -* 2 番目のイベントは**正確で信頼性があります**。数値 300 を TimeDelta() と掛け算していますね。この結果、変数はすべてのコンピューターで同時に増加します。TimeDelta() が秒単位の時間を返すので、増加量を正確に計算できるのです。この場合は、変数が毎秒 300 単位ずつ増分します。したがって 10 秒後には 3000 増加するということを予測できます。その間のフレーム数がいくつかを気にする必要はありません。 - -!!! tip - - GDevelop がゲームを最大速度 60 フレーム/秒で実行している限り、最初のイベントのやり方を使っていたとしても、そこに問題があることには気づかないでしょう。だとしても、この件を意識して `TimeDelta()` 版の方を使うように心がけるのが賢いやり方です。 - -**アドバイス:**値を継続的に追加していく場合は、_TimeDelta()_ を使ってください。一回きりのアクションであれば、TimeDelta を使わず任意の値を使ってもかまいません。たとえば衝突したオブジェクトを消す場合など、ゲームの速度に依存しなければ問題ありません。 - -!!! danger - - フォースを使ってオブジェクトを移動する場合は、GDevelop が自動的に内部処理するので、TimeDelta() を使う必要はありません。 - -## さて…あなたがいま知っておくべきことは、これでほぼ全部です - -➡️ GDevelop で本物のゲームを作る方法を説明した、もっとたくさんの**[チュートリアル](/ja/gdevelop5/tutorials)**があります。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/endless-runner.md b/docs/ja/gdevelop5/tutorials/endless-runner.md deleted file mode 100644 index e3dcae7716b..00000000000 --- a/docs/ja/gdevelop5/tutorials/endless-runner.md +++ /dev/null @@ -1,360 +0,0 @@ ---- -title: エンドレスランナーゲームの初心者向けチュートリアル ---- -# エンドレスランナーゲームの初心者向けチュートリアル - -> ![](/gdevelop5/tutorials/endlessrunnergame_intro.png) このチュートリアルは、GDevelopの仕組みを理解するのに役立ちます。このチュートリアルでは、非常に基本的なエンドレスランナーゲームを作成します。このゲームでは、プラットフォームがランダムに生成され、プレイヤーが画面外に押し出されないように移動する必要があります。プレイヤーが行動しているときにスコアを更新するスコアシステムもあります。 -> -ソフトウェアがどのように機能するかの基本を知るために、詳細については[](/ja/gdevelop5/getting_started)を参考にして下さい。 - -![](/gdevelop5/tutorials/gdevelopstartscreen.png) - -## GDevelopをダウンロード - -GDevelopをお持ちでない場合は、公式Webサイトからダウンロードしてください: : [GDevelop App](http://gdevelop-app.com) - -上記のページでGDevelopの最新バージョンを常に確認し、常にソフトウェアを更新することをお勧めします。ソフトウェアをダウンロードしてインストールした後、プログラムを起動すると、「スタート」画面が表示されます。 - -## 主なゲーム要素 - -#### ☆プレイヤースプライト - -![](/gdevelop5/tutorials/p1_stand.png) これが、ユーザーである私たちがコントロールする主人公です。プレイヤーのスプライトは、障害物を避けて画面内にとどまるために「ジャンプ」することができます。プレイヤーは「停止」「走る」「ジャンプ」のアニメーションが用意されています。 - -#### ☆ステージや障害物 - -![](/gdevelop5/tutorials/endlessrunnerplatform.png) これらは、プレーヤースプライトが回避する必要がある移動ブロックです。これらのブロックはランダムに配置されています。 - -#### ☆スコア表示 - -このテキストブロックは、プレーヤースプライトの動作中にスコアを更新して表示します。 - -> -> -> #### リソースをダウンロードする -> -ゲームのキャラクター、プラットフォーム、および背景を作成するために使用できるゲームのパーツが必要になります。このゲームに必要なすべてのリソースは次からダウンロードして下さい ![here](/gdevelop5/tutorials/endless_runner_resources.rar). - -## ステップ1:新しいプロジェクトの作成 - -\[スタート\]画面で、\[新しいプロジェクトの作成\]ボタンをクリックします。これにより、「新しいゲームの作成」ダイアログボックスが表示されます。次に、下にスクロールして\[空のゲーム\]タブを見つけます。それをクリックして、新しいプロジェクトを開きます。 ![](/gdevelop5/tutorials/screeenshot_na_test.png) - -プロジェクトを保存するフォルダをカスタマイズすることもできます。 ![](/gdevelop5/tutorials/store_location_for_endless_runner.png) - -\[フォルダの選択\]オプションをクリックして、選択した場所を選択します。ゲームプロジェクトファイルはこの場所に保存されます。 - -## ステップ2:新しいシーンを作成する - -ゲームは、ゲームプレイのさまざまなシナリオのシーンに依存しています。複数のシーンを作成して使用できますが、このチュートリアルでは1つのシーンのみが必要です。新しいシーンを作成しましょう。 ![](/gdevelop5/tutorials/new_scene_creation_for_endless_runner.png) - -最初の空のシーンを作成「+」をクリックします。 - -作成したシーンの右横にある3つのドットをクリックしてをクリックすると、シーンの名前をカスタマイズできますRename。 - -> 前述のゲームリソースを既にダウンロードしていることを確認してください。ゲームスプライトにはそれが必要になります。tip - -## ステップ3:新しいシーンでの作業 - -前の手順で作成したシーンをクリックして、**シーンエディター**を開きます。これは、ゲーム要素を作成する場所です。 ![](/gdevelop5/tutorials/new_scene_for_endless_runner.png) - -「オブジェクト」のタブと\[プロパティ \]タブが表示されているのを確認できます。 ![](/gdevelop5/tutorials/screenshot_20190523182052.png) ![](/gdevelop5/tutorials/screenshot_20190523182628.png) 万が一これらのタブが表示されない場合は、左側にあるアイコンをクリックして「オブジェクト」タブを開きます。同様に、右側のアイコンをクリックして「プロパティ」タブを開きます。 - -> GDevelopの最新バージョンでは、ゲームプロジェクトの場所にないアセット(データ)をロードしようとすると警告が表示されます。ゲームと同じフォルダー(またはサブフォルダー)に必ず画像ファイルを配置してください。ゲームを移動したりすると、画像へのリンクが解除されます。ゲームのフォルダーにある提供されたアーカイブを解凍し、それらの画像を使用します。 tip - -## ステップ4:プレーヤースプライトを作成する - -ゲームの主要な要素として、ユーザーがプレイヤーキャラクターを制御する必要があります。これはエンドレスランナーゲームであるため、走り続け生き残るために、邪魔になる障害物を回避するためにキャラクターをジャンプさせます。 ![](/gdevelop5/tutorials/screenshot_20190523183140.png) - -\[ オブジェクトの追加\]タブをクリックして 、最初のオブジェクトを作成します。さまざまなタイプのオブジェクトを示すダイアログボックスが開きます。キャラクターには、スプライトタイプのオブジェクトが必要です。このオブジェクトでは、「停止」「ジャンプ」または「走る」のキャラクターのアニメーションを追加できます。 ![](/gdevelop5/tutorials/screenshot_20190523183646.png) - -「スプライト」オプションをクリックすると、スプライトオブジェクトのプロパティを変更するダイアログボックスが表示されます。 次に、キャラクターにアニメーションを追加します。最初のアニメーションを追加するには、「アニメーションの追加」または「+」ボタンをクリックするだけです。 ![](/gdevelop5/tutorials/screenshot_20190523184135.png) - -新しい空のアニメーションのウインドウが表示されます。次に、ここにスプ​​ライト画像を読み込んでアニメーションを作成します。お気づきのとおり、アニメーションには初期状態では#0とついた識別子があり、アニメーションにも名前を付けることができます。 - -最初のアニメーションでは、停止中のアニメーションを作成します。大きな「+」ボタンをクリックして、ダイアログボックスを開いて画像ファイルをロードします。複数の画像を追加することもできますが、この停止中のアニメーションでは1つしか必要ないことに注意してください。 - -ダウンロードして解凍して展開したアーカイブから画像ファイル「p1_stand.png」を 選択します。ファイルを選択すると、アニメーションウインドウは次のようになります。 ![](/gdevelop5/tutorials/screenshot_20190523184730.png) - -Spriteオブジェクトに「Player」という名前を付けていることに注意してください。同様に、アニメーションに「idle」という名前(停止中の意味)を割り当てました。名前をつけるのは必須ではありませんが、プロジェクト内のスプライトに名前を付けると、プロジェクトが整理され、使いやすくなります。 - -最初のアニメーションが完成しました。それでは、「ジャンプ」と「走る」アニメーションを追加しましょう。ダウンロードしたアーカイブで提供されている画像を使用して試してみてください。 「走る」アニメーションには複数のフレーム画像がありますが、「ジャンプ」アニメーションには、提供されたアーカイブファイルには1つの画像しかありません。3つのアニメーションをすべて完了すると、次のようになります。 ![](/gdevelop5/tutorials/screenshot_20190523185739.png) - -ご覧のとおり、「走る」(Run)アニメーションには複数のフレームがあります。 ![](/gdevelop5/tutorials/output_xfxzmp.gif) 各フレームには個別の画像ファイルがあります。実行すると、すべてのフレームが連続して再生され、実行中のアニメーションが作成されます。アニメーションの実行は、左の画像に示すアクションのようになります。 - -次に、プレーヤースプライトの動作を追加します。ビヘイビアはオブジェクトに機能を追加します。プレイヤースプライトのダイアログボックスの「ビヘイビア」(動作の意味)タブをクリックします。次に、「クリックしてビヘイビアをオブジェクトに追加する」をクリックして、ビヘイビアを作成します。次に、ビヘイビアの「プラットフォームキャラクタ」の動作タイプを選択します。 プラットフォームキャラクタとは、マリオタイプのキャラクタが画面中ステージを動き回るタイプのキャラクタです。 ![](/gdevelop5/tutorials/screenshot_20190524121809.png) - -ビヘイビアエディターメニューが開きます。ここでは、この動作のデフォルトコントロール機能のチェックを外してください。デフォルトのコントロールプロパティは、左、右、ジャンプなど、プレイヤーキャラクターに必要なすべての動きを追加します。キャラクターを左または右に移動させたくないが、ジャンプアクションのみが必要なため、このプロパティを無効にし、イベントを使用してジャンプ移動を作成します。 - -![](/gdevelop5/tutorials/screenshot_20190524122246.png) - -これで、プレーヤースプライトの作成は完了です。複数のフレームが使用されたアニメーション、つまり、この場合の実行中のアニメーションに対してループ機能を有効にすることを忘れないでください。ループしない場合、アニメーションは1回のみ再生され、最後のフレームで停止します。 - -## ステップ5:ステージ障害物ブロックの作成 - -ステージ障害物のブロックはプラットフォームとも言い、キャラクターが衝突したり上を歩いたりできるオブジェクトです。このゲームでは、ブロックはプレイヤースプライトが回避しなければならない障害ブロックとなります。プラットフォームオブジェクトを作成するには、\[オブジェクト\]タブでクリックして新しいオブジェクトを追加し、タイルスプライトタイプのオブジェクトを選択します。モザイクのように繰り返される画像です。 ![](/gdevelop5/tutorials/tiled_sprite_for_endless_runner.png) - -タイルスプライトオブジェクトを選択すると、作成したプレイヤースプライトのようなダイアログボックスが表示されます。「画像を選択」エリアをクリックして、障害物ブロックの画像ファイル「Platform.png」を選択します。ファイルの読み込みが完了すると、ダイアログボックスは次のようになります。 - -![](/gdevelop5/tutorials/screenshot_20190615205900.png) - -また、デフォルトのオブジェクト名を「Platform」に変更していることに注意してください。現時点では、デフォルトの幅を*193*に、デフォルトの高さを*40*に変更します。ここで、プレーヤースプライトのビヘイビアを追加したときと同様の方法で、このオブジェクトのビヘイビアを追加する必要があります。\[ビヘイビア\]タブに移動し、クリックしてビヘイビアをオブジェクトに追加し、\[ビヘイビアのプラットフォームタイプ\]を選択します - -![](/gdevelop5/tutorials/screenshot_20190524122730.png) - -完了したら、 「適用\]」クリックします。ここで作成したオブジェクトを、シーンに配置します。 - -## ステップ6:シーンにオブジェクトを追加する - -\[オブジェクト\]タブから**障害物ブロック(プラットフォーム)**と**プレーヤー**のスプライトを ドラッグ&ドロップし、シーン内に配置します。 - -![](/gdevelop5/tutorials/screenshot_20190523193203.png) - -これは、両方のオブジェクトを配置した後のシーン空間の様子です。表示される黒い境界線は、ゲームウィンドウのサイズです。このスペース内の要素は、ユーザーにのみ表示されます。「プロジェクトマネージャー」 → 「プロパティ」に移動してウィンドウのサイズを変更できますが、今のところはそのままにしておきます。 - -シーン空間で障害オブジェクトをクリックし、「右クリック → コピー」または「Ctrl + C」(Windowsの場合)を実行してオブジェクトをコピーします。シーン空間を満たすために複数の障害物を作成します。コピーしたら、右クリック → 貼り付けを実行して、オブジェクトをシーンスペースに複製します。シーンを埋めるために複数回行います。シーンは次のようになります。 ![](/gdevelop5/tutorials/screenshot_20190523193924.png) - -障害物をよりスムーズにランダムに生成するために、シーン空間の右側にいくつかの障害物/プラットフォームを作成する必要があります。 最後に、ゲームにスカイボックスまたは背景を追加します。これはスプライトタイプのオブジェクトです。このオブジェクトを自分で追加してみてください。ここで使用されているアセットはbackground2.pngです。シーンは次のようになります。追加の障害物が作成されていることに注意してください。背景画像を他のすべてのアセットの背後に配置するには、Zオーダーを最小にする必要があります。Zオーダーは、左側の\[ プロパティ \]タブで変更できます。 Zオーダーとは画面上での表示の優先度です。 - -![](/gdevelop5/tutorials/screenshot_20190523194718.png) - -ここからが最も興味深い部分です。ゲームを機能させるときが来ました。次のステップに進む前に、[イベント](http://wiki.compilgames.net/doku.php/ja/gdevelop5/events) についていくつかのことを学んでください。 - -## ステップ7:イベントを作成する/ゲームを機能させる - -イベントは、GDevelopでゲームのルールを作成するために使用するものです。これが、従来のゲームエンジンと比較してGDevelopを特別なものにしている理由です。GDevelopのイベントを使用すると、プログラミングの知識や経験がなくてもゲームを視覚的にプログラミングできるため、どんな人でも実際のゲームを作成しできるようになります。 - -![](/gdevelop5/tutorials/screenshot_20190523232323.png) - -{{:gdevelop5:tutorials:screenshot_20190523232911.png?nolink \|} }最初のイベントを作りましょう。上記のタブをクリックして、NewScene(Events)タブに移動します。次に、左側に表示されるアイコンをクリックして、空のイベントを作成します。 - -最初のイベントでは、上矢印キーが押されたときにプレーヤースプライトをジャンプさせます。そのためには、Upキーが押されているかどうかを検出する条件を追加する必要があります。\[ 条件の追加\]をクリックして、 \[ キーボード\]カテゴリを検索します。キーが押された状態を選択し、以下に示すようにUpキーをチェックします。 - -![](/gdevelop5/tutorials/screenshot_s20190523235134.png) - -\[ OK\]をクリックして確定すると、最初のイベント条件があります。次に、条件が満たされた場合に実行される「アクションを追加」する必要があります。指定した条件が満たされたときにキャラクターがジャンプするようにします。このアクションを追加するには、検索し、プラットフォームの動作 → コントロール → ジャンプキー押下のシミュレーションをクリックします。 - -![](/gdevelop5/tutorials/screenshot_20190524000351.png) - -プレーヤーにアクションを実行させるため、オブジェクトをプレイヤーに設定する必要があることに注意してください。また、プレーヤースプライトのジャンプ中にジャンプアニメーションを再生する必要があります。これを行うには、同じイベント条件に別のアクションを追加します。\[ アクションの追加\] → \[ スプライト\] →\[ アニメーションと画像\] → \[アニメーションの変更\]をクリックして、図のように設定します。識別子番号を使用する代わりに、アニメーション名を使用することもできます。名前を使用してアニメーションを参照するには、代わりに(名前による)アニメーションの変更オプションを使用する必要があります。名前は引用符で囲む必要があります。 - -![](/gdevelop5/tutorials/screenshot_20190524000821.png) - -![](/gdevelop5/tutorials/screenshot_20190524001313.png) \[イベント\]タブは次のようになります。 - -> **コメント**を 追加すると、イベントエディターを整理しやすくなります。コメントを追加するには、左側にあるアイコンをクリックします。コメントは、後でデバッグするために、特定のイベントでチェックおよび実行される内容を記述するために使用されます。tip - -![](/gdevelop5/tutorials/screenshot_20190524001533.png) - -![](/gdevelop5/tutorials/screenshot_20190524003448.png) ここで、作成されたイベントがどのように機能するかを確認します。Playボタンをクリックして、プロジェクトをプレビューします。プレビューウィンドウが開き、ゲームのさまざまな機能をテストできます。プレビューウィンドウには、アクション中のゲームの外観とパフォーマンスが正確に表示されます。 - -![](/gdevelop5/tutorials/bandicam20190524002201609.gif) 今、作成したイベントをテストします。つまり、キャラクターをジャンプさせたり、ジャンプしながらジャンプアニメーションを再生したりします。上矢印キーを使用して、ジャンプアクションをテストします。 - -キャラクターがジャンプするのを見ることができ、アニメーションも指定されたジャンプアニメーションに変更されました。キャラクターが地面に戻った後でも、ジャンプアニメーション状態のままであることに注意してください。この問題は、他のイベントを作成するときに処理します。 - ------------------------------------------------------------------------- - -## 障害物ブロックを動かす - -2番目のイベントでは、障害物/プラットフォームを画面の左側に移動します。これを行うには、障害物が特定の速度で移動する力を指定する必要があります。まず、最初のイベントと同じように、クリックして新しいイベントを追加します。 今のところ、条件を指定する必要はありません。アクションに注目しましょう。 - -![](/gdevelop5/tutorials/screenshot_20190604123755.png) - -![](/gdevelop5/tutorials/bandicam201905gg24124850768.gif) 最初のアクションについては、「アクションの追加」をクリックします。次に、すべてのオブジェクトの共通アクション → 移動 → フォース(角度)を追加を見つけます。次に、オブジェクトとしてプラットフォームを選択し、**角度180**(左方向を指定)と**速度250**を割り当てます。\[再生\]ボタンを使用してプレビューを表示することにより、作成したアクションをテストできます。障害物が左に移動しているのがわかります。プレーヤースプライトがプラットフォーム/障害物と接触すると、左に向かって移動(スライド)することに注意してください。彼がプラットフォームの床にいるときにキャラクターが動くことを望まない。次のイベントはそれを処理します。 - ------------------------------------------------------------------------- - -上記のように、プレーヤースプライトのスライドの問題を修正する必要があります。そのために、新しいイベントを使用します。クリックして新しいイベントを追加し、「条件の追加」、プラットフォームの動作 → オプション → フロアにあります。これが確認しようとしているものであるため、プレイヤーになるオブジェクトを選択します。つまり、キャラクターが「ブロックの上にいる」かどうかです。 - -![](/gdevelop5/tutorials/screenshot_20190524130158.png) - -次に、対応するアクションを追加する必要があります。このイベントにアクションを追加します。これは、障害物ブロック(プラットフォーム)が左に移動するように追加したものに似ています。 今回は、障害物ブロックの上にいるときは常にキャラクターを右に移動させる必要があります。「右に移動する」と言いますが、キャラクターは実際には動きません。キャラクターが滑らないように、障害物ブロックの負の動きのバランスをとるだけです。このアクションを自分で追加してみてください。 - -> ヒント:\[アクションの追加\]をクリックします。すべてのオブジェクトの共通アクションを検索→ 移動 → フォース(角度)を追加。次に、オブジェクトとして**プレイヤー**を選択し、角度**0**(正しい方向を指定)と速度**250**を割り当てます。tip - -![](/gdevelop5/tutorials/screenshot_20190604124748.png) - -![](/gdevelop5/tutorials/bandicam201fg90524131437905.gif) これで、作成したイベントのプレビューを試すことができます。スライディングの問題が修正され、基本的なゲームの仕組みが正常に作成されたことがわかります。つまり、キャラクターは障害物を回避するためにジャンプでき、障害物はキャラクターに向かって常に移動します。この時点で、障害物は制限されており、キャラクターはすぐにジャンプしてプラットフォームを使い果たすことに注意してください。次のイベントでこの問題に取り組みます。 - ------------------------------------------------------------------------- - -また、キャラクターが床にいるときに「走る」アニメーションを再生させる必要があります。「床にいる」状態を確認するイベントをすでに作成しているため、この同じイベントに別のアクションを追加するだけです。アクションの追加 → スプライト → アニメーションと画像 → アニメーションの変更をクリックします。次に、オブジェクトと正しいアニメーション識別子を入力して、その特定のアニメーションを再生します。このゲームでは、識別子にRunアニメーションを保存しました2。アニメーション名を識別子として使用することもできます。名前を使用してアニメーションを参照するには、「名前を変更してアニメーションを変更する」を使用する必要があります代わりにオプション。名前を使用する場合、名前は文字列であるため、引用符( ")で囲むことを忘れないでください。 - -![](/gdevelop5/tutorials/screenshot_20190524155500.png) - ------------------------------------------------------------------------- - -## ゲームを無限にする - -新しいイベントを作成します。このイベントでは、ステージを無限にします。次に進む前に、シーンスペースに戻り、プラットフォーム/障害物の最後のタイルのX位置を分析します。 - -![](/gdevelop5/tutorials/screenshot_20190524165044.png) - -ご覧のとおり、最後のタイルのX位置は1550です。異なる場合でも心配しないでください。値が何であれ、その値を使用してプラットフォームを無限にします。さて、Add a conditionこの新しいイベントのために。すべてのオブジェクトの共通条件を検索→ 位置 → オブジェクトのX位置を比較。変更記号≤(以下)と値を持つオブジェクト「プラットフォーム」を選択し、値を-200としましょう。 - -ここでは、プラットフォームの最初のタイルのX位置を 確認および比較しています。条件は、プラットフォームのX位置が≤-200の場合、対応するアクションが実行されることです。なぜ値-200なのか疑問に思うかもしれません。さて、シーン空間のX位置は値0から始まります。プラットフォームの左端のタイルがシーン空間を出るときを検出する必要があります。任意のX位置として-200を選択しましたが、これはシーン空間外です。 - -![](/gdevelop5/tutorials/screenshot_20190614211353.png) - -条件が整ったら、アクションを追加します。すべてのオブジェクトの共通条件を検索→ 位置 → オブジェクトのX位置を変更します。ここで、覚えておいてほしい最後のタイルのX位置の値を使用します。私の場合は*1550*でした。ここで、オブジェクトとして「プラットフォーム」を選択し、修正記号として=(等しい)を選択し、値は*1550*です。\[ OK\]をクリックして確定すると、イベントが完了します。 - -![](/gdevelop5/tutorials/bandicam20190614211720602_1_.gif) このイベントで行ったのは、障害物/プラットフォームタイルの**ループ**を設定することでした。タイルが範囲外、つまりシーン空間から出るとすぐに、右側のX位置(私の場合は*1550*)にテレポートされました。したがって、障害タイルはループし続け、ゲームは無限に実行されます。 - ---- - -## ゲームの状態 - -ゲームに状態を 追加します。状態はゲームの状態を表します。キャラクターが行動しているとき、またはキャラクターがプラットフォームから落ちたときを検出するためのフラグと見なすことができます。これは、「ゲームオーバー」状態を決定し、したがって、ゲームを再起動するために必要です。**シーン変数**を作成するだけで状態を記録できます。ゲームには3つの状態があります。 - -* 最初の状態または初期状態は、ゲームがまだ開始されておらず、ユーザーがゲームを開始する必要がある場合です。値**0**を使用してこの状態を参照します。 - -* 2番目の状態は、キャラクターまたはプレイヤースプライトが動作しているときです。値**1**を使用してこの状態を参照します。 - -* 3番目の状態は、キャラクターがプラットフォームから落ちたときの「ゲームオーバー」状態です。値**2**を使用してこの状態を参照します。 - -![](/gdevelop5/tutorials/0endlessrunner_flow.jpg) - -まず、ゲームの現在の状態を保存する変数を設定する必要があります。新しいイベントを作成します。「条件の追加」 → 「シーン」 →「シーンの開始時」。 - -次に、「アクションを追加」 → 「変数」 → 「シーン変数の値」。次に、変数に何か名前を付けて、たとえば"state"を0に設定します。これにより、シーンの開始時にゲームが初期のゲーム前の状態に設定されます。 - -![](/gdevelop5/tutorials/screenshot_20190621003505.png) - -ゲームをすぐに開始したくありません。ユーザーがキーを押した後に開始するようにします。 - -つまり、シーン変数stateの値が**1**のときにゲームを開始する必要があります。イベントを変更しましょう。 - -> ヒント:プラットフォームが移動する力を指定したイベントでは、条件を追加します。「条件の追加」 → 「変数」 → 「シーン変数の値」をクリックします。値が**1**に等しいかどうかを確認するように設定します。tip - -![](/gdevelop5/tutorials/screenshot_20190621000230.png) - -イベントで行った変更を参照してください。新しい条件を追加し、サブイベントを作成しました。サブイベントの条件は、親イベントの条件の結果がの場合にのみテストされtrueます。このケースでは、ゲームが初期状態(イベント)にある場合にのみ、サブイベントがそれぞれの条件をチェックし、対応するアクションを実行します。 - -イベントをサブイベントに変換するには、そのイベントをドラッグして、関連付けられている親イベントの下に配置する必要があります。インデントされたイベントが親イベントに対して「サブイベント」であることを確認するイベントサブイベントラダーのインデントに気付くでしょう。 - -サブイベントは、イベント条件の結果があればtrueに。親イベントの条件の結果がのfalse場合、サブイベント条件はチェックされないため、サブイベント条件の結果がtrueであっても、対応するアクションは実行されません。 - -> ![](/gdevelop5/tutorials/screenshot_20190621002408.png) 新しいサブイベントをすべて追加するには、サブイベントを作成するイベントをクリックして選択します。次に、左側に表示されるアイコンをクリックします。GDevelopのナビゲーションメニューにあります。 - -現在、シーン変数の値が1でない限り、ゲームは開始されません。つまり、プラットフォームは移動せず、プレーヤーはジャンプできません。 - -ユーザーがキーを押してゲームを開始する必要があります。それを行うには、新しいイベントを追加します。ここには2つの条件が必要です。1つはシーン変数の値をチェックし、もう1つはキーが押されたかどうかを検出します。これらの両方の条件は、他のイベントで何らかの形ですでに追加されています。自分でやろう;-) - -![](/gdevelop5/tutorials/screenshot_20190524233235.png) - -> ヒント:最初の条件では、シーン変数の状態の値を確認する必要があります。\[ 条件の追加\] → \[ 変数\] → \[ シーン変数の値\]をクリックします。値が0に等しいかどうかを確認するように設定します。2番目の条件については、「条件を追加」 → 「キーボード」 → 「キー」が押されました、それを設定して上キーをチェックします。 tip - -次に、ゲームの状態を変更するアクションを追加します。シーン変数の値を1に変更します。アクションの追加 → 変数 → シーン変数の値をクリックします。次に、変数に何か名前を付けて、たとえばstateを1に設定します。これは次のようになります。 - -![](/gdevelop5/tutorials/screenshot_20190524234531.png) - -これで、ゲームの動作をテストできます。\[再生\]ボタンをクリックしてもすぐにゲームが開始されないことがわかります。ゲームを開始するには、上キーを押す必要があります。何が起こったのか分からない場合は、上記の手順をもう一度実行してください:-P - -ここで、3番目の状態、つまり、キャラクターがプラットフォームから落ちてゲームが終了する状態で作業する必要があります。キャラクターのX位置とY位置を確認する必要があります。つまり、キャラクターがシーン空間内にあるかどうかを確認する必要があります。彼が外に手を伸ばすと、彼はプラットフォームから落ちたか、スクリーンの外に押し出されたことは明らかです。これらの条件を確認し、ゲームの状態をGame Over状態に変更します。 - -![](/gdevelop5/tutorials/screenshot_20190614213834.png) - -このイベントでは、条件とサブ条件の概念を使用します。ロジックを詳しく説明する前に、まずこの条件と副条件のラダーを設定しましょう。 条件を追加 → 詳細設定 → または。これが私たちが使用する主な条件です。この条件を確認して作成すると、サブ条件を追加できるようになります。上の画像を見て、自分でやってみてください。 - -> ヒント:すべてのオブジェクトの共通条件を検索→ 位置 → オブジェクトのX位置を比較。変更記号≤(以下)を持つオブジェクト「Player」を選択し、値を-69としましょう。同様に、次のサブ条件について、すべてのオブジェクトの共通条件 → 位置 → オブジェクトのY位置の比較を見つけます。≥(以上)を持つオブジェクト「Player」を選択し、値を-550としましょう。 tip - -ここで、私たちが何をしたかを理解しましょう。追加した条件は、サブ条件の1つでも真である場合に、このイベントに関連付けられたアクションが実行されるようにルールを指定します。倒れた場合(Y位置)または画面の外側に押し出された場合(X位置)にゲームが終了するため、X位置とY位置を確認します。 - -これが発生したときにゲームの状態を変更したいので、シーン変数の値を必要な3番目の状態である2に変更するアクションを追加します。 - -![](/gdevelop5/tutorials/bandicam20190525005610196.gif) これでゲームをテストできます。転倒したり押し出されたりすると、障害物の動きが止まります。これは、ゲームが**Game Over**状態に正常に到達したことを示しています。次のイベントでは、ユーザーがキーを押したときにゲームを最初から開始します。 - ---- - -## ゲームのリスタート - -![](/gdevelop5/tutorials/screenshot_20190526175455.png) ユーザーがゲームオーバー状態になった後にボタンを押すと、ゲームをリスタートします。これを実現するために、新しいイベントを作成しましょう。ゲームの状態が2かどうかを確認します。そうである場合、ユーザーにEnter / Returnキーを押してゲームを再起動してもらいます。このために、2つの条件を追加します。1つは状態変数の値をチェックするためのもので、もう1つはEnterキーが押されたかどうかをチェックするためのものです。自分で条件を追加するか、行き詰まっている場合はヒントを参照してください。 - -> ヒント:最初の条件では、シーン変数の状態の値を確認する必要があります。条件の追加 → 変数 → シーン変数の値をクリックします。値が2に等しいかどうかを確認するように設定します。2番目の条件については、条件を追加 → キーボード → キーが押されました。次に、押されたReturnキーをチェックするように設定します。 tip - -次に、ゲームまたはシーンを再起動するアクションを追加する必要があります。これを行うには、アクションを追加 → シーン → シーンを変更します。次に、引用符で囲んだシーンの名前を指定します。\[ 一時停止中の他のシーンを停止 \]オプションを選択します。このオプションにはシーンが1つしか含まれていないため、このオプションは必要ありませんが、シーンが多数あるゲームのパフォーマンスを向上させるのに役立つ場合があります。 - -![](/gdevelop5/tutorials/screenshot_20190526174010.png) - -これで、ゲームオーバー状態に達した後、ユーザーがEnter / Returnキーを押すと、ゲームが再起動し、初期状態、つまりユーザーがUpボタンを押してゲームを開始する必要があります。 - -これで、ゲームをテストし、状態の変化を確認できます。あとは、スコアシステムとテキスト形式の指示を追加して、ユーザーにゲームの状態を知らせるだけです。 - ------------------------------------------------------------------------- - -## スコアシステムの追加 - -スコアシステムは、すべてのゲームで必要な要素です。新しいイベントを追加する必要がないため、これをゲームに追加するのは非常に簡単です。このシステムに対応するために、すでに作成したイベントの一部を編集します。ゲームが始まるたびにスコアが0から始まるようにします。スコアは、ゲームオーバー状態に達するまで更新され続けます。まず、このスコア値を保存するオブジェクト変数を作成しましょう。 - -> ここで使用しているオブジェクト変数の代わりに、シーン変数やグローバル変数 などの他のタイプの変数を使用することもできます。これらの変数の違いは、ゲームのスコープが異なることです。変数について詳しくは[こちら](/ja/gdevelop5/all-features/variables)をご覧ください tip - -シーンエディターパネルの\[オブジェクト\]タブに移動します。任意のオブジェクトを選択します。ここでプラットフォームを選択します。\[ プラットフォームオブジェクト\]タブの横にある3つのドットをクリックして、\[ オブジェクト変数の編集 \]を選択します。オブジェクトの変数を追加および構成できる新しいダイアログボックスが開きます。大きな\[プラス\]ボタンをクリックして、新しい変数を追加します。次に、以下に示すように変数名と値をカスタマイズします。 - -![](/gdevelop5/tutorials/screenshot_20190526181228.png) - -ご覧のとおり、デフォルト値を0に設定します。次に、スコアを更新するアクションを実行する必要があります。以前に作成したイベントを次に示します。 - -![](/gdevelop5/tutorials/screenshot_20190621000502.png) - -ここにこのアクションを追加します。\[アクションの追加\]をクリックします。すべてのオブジェクトの共通アクションを検索→ 変数 → オブジェクトの変数を変更します。次に、以下のように実行します。 - -![](/gdevelop5/tutorials/screenshot_20190526204732.png) - -作成したオブジェクト変数を変更します。このアクションを追加することにより、キャラクターが行動している間、値を継続的に更新するようゲームに指示します。 - -この値の変化を示すには、Textオブジェクトが必要です。シーンエディターに移動します。Text型の新しいオブジェクトを追加します。 - -![](/gdevelop5/tutorials/screenshot_20190526205106.png) - -上記のように必要な変更を行います。好きなようにカスタマイズできます。テキストの編集が完了したら、\[適用\]をクリックします。次に、テキストオブジェクトをシーンスペースにドラッグアンドドロップします。このようなものになります。 - -![](/gdevelop5/tutorials/screenshot_20190526205123.png) - -編集していたイベントに戻りましょう。このテキストを更新するには、別のアクションを追加する必要があります。 - -特定のイベントに戻ったら、アクションの追加 → テキストオブジェクト → テキストの変更をクリックします。次に、以下の画像を非常に注意深く見てください。現在、テキストオブジェクトの値はString型ですが、スコア変数には数値が格納されています。ここでライブラリ関数を使用して、そのIntegerをStringに変換し、Textオブジェクトのテキストを更新する必要があります。 - -![](/gdevelop5/tutorials/screenshot_20190526205906.png) - -![](/gdevelop5/tutorials/bandicam20190526210601391.gif) 関数を使用VariableString(variable)して仕事をします。ライブラリ関数の詳細については、それぞれのチュートリアルをご覧ください。これでゲームをテストできます。プレーヤーの動作中にスコアが更新されるのを確認できます。ゲームオーバー状態に達するとすぐに、スコアの更新が停止します。 - -変更したイベントは次のようになります。 - -![](/gdevelop5/tutorials/screenshot_20190526210158.png) - ------------------------------------------------------------------------- - -ここで、ゲームオーバーテキスト、スコアテキスト、Enterキーを押して再起動、Up キーを押して開始など、ゲームに必要な他のテキストオブジェクトを追加します。それぞれについて、個別のTextオブジェクトを作成します。前の手順と同様に、新しいテキストオブジェクトを追加し、オブジェクトエディターでテキストを変更します。それらをシーンスペースにドラッグアンドドロップするだけで表示できます。 - -![](/gdevelop5/tutorials/screenshot_20190526211448.png) - -テキストごとに個別のテキストオブジェクトを作成したことに注意してください。ただし、ゲームGame Overの冒頭にテキストを表示したくないのです。ゲームオーバーテキストは、ゲームオーバー状態、つまり状態変数の値が**2**の場合にのみ表示されます。同様に、Enterキーを押して再起動テキストをこの段階で表示し、他のテキストは非表示にする必要があります。ステージ0では、Enterキーを押して入力テキストが表示されます。プレーヤーが動いている間は、テキストを非表示にします。そのためには、これらのテキストオブジェクトの可視性に基づいて行動する必要があります。 - -この可視性の変更では、すべてのオブジェクトに共通のアクション → 可視性アクションを使用します。上記のようにそれぞれの場所にすべてのアクションを追加すると、イベントエディターページは次のようになります - -![](/gdevelop5/tutorials/screenshot_20190526212127.png) - -ここで、シーンイベントの開始時に、すでに2つの新しいアクションを追加して、ゲームオーバーテキストとリスタートテキストを非表示にします。これらのアクションを追加するには、クリックアクションを追加 → すべてのオブジェクトに共通のアクション → 可視化 →それに応じて表示または非表示にします。 - -![](/gdevelop5/tutorials/screenshot_20190526212329.png) - -また、ゲームが既に開始されている場合、開始テキストを非表示にします。このために、上記で作成済みのイベントに別のアクションを追加します。 - -![](/gdevelop5/tutorials/screenshot_20190614213634.png) - -最後に、ゲームが終了したとき、つまりゲームオーバー状態に達したときに、2つのイベントを追加して、\[ ゲームオーバーを表示\]および\[リスタート\]テキストを表示します。 - -![](/gdevelop5/tutorials/bandicam20190gg526213134987.gif) そこにあります!Endless Runnerゲームの作成方法を学習しました。GDevelopでゲームを作成するのは、機能の使用方法を理解すれば非常に簡単です。このチュートリアルを詳細に記述するのに約3日かかりましたが、このゲームを作成するのに約1時間しかかかりませんでした。はい、GDevelopでゲームを作成するのは簡単です💓 - -## ボーナス:ゲームをさらに挑戦的にする - -ゲームのやり方は簡単すぎますか?ゲームをもう少し挑戦的にしたいですか?心配しないで。一緒に取り組みましょう。 - -移動するプラットフォーム/障害物の速度に取り組みます。スコアが増加するにつれて、より速く動くようにしたいと思います。 - -まず、新しいシーン変数を追加して、プラットフォームが移動する初期速度を保存します。シーン変数を追加するには、At the beginning of the scene条件を持つイベントに行きましょう。前と同じように、新しい変数を追加します。\[アクションの追加\]→\[変数\]→\[シーン変数の値\]をクリックします。次に、変数に速度などの名前を付けて、初期速度である250に設定します。 - -次に、イベントを変更します。プラットフォームが移動する力の値を指定します。値を指定する代わりに、シーン変数speedを使用します。そこでシーン変数を使用するには、次の構文に従う必要があります。Variable(speed)ここで、speedは指定されたシーン変数です。 - -プレイヤーのスプライトに速度を指定して、スライドを避けるアクションに対しても同じことを行います。これで、スコアが増加するにつれて速度を変更することができます。 - -次に、オブジェクト変数の値を確認し、それに応じscoreてシーン変数の値を変更しますspeed。プラットフォームの速度を上げるために、新しいイベントを追加して条件を指定します。以下に例を示します。 ![](/gdevelop5/tutorials/screenshot_20190615230009.png) diff --git a/docs/ja/gdevelop5/tutorials/finite_state_machine.md b/docs/ja/gdevelop5/tutorials/finite_state_machine.md deleted file mode 100644 index 4cf82542e35..00000000000 --- a/docs/ja/gdevelop5/tutorials/finite_state_machine.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: 複雑なロジックを制御する方法 – 有限状態機械(FSM) ---- -# 複雑なロジックを制御する方法 – 有限状態機械(FSM) - -これを読んでいる方の中には、初心者向けのチュートリアルを実践して、そこで学んだゲーム機構をもとに自分自身のプロジェクトを作成しようと決めた方もいるはずです。しかし複雑なアクションを追加するやいなや、ネストした条件のジャングルに迷い込み、見つけるのが困難なバグに行き当たる羽目になるのです。そして最後には、プロジェクトを放棄するでしょう。 - -インターネットで見つかるチュートリアル(ゲームエンジンは問いません)のほとんどは、可能な限り余計なものを排除して、チュートリアルに特化した目的を達成する方法だけを示します。あいにく、たいていの場合そこで示されるコードには拡張性のかけらもありません。 - -このチュートリアルでは、視点をより高次に置き、プレイヤー(あるいは敵でも何でも)のロジックをカプセル化してプロジェクトをどのように構成するかを説明します。 - -## 状態機械とは何か? - -状態機械(ステートマシンとも)は、オブジェクトのロジックを、明確に定義された状態の固定セットに分割し、各状態を独立して操作します。それぞれの状態は、それ自体に関係するロジックしか含みません。たとえばプレイヤーが「落下中」の状態のときは、左右に移動するボタンやジャンプボタンのことを気にする必要はありません。なぜなら地面の上に立っていないからです。特定の条件が揃ったら、プレイヤーの状態を切り替えます。 - -プレイヤーが「落下中」の状態を想像してください。空中にいるあいだは、いかなるアクションも実行すべきではありません。これはただ、下方向へかかる重力に身を任せているだけだからです。別の状態へ移行するには、所定の条件を満たす必要があります。「落下中」の状態の場合、その条件は「地面と衝突している」になるでしょう。これが起きたら、プレイヤーの状態を「落下中」から「待機」に変更します。さて、「待機」状態のあいだは移動ボタンが押されていないかを定期的にチェックして、押されていたらプレイヤーの状態を「待機」から「歩行」に変更します。「歩行」状態のあいだ、何かほかのイベント(移動ボタンがリリースされるとか)が発生するまでプレイヤーは移動しつづけます。流れがつかめてきましたか? - -## やってみよう - -まず「[](/ja/gdevelop5/tutorials/platformer/start)」チュートリアルからアセットをダウンロードしましょう。上記チュートリアルにのっとってプレイヤーを「プラットフォーマーオブジェクト」として作成し、上を歩いたりジャンプできるようにプラットフォーム(「プラットフォーム」ビヘイビア)をいくつか作成します。 ![](/gdevelop5/tutorials/screenshot_scenes.png) プレイヤーオブジェクトのプロパティを開き、「待機」、「歩行」、「ジャンプ」、「落下」というアニメーションを作成します。それからプレイヤーオブジェクトにテキスト型の変数を作成し、変数名を「方向」、値を「右」と設定します。 ![](/gdevelop5/tutorials/player_animations.png) イベントエディターに切り替え(main シーン)、プロジェクトマネージャーから外部イベント「プレイヤー状態初期化」、「プレイヤー状態落下」、「プレイヤー状態待機」、「プレイヤー状態歩行」、「プレイヤー状態ジャンプ」を作成します。右側のツールバーからイベント作成用のドロップダウンメニューを開き([イベントを選択して追加]ボタン)、main シーンのイベントに新しいイベントグループを作成します。「プレイヤーのロジック」と名前をつけます。**シーンが始まった**条件をイベントに追加します。サブイベントを追加して、[他を追加](ツールバーまたは右クリックメニュー)から「プレイヤー状態初期化」外部イベントへのリンクを作成します。他のプレイヤー状態についても、同様の手順を繰り返してください。 - -!!! note - - アニメーションに頼らなくても、「状態」専用の [シーン変数](/ja/gdevelop5/all-features/variables/scene-variables)でプレイヤーの状態を管理することもできます。これはより上級のテクニックですが、自由度は増します。しかしここで説明している、ロジックとそれに対応するアニメーションをセットにするアプローチには、分かりやすさとイベントシートのシンプルさという利点があります。さらに、現在のアニメーション/状態のフレームをチェックして、アニメーション内の特定フレームに差し掛かったときに別のロジックをトリガーするというような高度な分岐処理もできます。 - -![](/gdevelop5/tutorials/main_events_state-linking.png) - -## デバッグ情報 - -ゲームプレイ中にプレイヤーが今どの状態にあるのかを知るために、テキストオブジェクトを作成して「デバッグ状態」という名前をつけます。これをメインシーンに追加して、次のようなアクションを作成します(条件は無しでよいです)。これでプレイヤーの頭上に現在の状態が表示されるようになり、何か問題が発生したときにはいつでも、どの状態を調べればいいのかが一目でわかるでしょう。 - -![](/gdevelop5/tutorials/main_events_debug.png) - -## 最初の状態「初期化」 - -外部イベント「プレイヤー状態初期化」を開きます。この状態は、ゲーム開始時にプレイヤーオブジェクトを初期化するのに使います。「外部イベントを編集するには、イベントが含まれるシーンを選択してください。」というダイアログの「シーンを選択する」から main シーンを選びます。 - -メインシーンのイベントシートには、この状態初期化のコードを実行する条件をすでに設定してあるため、ここで必要なのはアクションの追加だけです。 - -まず最初に、プラットフォームビヘイビアによるデフォルトの制御を無効にする必要があります。これが状態機械の妨げになるからです。 - -次にプレイヤーのスプライトのアニメーションに「落下」を設定します。これによってイベントのゲームループの次回のイテレーションでは「落下」状態が実行されます。ここで落下状態を設定したのはプレイヤーが最初は空中にいるからで、そこから着地して待機状態に移行するという流れを想定しています。 - -この状態には、ほかにもプレイヤーの獲得ポイントや残弾数などをリセットする処理を含めることができます。レベルを再スタートしたいときには、初期化状態に切り替えればいつでもプレイヤーの属性をリセットできます。 ![](/gdevelop5/tutorials/init_state_events.png) - -## 「落下」状態 - -落下はいちばん融通の利く状態です。どの状態に切り替えるのがいいか迷うようなときには、「落下」状態にすれば間違いありません。なぜなら、プレイヤーがオブジェクトに衝突するとすぐに適切な状態に移行するのが確実だからです。落下中のプレイヤーにできるアクションは特にありません。落下状態に入る前に受けたフォースの影響が、ただそのまま継続するだけです。たとえばジャンプした後に落下状態に入った場合は、ジャンプしたときの方向に向かって引き続き移動するでしょう。しかし途中で方向を変えることはできません(チュートリアルの最後にある演習で、この挙動を変えるテーマを扱います)。したがって、この状態でやることは、プレイヤーが地面と衝突したかどうかチェックすることだけです。衝突したら、プレイヤーを「待機」状態に移行します。 ![](/gdevelop5/tutorials/falling_state_events.png) - -## 「待機」状態 - -待機状態は、コンピューターの前にいる人が何も操作しないとなる状態です。別の言い方をすれば、何のキーも押されていなくて、プレイヤーオブジェクトがただ立っているだけの状態です。「落下」状態に似て、ここでする必要のあるアクションは特にありません。ただ「待機」状態から抜ける条件をチェックするだけです。まず最初に、プレイヤーが地面の上にいるかどうかチェックします。もし違ったら、落下状態に移行します。次に、プレイヤーが左右の矢印キーを押しているかどうかチェックします。そうであれば、歩行状態に移行します。最後に上矢印キーが押されていないかチェックし、押されていたらジャンプ状態に移行します。どうです、明快でしょう? ![](/gdevelop5/tutorials/idle_state_events.png) - -## 「歩行」状態 - -ついにプレイヤーに能動的にアクションをさせる番が来ました。歩行状態です。ひとつの状態の中で左への歩行と右への歩行の両方をあつかうので、最初にプレイヤーの動く方向を決めないとなりません。そこで歩行状態に入った時点でどのキーが押されているかを一度だけチェックし、それに基づいてプレイヤーの方向変数を設定します。歩行状態のあいだは、変数に設定されたその方向に向かってプレイヤーを移動させ続けます。 - -これでプレイヤーにさせるアクションの件は片付きました。残るは、別の状態に切り替えるための条件設定です。ところで、そもそも歩行中には何が起きうるのでしょうか?いちばん有りうるのは、移動キーを放すことでしょう。この場合は、「待機」状態に移行します。もしプラットフォームの端を越えたら、「落下」状態に切り替えます。ジャンプキーを押されたら、ジャンプ状態に切り替えます。 ![](/gdevelop5/tutorials/walking_state_events.png) - -## 「ジャンプ」状態 - -もう見当がつくと思いますが、最初にやることは、この状態に入ったら一度だけジャンプアクションをトリガーすることです。ジャンプするフォースは黙っていてもかかるので、一度ジャンプしたらあとはもうその件について考える必要はありません。毎度のことですが、最後に必要なのは現在の状態から抜けるための条件設定です。今回の場合は、プレイヤーが「ジャンプ中ではない」ことと「落下中ではない(地面の上にいる)」ことをチェックします。どちらかに当てはまっていれば、「落下」状態に移行します。 ![](/gdevelop5/tutorials/jumping_state_events.png) - -これで全部です。 - -## まとめ - -プレイヤーのロジックを 5 つの異なる状態に分割し、それぞれの状態には関係する処理だけを含めました。もしプレイヤーに飛行や潜水、瀕死、激突などの能力を追加したくなったら、新しい状態を作成して、そこに処理を任せればよいでしょう。 - -こちらからプロジェクト全体をダウンロードできます(英語)。 ![](/gdevelop5/tutorials/fsm_tutorial_gd5.zip) - -## 演習 - -1)たぶんお気づきでしょうが、現在のプレイヤーは空中にいるあいだ、デフォルトの制御とは異なる動き方をします。これは「落下」状態が今のところキー入力を受けつけていないからです。そこで、プレイヤーが空中にいるあいだでも移動できるようにしてみてください。移動キーが押されているかどうかを確認して、押されていたら通常の移動にかかるフォースの半分くらいを適用するのがいいでしょう。 diff --git a/docs/ja/gdevelop5/tutorials/how-to-make-behavior.md b/docs/ja/gdevelop5/tutorials/how-to-make-behavior.md deleted file mode 100644 index 38b41e493a4..00000000000 --- a/docs/ja/gdevelop5/tutorials/how-to-make-behavior.md +++ /dev/null @@ -1,165 +0,0 @@ ---- -title: how-to-make-behavior ---- -オブジェクトのビヘイビアを作成する方法 - -ゲームが発展しはじめたら、あるいはゲームを作りはじめてすぐの時点でさえ、ゲームロジックを可能な限り**[カスタムビヘイビア](/ja/gdevelop5/behaviors/events-based-behaviors)**で組織化するのはいい考えです。そうすることでイベントシートのイベント数を減らし、ゲームロジックの取捨選択を容易にします。 - -自分のゲームオブジェクトのためにわざわざカスタムビヘイビアを作成するのは、イベントシートに直接イベントを作成することと比べて面倒に思えるかもしれません。特に最初のうちはそうです。 ビヘイビアはより制約も多く、オブジェクトがどう機能して、どの条件とアクションをビヘイビアに公開するかについて、慎重に検討する必要があります。しかし一方でカスタムビヘイビアはとても強力なツールでもあり、ロジックをオブジェクト内に*カプセル化*して、イベントシートを可能な限りミニマムに保ってくれます。 - -!!! note - - 経験豊かなゲーム開発者であっても、**ゲームをできるだけカスタムビヘイビアで構成する**ことをお勧めします。 - -この記事では次の内容を説明します。 - -1\. オブジェクトのシンプルなビヘイビアを作成する 2. そして**他のオブジェクト**とやり取りする方法 3. 最後にカスタムの**他のビヘイビア**とやり取りする方法 - -## 1. ビヘイビアを使って「オブジェクト用」のイベントを作成する方法 - -最初にプロジェクトマネージャーからビヘイビアを格納するための拡張機能を作成します。名前は自由につけてかまいません。拡張機能には何かのゲームオブジェクトに関連したビヘイビアをまとめることができます。 - -![20200329-161907.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-161907.png) - -拡張機能の編集画面を開き、この拡張機能内に新しいビヘイビアを作成します。オブジェクトにちなんだ名前にするか、これから作る機能に沿って名づけます。 ![20200329-162016.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-162016.png) - -!!! note - - ビヘイビアが何をするかということを要約した名前をつけられれば一番です。しかし最初のうちはそれがはっきりしないかもしれません。ビヘイビアの名前はあとでいつでも変更できます。 - -ビヘイビア関数パネルの*新しい関数を追加*をクリックします。 - -![20200329-162050.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-162050.png) - -「doStepPreEvents」ビヘイビア関数を追加します。 - -![20200329-162119.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-162119.png) - -このビヘイビア関数(ビヘイビアメソッドとも)は、フレームが画面にレンダリングされるたびに毎回ゲームエンジンによって自動的に呼び出されます。**オブジェクトを更新**するイベントを追加するのにはちょうどよい場所です。 - -追加した関数は、ビヘイビア関数リストに表示されます。 - -![20200329-162151.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-162151.png) - -これで内部イベントを追加できるようになりました。今回のサンプルには、次の 2 つのイベントを追加します。 - -* スペースキーが押されたらシーンの背景色を変更するもの -* ボタンが押されたらサウンドを再生するもの - -![20200329-162214.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-162214.png) - -もちろん、シーンの背景色の変更はふつうビヘイビアでやるようなことではありません。でもビヘイビアがちゃんと動作しているかどうか確認するには、一番簡単な方法です。 - -!!! note - - 動作が複雑な「本物の」ビヘイビアでは、オブジェクトを更新するためにビヘイビアプロパティや変数を使ってもいいでしょう。たとえば「doStepPreEvents」関数でオブジェクトを移動することができます。 - -ではゲームシーンに戻って、いま作ったビヘイビアをオブジェクトに追加してみましょう。 最初にビヘイビアを追加するオブジェクトを検索します。 - -![20200329-162441.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-162441.png) - -オブジェクトを編集して、「ビヘイビア」タブから*オブジェクトにビヘイビアを追加*を選択します。 ![20200329-162720.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-162720.png) - -リストから先ほど名前をつけたビヘイビアを選択します。ビヘイビアに説明がないことに気づくと思います。拡張機能エディターから*ビヘイビアプロパティを編集*をクリックすると、説明を追加できます。実際のところ、何のためのビヘイビアなのか見て分かるような適切な名前と説明をつけることは、とても重要です。 - -![20200329-163332.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-163332.png) - -ではゲームを実行してみましょう。 *スペース*キーを押すと背景色が変わり、*P* キーを押すとサウンドが再生されることを確認します。 - -たとえばスターターのプラットフォーマーゲームでスぺ―スキーを押すと、背景色が緑に変わります。 ![20200329-164012.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-164012.png) - -## 2. 他のオブジェクトとやり取りする方法 - -さて、この辺でもう少し先に進んで、あるオブジェクトと他のオブジェクト、たとえばプレイヤーと敵を関係させるようなロジックを作成してみます。 - -今回は「doStepPreEvents」を使えません。この関数内からはビヘイビアが追加されたオブジェクト以外の他のオブジェクトにアクセスできないからです。いま必要なのは、*アクション*として使えるような*新しいビヘイビア関数*です。 - -先ほどのビヘイビア関数パネルから*新しい関数を追加*を選び、「カスタム(アクション、条件、式)」を選びます。 - -![20200329-175353.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-175353.png) - -ビヘイビア関数リストに追加されました。 - -![20200329-175548.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-175548.png) - -処理内容に即した名前に変更しましょう。 - -![20200329-175724.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-175724.png) - -続いてこの関数に、敵オブジェクトを指定するための**パラメーター**を追加しましょう。 新しいパラメーターの型は「Object」にします。それからこのオブジェクトをイベントで使えるようにします。 - -関数を選択して「パラメーター」タブを選び、下部にある[パラメーターを追加]をクリックします。パラメーターの名前に「Enemy」と入力し、タイプに「オブジェクト」が選択されていることを確認します。ラベルにも「Enemy」と入力しましょう(これはイベントシートにアクションを追加するときに表示されます)。 - -![20200329-175942.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-175942.png) - -パラメーターを設定し終わったら、イベントでオブジェクトとして参照できるようになります。 たとえば、プレイヤーが敵と衝突したときにサウンドを再生するようなことができます。 - -![20200329-191811.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-191811.png) - -最後に、関数の設定で、いい感じの名前と文を追加しましょう。 ![20200329-180354.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-180354.png) - -最後の手順として、イベントシートから関数を呼び出します。 - -!!! note - - この時点で、あなたはがっかりしているかもしれません。「イベントシートにイベントなんか追加したくないのに」、と。今のところ、ビヘイビアにはオブジェクトを渡せませんが、これは将来改善される可能性があります。 - -関数呼び出しにはアクションを使います。以前、作成したビヘイビアをプレイヤーに追加したので、イベントシートの Player のアクションで選べるはずです。 - -イベントシートで Player の(あるいはビヘイビアを追加したオブジェクトの)アクションを追加します。 それからアクション「Handle enemies」を選びます。 - -![20200329-182405.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-182405.png) - -最後に操作する敵を設定しましょう。 - -![20200329-182601.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-182601.png) - -!!! note - - 上の例では「SlimeWalk」オブジェクト単体を選択していますが、オブジェクト**グループ**も指定できます。 - -結果は次の通りです。 - -![20200329-182802.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-182802.png) - -ゲームを実行すると、プレイヤーが敵と衝突したときにサウンドが再生されるはずです。 - -イベント 1 個だけにしては悪くない効果ですね。その気になれば、もっとたくさんのオブジェクトを追加して、もっと複雑なビヘイビアにすることもできます。あるいは、これをプレイヤーと同じように振る舞う他のオブジェクトに再利用することもできます。プレイヤーが敵と衝突したときにサウンドを再生したくなければ、このビヘイビアを無効にすることだってできるでしょう。 - -このビヘイビアをどこまで拡張するかは、まったくあなたしだいなのです。 - -## 3. 他のオブジェクトのビヘイビアとやり取りしてみよう - -仮に、ゲームがかなり複雑になってきたとしましょう。たとえば、敵にも独自のビヘイビアが追加されているものとします。そしてこのビヘイビアは、敵を点滅させるアクションを持っています。 そこで、プレイヤーが敵と接触したときに、敵を点滅させたいと思います(ダメージ演出としては、ヘルスが減るとか、アニメーションを再生するとか、いろいろバリエーションが考えられますが)。 - -良いニュースとしては、「点滅」ビヘイビアはすでに存在します。拡張機能として利用できるので、キーワード「blink」で検索してプロジェクトにインストールしてください。これを敵に追加しましょう。まず、検索します。 - -![20200329-183653.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-183653.png) - -次に、これを敵に追加します。 ![20200329-183726.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-183726.png) - -追加されたら、設定項目を調整します。 ![20200329-184106.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-184106.png) - -ここでプレイヤーのビヘイビアに戻りましょう。*HandleEnemies* 関数に新しいパラメーターを追加します。タイプは「ビヘイビア」で、「Enemy」オブジェクトパラメーターのすぐ下です。 ![20200329-184732.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-184732.png) - -!!! note - - これは改良すべき箇所です。直前のパラメーターで渡されている Enemy オブジェクトの一部であるビヘイビアをわざわざ別のパラメーターで受け取る必要性は、明らかとはとても言えません。これは将来改善される予定です。 - -今や関数は敵が「Blink」というビヘイビアを持っていることを知っている状態です。アクションを使って点滅させましょう。 ![20200329-184916.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-184916.png) - -!!! note - - 改良すべき個所がまた見つかりました。パラメーターを追加した後イベントシートに戻って、ビヘイビアをパラメーターとしてちゃんと渡すように**アクションを編集**しなければなりません。 - -![20200329-185458.png](/gdevelop5/tutorials/how-to-make-behavior/pasted/20200329-185458.png) - -3 番目のパラメーターが追加されている点に注意してください。これを設定し忘れると、アクションは最後のパラメーターが欠落した状態になり、ゲームが正常に実行されません。 - -さて、これでゲームを実行すると、プレイヤーが敵と接触したときに敵が点滅するはずです。 - -## まとめ - -ここで作成したビヘイビアは単純ですが、カスタムビヘイビアを使うと何ができるかという点について、その可能性を示しています。 - -作っているゲームを、オブジェクトとビヘイビアの相互作用という観点からとらえなおすことはとても有益です。イベントシートはゲームで起きることの流れを記述する中心地ですが、そこで起きるアクションのほとんどにビヘイビアを使うことができます。 diff --git a/docs/ja/gdevelop5/tutorials/how-to-move-objects.md b/docs/ja/gdevelop5/tutorials/how-to-move-objects.md deleted file mode 100644 index 970047775ef..00000000000 --- a/docs/ja/gdevelop5/tutorials/how-to-move-objects.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: オブジェクトを移動させるには ---- -# オブジェクトを移動させるには - -オブジェクトの移動は、どんなゲームであってもそのゲームの肝になる部分です。この移動には、次の要素を含みます。 - -* 画面上を動くキャラクター:プレイヤー、ノンプレイヤーキャラ(NPC)、車両、宇宙船など -* アニメーションするアイテム:弾丸、レーザー、障害物、背景など -* アニメーションするインタフェース:ボタン、カーソル、残りライフ数など - -状況が違えば、必要な解決法も変わります。このページでは、GDevelop で使える解決法について説明します。 - -GDevelop でオブジェクトの位置を変更するには 3 種類のやり方があります。 - -* アクションを使って X 座標と Y 座標を変更する -* オブジェクトにフォースを加える(どのオブジェクトにも使えます) -* ビヘイビアを使う(内部的には座標を変更するかフォースを使っています) - -## 動かさない:直接オブジェクトの位置を変更する - -時にはオブジェクトを徐々に移動したりアニメーションさせる代わりに、オブジェクトの位置をパッと一瞬で変更したいことがあります。そんなときは、アクションを使ってオブジェクトの位置(X 座標と Y 座標)を変更します。 - -![](/gdevelop5/tutorials/set-object-position.png) - -## 他のオブジェクトの動きをそのまま真似る:式でオブジェクトの位置を変更する - -あるオブジェクトに他のオブジェクトと同じ動きをさせる、別の言い方をすると相対位置を固定するには、アクションを使ってオブジェクトの位置を変更します。ただし X 座標と Y 座標の値を式に計算させるのです。 - -これはプレイヤーにくっついて動く**隠しオブジェクト**があって、それを動き回るプレイヤーの頭上に「貼り付け」ておきたいというような場合にぴったりです。たとえば宇宙船のスプライトとパーティクルエミッターをセットで動かす用途などが当てはまります。 - -下図はプラットフォーマーでプレイヤーオブジェクトの位置を設定する例です。 - -![](/gdevelop5/tutorials/follow-object-set-position.png) - -!!! tip - - `Object.Angle()` 式を使うと、他のオブジェクトと同じ角度に変更することもできます。 - -## カーソルとして動かす:「MouseX()」と「MouseY()」で位置を変更する - -オブジェクトをカーソルとして動かしたいですか?`MouseX()` の値を X 軸に、`MouseY()` の値を Y 軸に指定してオブジェクトの位置を変更してください。 - -![](/gdevelop5/tutorials/cursor-set-position.png) - -!!! note - - 「カーソル」として使うオブジェクトは、Z オーダーを他のどれよりも上にするか、または他とレイヤーを分けてしまうといいでしょう。後者の場合は、`MouseX` と `MouseY` の引数にレイヤー名を渡します。たとえばレイヤー名が「user interface」であれば、`MouseX("user interface")`、`MouseY("user interface")` とします。 - -## 画面上のオブジェクトを動かす:フォースを使う - -オブジェクトを動かす一番簡単な方法は、**フォース**を使うことです。 - -フォースには[basic game making concepts](/ja/gdevelop5/tutorials/basic-game-making-concepts)のページでもふれています。たとえるなら、フォースはオブジェクトを押しのける架空の矢です(「ベクター」とも呼ばれます)。矢が長ければ、オブジェクトは速く動きます。フォースはまた*瞬間的*にも*永続的*にもなります。 - -* **瞬間的**なフォースはオブジェクトを「一回だけ」動かします(フォースはアクションが実行中のあいだだけオブジェクトに作用します)。 - - ![](/gdevelop5/tutorials/instant-force-example.png) - -* **永続的**なフォースはオブジェクトをずっと押し続けます。これを止めるには、オブジェクトを停止するアクションを実行する必要があります。停止アクションはオブジェクトに作用しているフォースをすべてクリアするため、結果的にオブジェクトは停止します(何かのビヘイビアが使われていたり、他のイベントによって位置が変更されたら、それはまた別の話です)。たとえば次の 2 つのイベントは、プラットフォームを 2 つのマーカーのあいだで移動し続けます。 - -![](/gdevelop5/tutorials/animate-platform-permanent-forces.png) - -どちらの種類のフォースを使えばいいのかよく分からないときは、次のアドバイスを参考にしてください。 - -> 瞬間的なフォースは、条件を一瞬で判定する場合に使うといいでしょう。キーが押されたり、オブジェクトがタッチされたりカーソルがホバーしたり、そういう場合です。それに対して永続的なフォースは、最初に一度だけ条件判定するとその状態が一定時間続くような場合に使います(たとえば衝突のような)。 - -永続的なフォースは音楽の再生に似ています。一回開始すれば、しばらくはそれでじゅうぶんです。 - -!!! note - - 技術的なことをいえば、フォースが 1 フレームのあいだにオブジェクトを動かす量は、フォースの長さに前回のフレームからの経過時間を乗じた値です。別の言い方をすると、フォースの速度は 1 秒間に移動するピクセル数と同じです。フォースを使う上で、この仕組みを理解する必要は別にありません。ただ残念な結果にしないために、適切な種類のフォース(瞬間的か永続的か)を使うように意識してください。 - -## プラットフォーマー ビヘイビア - -プラットフォーマー型のゲームでキャラクターを動かすのでしたら、[プラットフォーマー ビヘイビア](/ja/gdevelop5/behaviors/platformer)がおすすめです。これを使うと GDevelop がプラットフォーマー用のエンジンに早変わりします。 - -* プラットフォーム上で操作するプレイヤーやオブジェクトには、**プラットフォーマーキャラクター**ビヘイビアを追加します。 -* 足場に使うプラットフォームとなるオブジェクトには**プラットフォーム**ビヘイビアを追加します。 - -ビヘイビアのプロパティを編集してイベントを使うと、プラットフォーマーのキャラクターの動き方をカスタマイズできます。 - -## 物理エンジン - -箱が落下したり、床に当たって跳ね返ったり、そんなふうにオブジェクトを物理法則にしたがって動かしたければ、[物理エンジンビヘイビア](/ja/gdevelop5/behaviors/physics2)を検討してみてください。 - -物理エンジンはフォースやプラットフォームビヘイビアのようなビヘイビアよりも、*もっと複雑*です。このビヘイビアを使う場合は、すべてのオブジェクトに対して追加することをお勧めします。 - -!!! warning - - 物理エンジンビヘイビアが追加されたオブジェクトは、物理エンジンによって動きます。これらのオブジェクトを物理エンジンビヘイビアに属さないフォースや他のアクションで動かそうとすると、おそらく物理エンジンがリアルなシミュレーションをおこなうことに支障をきたして、何らかの「グリッチ」が発生するでしょう。 - -## サイン(または楕円)移動ビヘイビア - -サイン(または楕円)移動ビヘイビアは[拡張機能としてインストールする](/ja/gdevelop5/extensions/search)ビヘイビアです。 - -このビヘイビアをオブジェクトに追加すると、移動の振幅を X 軸と Y 軸それぞれについて設定できるようになります。オブジェクトを円状や楕円状に旋回し続けるようにするときに便利です。 - -## フォースとバウンスビヘイビア - -**バウンスビヘイビア**[拡張機能としてインストールする](/ja/gdevelop5/extensions/search)ビヘイビアです。 - -このビヘイビアをオブジェクトに追加すると、オブジェクトが障害物と衝突しているかどうかをチェックするための条件が追加されます。この条件に対応するアクションで、オブジェクトが障害物から跳ね返る動作を設定します。 - -!!! note - - このビヘイビアは、フォースと併用できます。まずオブジェクトにフォースを加えて移動します。次にこのビヘイビアとアクションを追加して、衝突時の跳ね返りを表現します。 - -## 経路探索:障害物を迂回する経路を探し、それをたどる - -[経路探索ビヘイビア](/ja/gdevelop5/behaviors/pathfinding)は、オブジェクトの現在位置と目的の位置を結ぶ経路を計算する高度なアルゴリズムです。経路は、障害物に設定された他のオブジェクトを避ける最短経路になります。 - -これはシミュレーションゲームはもちろんのこと、キャラクターやユニットが障害物を回避しながら個別に移動する要素のあるどんなゲームにも役立ちます。 - -## アンカービヘイビア:オブジェクトを画面に固定してウィンドウのリサイズに影響されない - -[アンカービヘイビア](/ja/gdevelop5/behaviors/anchor)を使うと、オブジェクトをウィンドウ境界(上下左右)に固定できます。ゲームウィンドウをリサイズしたり解像度を変更した場合は、オブジェクトの配置が自動調整され、ウィンドウ境界からの距離を変更前と同じ距離に保ちます。 - -これはモバイルゲームの**ビジュアルコントロール**や、HUD に代表される**ユーザーインターフェイス**の作成で活躍します。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/index.md b/docs/ja/gdevelop5/tutorials/index.md deleted file mode 100644 index ebdc3c18607..00000000000 --- a/docs/ja/gdevelop5/tutorials/index.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: GDevelop 5 チュートリアル ---- -# GDevelop 5 チュートリアル - -これらのチュートリアルは、ゲームを最初から作成する方法を説明したステップバイステップのガイドです。 - -!!! tip - - GDevelop を初めてさわるという方は、次のチュートリアルから入るのがおすすめです。 - - * **[ゲーム作りの基本コンセプト:GDevelop を使うために知っておきたいこと](/ja/gdevelop5/tutorials/basic-game-making-concepts)** - * **[ジオメトリモンスター:完成形のシンプルなモバイルゲーム](/gdevelop5/tutorials/geometry-monster)**(英語) - * **[プラットフォームゲームを作成する](/ja/gdevelop5/tutorials/platformer)** - * **[スペースシューターゲームを作成する](/gdevelop5/tutorials/space-shooter)**(英語) - -コミュニティ チュートリアル - - * [ノイズジェネレーター拡張機能を理解して自動生成のために使う](/gdevelop5/tutorials/procedural-generation)(英語) - * [シンプルなタンクシューティングゲームを作成する](/ja/gdevelop5/tutorials/tank-shooter) - * [シンプルなエンドレスランナーゲームを作成する](/ja/gdevelop5/tutorials/endless-runner) - * [シンプルなエンドレスカーゲームを作成する](/gdevelop5/tutorials/roadrider)(英語) - * [シンプルなブレイクアウトゲームを作成する](/gdevelop5/tutorials/breakout)(英語) - - -より深く知りたい方向け - - * **[オブジェクトのビヘイビアを作成する方法](/ja/gdevelop5/tutorials/how-to-make-behavior)** - ----- - -# GDevelop ショートガイド(ハウツー) -下記のガイドは GDevelop の特定の機能について説明しています。また、ゲームを設計するための高度なメカニズムも示します。 - - * **[オブジェクトのビヘイビアを作成する方法](/ja/gdevelop5/tutorials/how-to-make-behavior)** - * [オブジェクトを移動させる方法(全アプローチ)](/gdevelop5/tutorials/how-to-move-objects)(英語) - * [プラットフォーマーゲームでキャラクターのジャンプと落下をアニメーションさせる方法](/gdevelop5/tutorials/how-to-animate-jump-fall-platformer)(英語) - * [ゲームに大きな背景を表示する方法](/gdevelop5/tutorials/how-to-display-big-background)(英語) - * [ゲームの残念なパフォーマンスをデバッグする方法](/gdevelop5/tutorials/how-to-debug-poor-performance)(英語) - * [ストレージアクション詳解](/gdevelop5/tutorials/storage-action-explained)(英語) - * [ゲームのサイズを削減する方法](/gdevelop5/tutorials/reduce-size-game)(英語) - * [複雑なロジックを制御する方法 – 有限状態機械(FSM)](/ja/gdevelop5/tutorials/finite_state_machine) - * [切り替え状態を作成する方法](/gdevelop5/tutorials/how-to-make-togglable-states-with-variables)(英語) - * [GDevelop をチームで使う方法(複数の開発者とチームメイト)](/gdevelop5/tutorials/how-to-use-GDevelop-as-a-team)(英語) - * [Piskel でスプライトシート画像をインポートする方法](/gdevelop5/tutorials/piskel-sprite-sheets)(英語) - * [GitHub と GitHub Desktop を使ってプロジェクトをバックアップ&メンテする方法](/gdevelop5/tutorials/using-github-desktop)(英語) - * [イベントシートのアクションと条件のエディターモードを変更する方法](/gdevelop5/tutorials/change-event-editor-mode)(英語) ----- - -# その他のガイド -下記のガイドはゲーム開発そのものに関連する内容を説明しています。GDevelop に特化したものではありません。 - - * [Cordova でゲームの .apk をビルドする](https://thedeestudio.blogspot.com/2020/01/gdevelop-how-to-manually-export-to.html)(英語) - * [Itch.io にゲームを公開する](/gdevelop5/publishing/publishing-to-itch-io)(英語) - * [publishing to amazon app store](/gdevelop5/publishing/publishing-to-amazon-app-store)(英語) - * [publishing to gamejolt store](/gdevelop5/publishing/publishing-to-gamejolt-store)(英語) - * [publishing to kongregate store](/gdevelop5/publishing/publishing-to-kongregate-store)(英語) - * [ゲームを公開するその前に](http://wiki.compilgames.net/doku.php/gdevelop5/tutorials/before-publishing-your-game)(英語) - ----- - -# GDevelop ビデオチュートリアル - - * [コミュニティによるビデオチュートリアル一覧](/gdevelop5/tutorials/videos)(英語)を参照 - - ----- - -# リソース -ゲームの開発に役立つスプライト、音楽やサウンドエフェクト、ゲームサンプル、テンプレート、ソフトウェアを見つけることができるサードパーティーの Web サイトへのリンク。 - - * [リソース一覧](/gdevelop5/tutorials/resources)(英語) \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platform-game/2-player-animations.md b/docs/ja/gdevelop5/tutorials/platform-game/2-player-animations.md deleted file mode 100644 index 42ce9fefde7..00000000000 --- a/docs/ja/gdevelop5/tutorials/platform-game/2-player-animations.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -title: プラットフォーム型ゲームの作成方法:プレイヤーアニメーション ---- -# プラットフォーム型ゲームの作成方法:プレイヤーアニメーション - -このチュートリアルでは、プレーヤーの状態が変化しているときに、さまざまなアニメーションを追加する方法と、イベントを使用してアニメーションを変更する方法を説明します。 - -プラットフォーム型ゲームのチュートリアルを最初から読んでいない場合は、[クリックして前のチュートリアル](/ja/gdevelop5/tutorials/platform-game)を読んで下さい。 - -## アニメーションの追加 - -今の状態では、プレーヤーは常に同じスタンディングアニメーションを表示していますが、イベントを使用して変更します。 - -ただし、最初に適切なアニメーションをPlayerオブジェクトに追加する必要があります。 - -### ジャンプするアニメーション - -Playerオブジェクトのエディターを開き、プロパティータブ上にいることを確認してから、ウィンドウの下部にある「+」ボタンをクリックしてアニメーションを追加します。最後に、新しいアニメーションを追加する記号「+」が付いたサムネイルをクリックして、「p1_jump」を追加する画像として選択します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_00.56.03.png) - -アニメーションには名前を付けることができます。それらを区別し、イベントで使用する簡単な方法です。「オプションのアニメーション名」をクリックして、必要な名前を入力するだけです。 - -2つのアニメーションの名前として「停止」と「ジャンプ」を入力します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_00.56.53.png) - -### 走っているアニメーション - -また、キャラクターがプラットフォームを歩いているときに表示する歩行アニメーションを追加する必要があります。画像を追加するとき、5枚の画像を選択し、前に行ったように、p1walk03.png、p1walk04.png...とp1_walk07.pngとして別のアニメーションを追加します。必要に応じて、すべての画像を一度に選択することも、1つずつ選択することもできます。最後に、アニメーションの名前を次の「ランニング」のように設定します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_00.59.15.png) - -これらの画像は、アニメーションを作成するために表示されます。オプションを少し調整する必要があります。まず、「ループしない」オプションをクリックして「ループ」に切り替えます。これにより、最後の指定した画像にに到達したときにアニメーションが最初から再開されます。タイマーは各画像間の時間を秒単位で表示しています。これはアニメーションの速度です。アニメーションがより速く再生されるように、1ではなく0.05を入力します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_01.02.03.png) - -これでオブジェクトの準備ができました。右下の「適用」をクリックします。 - -## イベントを使用したアニメーションの変更 - -### 最初のイベント:ジャンプ時にアニメーション化 - -次に、プレーヤーが何をしているかに応じて、オブジェクトによって表示されるアニメーションを変更する必要があります。イベントを使用します。これらのイベントは、ゲームのルール、オブジェクトのアニメーション化、移動、プレイヤー入力への応答方法を記述するために使用されます。これは、非常に迅速に学習でき、すべての人がアクセスできる視覚的プログラミングの一種です。 - -「新しいシーン(イベント)」というタブをクリックして、シーンのイベントエディターを開きます。 - -現在は、イベントエディタには何もありません。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_01.05.29.png) - -上部のツールバーのイベント追加ボタンをクリックして、最初のイベントを追加します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.40.43.png) - -イベントは、条件のリスト(たとえば、衝突が発生しているかどうか、キーが押されたかどうか、プレーヤーの寿命が短いかどうかなど)と、条件が満たされたときに発生するアクションのリストで構成されます。 - -今はイベントは空です。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.41.32.png) - -この最初のイベントでは、プレーヤーがジャンプしているかどうかを確認し、それに応じてアニメーションを変更します。 -最初にを「条件の追加」をクリックします。 - -新しいウィンドウで、ゲームを作成するために利用可能なすべての条件を確認できます。キャラクターの動作を持つPlayerオブジェクトがジャンプしているかどうかを確認します。 -Platformビヘイビアというカテゴリを開き、「ジャンプ中」を選択します。 - -ウィンドウの右側には、条件を構成するために必要なパラメーターが表示されます。ここでは、「Player」オブジェクトがジャンプしているかどうかを確認するため、最初のパラメーターにPlayerを選択します(2番目のパラメーターは自動的に入力されます)。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.45.29.png) - -条件の準備ができました!ウィンドウを閉じてイベントに追加された条件を確認するには、右下の「OK」をクリックします。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.47.17.png) - -キャラクターがジャンプしているときにプレイヤーのアニメーションを変更するアクションを追加しましょう。 -「条件の追加」をクリックします。 - -開いたウィンドウは似ていますが、利用可能なすべてのアクションが表示されます。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.51.10.png) - -スプライトオブジェクトであるPlayerのアニメーションを変更します。「スプライト」カテゴリを開き、「アニメーション」を選択し、最後に「アニメーションの変更(名前)」を選択します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.52.28.png) - -Player最初のパラメーターのオブジェクトで「ジャンプ中」を 選択し、2番目のフィールドに書き込みます。**注意してください**、あなたはGDevelopアクションや条件のいずれかのテキストは、式を使用することができるように二重引用符を記述する必要があります。これがテキストであることをGDevelopを伝えるために、二重引用符を使用する必要があります。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.54.51.png) - -完了したら、右下の[OK]をクリックします。最初のイベントの準備ができました! - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.56.10.png) - -### 結果を見てみましょう - -ツールバーの[再生]ボタンをクリックして、プレビューを起動します。ジャンプすると、プレイヤーのアニメーションが変化するのがわかります! - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_20.58.31.png) - -ただし、プレーヤーが地面に戻ったとき、アニメーションが停止アニメーションに戻されていないことがわかります。これは、単にGDevelopにそうするように指示したことがないためです!これを修正するために別のイベントを追加しましょう。 - -## 停止と走行中のアニメーション - -新しい空のイベントを追加しましょう。[条件の追加]をクリックし、今回はPlatformerビヘイビアの動作カテゴリ内で[床の上にいる]条件を選択します。上部の検索ボックスを使用して、名前がわかっている場合に条件をすばやく見つけることができます。 - -Playerオブジェクトを選択して、最初のパラメーターを入力します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_21.52.02.png) - -[OK]をクリックして、条件を確認します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_21.54.47.png) - -ここで、停止やジャンプ中だけでなく、走行中のアニメーションもキャラクターに表示させる良い機会です。 - -各イベントに2つの条件とアクションを持つ2つのイベントを追加できます。 - - * プレーヤーが地面にいて、*さらに*走っていないときは、停止アニメーションを表示する必要があります。 - * プレイヤーが地面にいて、*さらに*動いているときは、走行中アニメーションを表示する必要があります - -代わりに、**サブイベント**を使用して、プレーヤーが一度地面にいる場合にのみ条件をチェックすることができます。 - -「条件の追加」またはの 近くの空の領域をクリックして、作成したイベントを選択します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_21.59.36.png) - -次に、ボタンを2回クリックして、サブイベントを追加します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.05.49.png) - -2つの「子」イベントが、現在親イベントと見なされているイベントの下に追加されます。イベントの左側にいくつかの空白が追加され、それらが接続されていることを視覚的に確認するために、線で接続されているのが確認できます。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.07.02.png) - -これらのイベント内に条件を追加できるようになりました!最初に、プレーヤーが動いているされているかどうかを確認する条件を追加します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.08.06.png) - -2番目の場合は、同じ条件を追加し「条件の反転」のトグルを確認します。これにより、Playerオブジェクトが移動していないときにイベントのアクションが起動されます。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.09.30.png) - -これまでのイベントは次のとおりです。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.10.03.png) - -ほぼ完了です。各イベントに必要なアクションを追加して終了しましょう。最初のイベントを使用してキャラクターの**走行中**のアニメーションを設定します。2番目のイベントを使用してキャラクターの**停止**のアニメーションを設定します。 - -これらのアクションは、ジャンプ中アニメーションの場合と同じ方法で追加できます。アニメーション名を入力するときは、引用符(" ")を忘れないでください。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.15.20.png) - -## プレビュー(および保存)する時です - -ゲームのプレビューを起動して、走行中およびジャンプ中にプレイヤーのアニメーションが変化していることを確認できます! - -私たちができる小さな改善は、プレイヤーが落下しているときにアニメーションをジャンプに設定することです(そうでなければ、プレイヤーが画面の端に到達すると、走行中のアニメーションが再生を続けるようにします)。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.23.10.png) - -## 次のステップ: カメラがプレーヤーを追いかけるようにします - -現時点では、プレイヤーが画面外まですばやく歩くことができるため、探すための大きなステージを構築するのは困難です!チュートリアルの次の部分では、カメラをプレーヤーに追従させる方法を示します。それは本当に簡単です、一つのイベントで十分でしょう! - -➡️ **[チュートリアルの続きはこちら!](/ja/gdevelop5/tutorials/platform-game/3-have-camera-follow-player)** \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platform-game/3-have-camera-follow-player.md b/docs/ja/gdevelop5/tutorials/platform-game/3-have-camera-follow-player.md deleted file mode 100644 index 0da74180f23..00000000000 --- a/docs/ja/gdevelop5/tutorials/platform-game/3-have-camera-follow-player.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: カメラをプレイヤーに追随させる ---- -# カメラをプレイヤーに追随させる - -!!! note - - これは [プラットフォーム型ゲームの作成](/jagdevelop5/tutorials/platform-game)のチュートリアルの一部です。 ですが、他のゲームにも参考になります! - -ここまでは、プレイヤーが画面の外にすばやく移動できるため、プレーヤーがどこにいるのかわからないため、大きなマップレベルを構築するのは困難です! - -カメラをプレーヤーに追従させる別のイベントを追加しましょう。これを実現する方法は複数あります。最も簡単なのは、条件なしでイベントを追加し、「オブジェクトの中心にカメラを設定」アクションを呼び出すこです。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.25.53.png) - -新しいイベントは次のようになります。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.26.20.png) - -プレビューを起動して、カメラがプレーヤーの中央に配置されたことを確認できます。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.27.31.png) - -## これだけです - -簡単でしょ?他にも便利なアクションがあります。たとえば、アクションを使用して、X軸またはY軸でのみカメラの座標を変更できます。上下に移動せず横スクロールでステージを移動するだけのスクロールタイプのゲームに役立ちます。 - -## 次のステップ:ブロックの間をジャンプ - -ステージが1つしかないのは退屈なことです。別の画像を追加してみましょう。これはブロックではないため、下からジャンプできます - -➡️ **[チュートリアルの続きはこちら!](/ja/gdevelop5/tutorials/platform-game/4-add-jump-thru-platforms)** \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platform-game/4-add-backgrounds-objects.md b/docs/ja/gdevelop5/tutorials/platform-game/4-add-backgrounds-objects.md deleted file mode 100644 index 28f6c30dea9..00000000000 --- a/docs/ja/gdevelop5/tutorials/platform-game/4-add-backgrounds-objects.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: 背景オブジェクトの追加 ---- -# 背景オブジェクトの追加 - -!!! note - - これは [プラットフォーム型ゲームの作成](/jagdevelop5/tutorials/platform-game)のチュートリアルの一部です。 ですが、他のゲームにも参考になります! - -今のところ、レベルは派手なものなしで非常にシンプルです。背景にいくつかの画像オブジェクトを追加しましょう。 - -## オブジェクトの作成 - -背景にオブジェクトを追加するのは本当に簡単です。希望する画像をスプライトに追加して、シーンに配置するだけです。 - -たとえば、スプライトオブジェクトを作成し、アニメーションを追加し、木の画像を追加します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-27_at_22.45.14.png) - -このオブジェクトに名前を付けて、雲の画像のように別のオブジェクトを追加することもできます。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-27_at_22.46.01.png) - -## シーンにオブジェクトを配置し、Zオーダーを変更します - -シーンにオブジェクトを追加すると、プレーヤーがその背後に表示されていることがわかります。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-27_at_22.52.10.png) - -シーン上のすべてのインスタンスには、**Zオーダー**と呼ばれるプロパティがあります。これは数値であり、Zオーダーの高い(数字の大きい)オブジェクトは、Zオーダーの低いオブジェクトの前に表示されます。Zオーダーには任意の数を指定でき、負の値も指定できます。 - -ここで、木と雲のZオーダーを変更して負の値に設定すると、プレーヤーキャラクター(Zオーダーが0以上である必要があります)がそれらの前に表示されます。これを行うには、シーン上のインスタンスを選択します。キーボードのSHIFTを押し続けると、複数のオブジェクトを選択できます。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-27_at_22.59.47.png) - -次に、左側の**プロパティ**パネルの**Zオーダー**フィールドの値を変更します。たとえば、-2(または任意の負の数)は、これらのオブジェクトがプレーヤーの背後にあることを示しています。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-27_at_23.00.40.png) - -これで、求めていた視覚的な結果が得られました。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-27_at_23.01.44.png) - -プレビューを実行して、すべてがうまく動作していることを確認してください! - - -## 次のステップ:コインの表示とゲットしたコインの表示 - -プレーヤーに目標を追加しましょう:できるだけ多くのコインを収集します!これを行うには、イベントを使用してプレーヤーのスコアを記憶し、サウンドを再生し、ゲットしたコインを削除します! - -➡️ **[次のチュートリアルはこちら!](/ja/gdevelop5/tutorials/platform-game/5-add-coins-and-number-of-collected-coins)** \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platform-game/4-add-jump-thru-platforms.md b/docs/ja/gdevelop5/tutorials/platform-game/4-add-jump-thru-platforms.md deleted file mode 100644 index 99be1bb53b2..00000000000 --- a/docs/ja/gdevelop5/tutorials/platform-game/4-add-jump-thru-platforms.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: ブロックの間をジャンプできるようにする ---- -# ブロックの間をジャンプできるようにする - -!!! note - - これは [プラットフォーム型ゲームの作成のチュートリアル](/gdevelop5/tutorials/platform-game)の一部です。 ですが、他のゲームにも参考になります! - -現時点では、すべての配置したブロックは通り抜けられません。プレーヤーがその下にいるときにジャンプすることはできません。それらを通り抜けてジャンプできる新しい配置ブロックを作成できます。 - -## 新しいオブジェクトの作成 - -新しいスプライトオブジェクトを作成し、アニメーションを追加して、次の「橋の丸太」画像を選択します - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.40.34.png) - -オブジェクトの名前を「小さい橋」と変更しました。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.42.01.png) - -## 通り抜けるブロックの作成 - -現時点では、オブジェクトはブロックと見なされていません。オブジェクトエディタを開き、ビヘイビアタブに切り替えます。プラットフォームと呼ばれるビヘイビアを追加します。最後に、「タイプ」フィールドをクリックしたときにリストで「ジャンプスループラットフォーム」を選択します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.44.30.png) - -## プレビューの実行 - -プレビューを起動して、丸太にジャンプできることを確認できます! - -![](/gdevelop5/tutorials/platform-game/jumpthru.gif) - -いつものことですが、ゲームを保存するのを忘れないで下さい! - -## 次のステップ:背景オブジェクトの追加 - -ステージはまだかなりスカスカです。背景オブジェクトをいくつか追加して、見やすくします。 -その後、コインを追加して、敵を倒せるようにします! - -➡️ **[チュートリアルの続きはこちら!](/gdevelop5/tutorials/platform-game/4-add-backgrounds-objects)** \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platform-game/5-add-coins-and-number-of-collected-coins.md b/docs/ja/gdevelop5/tutorials/platform-game/5-add-coins-and-number-of-collected-coins.md deleted file mode 100644 index 0f7d7fd5b75..00000000000 --- a/docs/ja/gdevelop5/tutorials/platform-game/5-add-coins-and-number-of-collected-coins.md +++ /dev/null @@ -1,183 +0,0 @@ ---- -title: コインの表示とゲットしたコインの表示 ---- -# コインの表示とゲットしたコインの表示 - -!!! note - - これは [プラットフォーム型ゲームの作成](/jagdevelop5/tutorials/platform-game)のチュートリアルの一部です。 ですが、他のゲームにも参考になります! - -これまでに作成したゲームでは、プレーヤーは何もすることがありません。プレーヤーがコインをゲットできるように追加しましょう。 - -## コインの追加 - -金色のコイン画像を使って、新しいスプライトオブジェクトを作成することから始めます。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-28_at_23.29.30.png) - -このオブジェクトは「コイン」という名前にします。 - -ステージに複数のコインを配置することができます。いくつかのコインが必要になるので、シーンエディターの「ドラッグ・アンド・クローン」機能を使用することをお勧めします。コインを選択し、Ctrl(またはmacOSではCmd)を押したまま、コインをドラッグします。これにより複製されます。 - -Shiftキーを押しながら移動すると、元の軸と同じ軸に作成されたコインを移動することもできます。 - -![](/gdevelop5/tutorials/platform-game/clone.gif) - -## 集めたコインの削除 - -プレイヤーがそれらに触れたときにコインオブジェクトを破壊しましょう。新しいイベントを追加し、条件を追加します。2つのオブジェクト間の衝突をテストする条件を選択します。最初のオブジェクトは「Player」、2番目のオブジェクトは「コイン」にする必要があります。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-28_at_23.36.12.png) - -次に、コインを削除するアクションを追加できます。最初の条件で選択された「コイン」オブジェクトのみがアクションで使用されるため、プレーヤーと衝突していたコインのみが削除されます。 - -「全てのオブジェクトに共通のアクション」>「オブジェクト」から、「カテゴリの削除」アクション選択し、削除するオブジェクトとして「コイン」を入力します。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-28_at_23.41.46.png) - -イベントは次のようになります。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-28_at_23.42.34.png) - -プレビューを起動して、プレイヤーがコインの上を通過するとコインが削除されることを確認できます! - -## コインをゲットした時に効果音を鳴らす - -ゲームを、よりダイナミックでやりがいのあるものにするために、コインをゲットしたときにサウンドを再生しましょう。 - -簡単です。すでにcoin.wavゲームフォルダーにサウンドファイルがあります(そうでない場合は、[ここ](http://www.compilgames.net/dl/PlatformerTutorialResources.zip)からリソースをダウンロードして、ゲームフォルダーに展開します。) - -これまでに行ったことのないことです。1つのイベントに実行する複数のアクションを追加できます。サウンドを再生するには、コインを削除するために使用したイベントに別のアクションを追加しましょう。[オブジェクト コインの削除]アクションのすぐ下にある[アクションの追加]をクリックし、オーディオカテゴリから、「サウンドを再生」というアクションを追加します。この方法では、コインを削除するだけでなく、サウンドも再生します。 - -サウンドを再生するために使用できるパラメーター類があります。最初で最も重要なのは、再生するサウンドファイルです。フィールドをクリックし、「新しいオーディオファイルを選択」をクリックします。 -![](/gdevelop5/tutorials/platform-game/choose-new-audio-file_2x.png) - -ゲームフォルダーに入っている、他とファイルとともにダウンロードした、「coin.wav」ファイルを選択します。 -![](/gdevelop5/tutorials/platform-game/choose-coin-wav_2x.png) - -他のパラメーターはそのままにします(例えば、サウンドをリピートしたり、音量100をを変更したり、デフォルト速度を変更しないで下さい。) -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.50.22.png) - -これで全てです!プレビューを起動すると、コインをゲットするたびにサウンドが再生されます 👍 - -## 変数を使用してスコアを計算 - -変数を使用して、プレーヤーのスコアを更新および記憶します。 - -変数は、数値や文字列(テキスト)などの特定の情報を保存および記憶するために使用できる保存場所です。GDevelopには、さまざまなタイプの変数があります。 - - * __**Object 変数**__ オブジェクトの各インスタンスに固有のプライベート変数です。これは、各インスタンスが他のインスタンスと共有されることなく、独自の値を保存できることを意味します。たとえば、各敵の残機数を変更する場合等に役立ちます。 - * __**Scene 変数**__ (最も使用されるもの)は、シーンに付加された変数です。これは、それらの値がゲーム内の他のシーンと共有されないことを意味します。現在再生されているシーンにのみ関連する情報を保存すると便利です。たとえば、プレーヤーの残機数やスコア。 - * __**Global 変数**__ 値はゲーム全体のすべてのシーンで共有されます。弾丸の量やプレーヤーが持っているお金の量など、すべてのシーン間で共有したい情報を保存したい場合に便利です。 - -今回使用しようとする変数はシーン変数であり、「スコア」と呼ばれます。 - -作成した最新のイベントにアクションを追加しましょう。アクションを選択し、「変数」 > 「変数の値」を選択します。このアクションは、スコア変数に100を追加するために使用されるため、次のようにパラメーターを入力します。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.52.43.png) - -GDevelopでは、変数を使用する前に変数を宣言する必要はありません。アクションまたは条件で名前を付けるだけで、変数を宣言せずに使用できます。宣言されていない変数でアクションを使用している場合、GDevelopは変数のアクションを実行した後、トラブルを防ぐためにデフォルト値「0」(または空のテキスト)で自動的に作成します。 - -しかし、ゲームをより良く編成するには、変数を使用する前に変数を宣言することをお勧めします。このようにして、ゲームで使用している変数を簡単に見つけることができます。デフォルト値を0以外に変更することもできます。変数を宣言するに...は、変数名の右側にあるボタン「...」をクリックします。これにより、変数のリストが表示されます。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.54.46.png) - -変数はまだ宣言されていないため、リストが表示されますが、空になっています。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.55.27.png) - -「+」ボタンを クリックして変数を追加し、名前に「スコア」と入力します。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.56.23.png) - -これは完全にオプションでですが、良い習慣であることと思って下さい。 - -## テキストオブジェクトを使用してスコアを表示 - -### テキストオブジェクトの追加 - -現時点では、変数「スコア」は表示されないため、スコアが増加したことを確認できません([デバッガ](/ja/gdevelop5/interface/debugger)を使用しても、プレーヤーは見ることはできません) - -変数「スコア」の値を表示するには、テキストオブジェクトを使用する必要があります。新しいオブジェクトを追加しましょう。作成するオブジェクトのタイプについて尋ねられたときに「テキスト」を選択します。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_17.58.27.png) - -次に、オブジェクトのプロパティを変更して、テキストが黒でデフォルトのサイズより大きくなるようにします。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.09.28.png) - -その後、オブジェクトをシーンに配置できます。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.20.23.png) - -### テキストレイヤーを変更する - -ゲームを起動すると、スコアテキストが残りのオブジェクトとともに表示され、その位置が画面上で固定されていないことがわかります。この問題は、ベースレイヤーの上にレイヤーを使用することで簡単に解決できます。 - -このボタンを使用してレイヤーエディターを開きます。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.34.33.png) - -レイヤーの一覧が表示されますが、現時点ではベースレイヤーのみです。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.35.00.png) - -「+」ボタンを クリックしてレイヤーを追加します。名前に「UI」と入力します(UIはユーザーインターフェイスの略です)。 - -最後に、シーンのテキストインスタンスを選択してテキストオブジェクトをこの新しいレイヤーに移動し、左側のプロパティでUIレイヤーを選択します。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.40.44.png) - -オブジェクトが画面上のどこかに表示されていることを確認してください。たとえば、左上に配置します。シーンエディターの黒い四角形は、ウィンドウのサイズを表します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.42.46.png) - -### スコアの値の表示 - -画面にテキストが表示されたので、Score変数の値を表示するようにします。新しいイベントを追加します。このイベントには条件はありません。つまり、ゲームのフレームが画面にレンダリングされるたびにアクションが実行されます(1秒間に約60回)。 - -アクションを追加し、テキスト変更のカテゴリから、テキストオブジェクト選びます。 - -最初のパラメーターについては、スコアを更新したいオブジェクトを選択します。 -2番目のパラメーターには、= (set to)演算子を選択します(テキストを新しい値に設定します)。 -最後に、最後のパラメーターはテキストの新しいコンテンツを表します。これは、アクションの実行時にGDevelopによってゲーム中に評価される文字列式です。 - -テキストを引用符で囲んで指定することができます(このように:"Hello World")。ただし、式と呼ばれるものも使用できます。式は、特定の値を返す関数です。この場合、スコア変数の値が必要であり、その値を使用してテキストオブジェクトのコンテンツを更新する必要があります。式はより高度なトピックであるため、ここでは詳しく説明しません。 - -ここで知っておく必要があるのは、シーン変数の値を取得するために、変数(変数名)の式を使用する必要があるということです。また、スコアは数値変数ですが、テキストとしての値が必要なので、`ToString(変換式)`というように、式から返された値を文字列に変換する必要があります。これを行うには、ToString(Variable(スコア))という別の式を使用します。 - -最後に、「+」演算子を使用して静的テキストの後にこの式を追加できます(テキストを`"Score : " + ToString(Variable(スコア))`と、二重引用符で囲むことに注意してください)。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.58.12.png) - -GDevelopでは、他の多くの関数と式を利用できます。組み合わせると、高度な作業を行う強力なアクションを作成できます。値フィールドの横にある青いアイコンをクリックすると、式エディターでさらに式を見つけることができます。 - -![](/gdevelop5/tutorials/platform-game/expression-icon.png) - -最後のイベントは次のとおりです。 -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_18.59.31.png) - -ゲームをプレビューしましょう。コインをゲットすると、スコアが表示され更新されることを確認できます! - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-30_at_19.00.24.png) - -##ボーナス:2つのコインを同時にゲットすることを確認する - -2つのコインをまったく同時に収集した場合(たとえば、2つのコインが重なった場合)、スコアは1回しか増加しないことに気づいたかもしれません。たとえば、各コインが100ポイントの価値があり、2つのコインを集めると、スコアは200ではなく100になります。これに対する修正は簡単ですが、まだ対応していません。 For Eachオブジェクトというイベントを使用します。行うことは、ゲットされたすべてのコインについて、スコアに100を加算することをエンジンに伝えることです。 - -開始するには、イベントエディターのツールバーの「+」ボタンをクリックします。 -![](/gdevelop5/tutorials/platform-game/gdevelop_5_2018-05-30_11-30-39.png) - -"for eachオブジェクト"を選択 -![](/gdevelop5/tutorials/platform-game/2018-05-30_11-33-09.png) - -これにより、イベントページの下部にイベントが追加されます。それを上にドラッグして、コインとプレイヤーの衝突のサブイベントにします。 -![](/gdevelop5/tutorials/platform-game/click-to-choose-4.png) - -クリックしてオブジェクトを選択し、コインオブジェクトを選択します。 -![](/gdevelop5/tutorials/platform-game/click-to-choose2.png) - -オブジェクトをサブイベントに追加したので、アクションをサブイベントに移動します(条件によって選択されたコインごとにアクションが繰り返されます)。 - -最初のアクションにカーソルを合わせて右クリックして切り取り、サブイベントのアクションにカーソルを合わせて右クリックして貼り付けます。他の2つのアクションに対してこれを行います。アクションをドラッグアンドドロップすることもできます。これは、カットアンドペーストよりも高速です。 -![](/gdevelop5/tutorials/platform-game/move-to-sub1.png) - -最終的なイベントは次のようになります。 -![](/gdevelop5/tutorials/platform-game/move-to-sub2.png) - -ゲームを実行すると、2枚のコインを同時にゲットした場合、スコアが適切に更新されることがわかります。 - -## 次のステップ:敵の追加 - -すべてのプラットフォーム型ゲームには、敵にジャンプして回避または殺さなければならない敵が存在しています! -いくつか追加して、それらを動かす方法を見てみましょう - -➡️ **[|次のチュートリアルはこちら!](/ja/gdevelop5/tutorials/platform-game/6-add-enemies)**! \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platform-game/6-add-enemies.md b/docs/ja/gdevelop5/tutorials/platform-game/6-add-enemies.md deleted file mode 100644 index 0efd8c73fb9..00000000000 --- a/docs/ja/gdevelop5/tutorials/platform-game/6-add-enemies.md +++ /dev/null @@ -1,147 +0,0 @@ ---- -title: プラットフォーム型ゲームに敵を追加する ---- -# プラットフォーム型ゲームに敵を追加する - -!!! note - - これは [プラットフォーム型ゲームの作成](/jagdevelop5/tutorials/platform-game)のチュートリアルの一部です。 ですが、他のゲームにも参考になります! - -ステージ上を左右に移動する敵を追加しましょう。プレイヤーは、その上にジャンプして破壊することができます。 - -## 敵のオブジェクトを作成してシーンに追加します - -新しい「スプライト」オブジェクトを作成します。最初のアニメーションにWalkと名前をつけ、画像slimeWalk1.pngを追加し、次の画像にslimeWalk2.pngを追加します。 -敵は常に動いているため、停止やその他のアニメーションは必要ありません。 - -「ループしない」ボタンをクリックしてアニメーションをループに設定し、「ループ」に切り替え、時計アイコンを使用してアニメーション速度を0.5に設定します。 - -ウィンドウは次のようになります。 -![](/gdevelop5/tutorials/platform-game/gd5_platormertut_slimeeditor.png) - -「適用」ボタンをクリックして、変更を確認します。 - -次に、オブジェクトの名前をにスライムに変更します。スライムオブジェクトをシーンに追加し、ステージの真上に配置するようにします。 - -今すぐプレビューを実行しても、それほど効果はありません。ステージの上部に静かに座って、歩行アニメーションを再生します。 -動かしてみましょう。 - -## 敵を左右に動かす - -このチュートリアルでは、スライムが左右に移動します。不可視のオブジェクトを使用してこれを行います。スライムがオブジェクトの1つに触れると、方向が逆になります。 - -区切り文字として機能する2つのオブジェクトを追加しましょう。新しいスプライトオブジェクトを作成し、イメージ「Left.png」ファイルを追加します。このオブジェクトに「レフト」と名前を付けます。次に、もう1つのオブジェクト「Right.png」を作成し、イメージを追加します。このオブジェクトには「right」と名前を付けます。 - -最後に、ステージの右側にrightオブジェクトと、ステージの左側にleftオブジェクトを配置します。 - -次のようになります。 -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_slimedirection.png) - -アイデアは、スライムがleftオブジェクトと衝突した場合、スライムの方向を左に移動するように設定するということです。そして、rightオブジェクトと衝突している場合、スライムを右に移動するように設定します。 - -最初に「方向」オブジェクト変数を作成します。この変数を使用して方向を変更します。 - -オブジェクト変数をスライムに追加するには、オブジェクトリストでスライムオブジェクトを右クリックし、[オブジェクト変数の編集]を選択します。 - -空のウィンドウが表示されます。これには、スライムオブジェクトに対して宣言したオブジェクト変数のリストが含まれています。何も宣言していないので、今は空です。オブジェクト変数を追加するには、右下隅のプラス記号をクリックします。 - -これにより、ウィンドウに「変数」という変数が追加されます。名前をクリックして、「方向」に変更します。値フィールドをクリックして、「left」と入力します。 -ウィンドウは次のようになります。 -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_objectvariable2.png) - -[適用]ボタンをクリックして、変更を確認します。これで、デフォルト値が「left」の「方向」というオブジェクト変数ができました。 - -この変数を使用して、スライムを動かしましょう。 - -イベントエディターで、空のイベントを追加し、条件を追加して、「全てのオブジェクトに共通の条件」 > 「変数」 > 「オブジェクトの変数のテキスト」を選択します。 - -パラメータで、オブジェクトフィールドに「スライム」を選択します。「変数」フィールドで「方向」を選択します。(または「方向」をキーボードを使用して入力)。テストの符号判定に「等しい」を選択し、最後に値に「left]を入力します。引用符の間に値を入れることを忘れないでください。 - -ウィンドウは次のようになります。 -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_objectvariable3.png) - -OKを押して確認し、イベントに条件を追加します。スライムを左に移動するアクションを追加しましょう。 - -「アクションを追加」をクリックし、「全てのオブジェクトに共通の条件」 > 「動き」 > 「フォース(角度)の追加」から、「「力(角度)を追加」を選択します。いつでも検索ボックスを使用して、探しているものを見つけることができます。 - -パラメータで、オブジェクトフィールドに再度「スライム」を選択します。角度には「180」度(GDevelop座標系の左側)を入力し、速度には100ピクセルを入力します。一定時間有効な状態として、ゲームのすべてのフレームで力が適用されるため、「インスタント」を選択します。 - -ウィンドウは次のようになります。 -![](/gdevelop5/tutorials/platform-game/slime-move-left.png) - -[OK]を押して、イベントに条件を追加します。 - -ここでプレビューを実行すると、スライムが左に移動し始めますが、おそらくスライムは移動し続け、方向を変えないことに気付くでしょう。 - -今回は、スライムオブジェクトと「right」と呼ばれるオブジェクト間の衝突をチェックし、方向変数の値を「right」に変更します。 - -空のイベントを追加し、スライムと「right」というオブジェクトとの衝突をチェックする条件を追加します。これを行う方法はすでに知っているはずです。次に、「オブジェクトの変数のテキストを変更する」アクションを追加します。 - -パラメータで、オブジェクトはスライムを選択し、変数は「方向」を選択し、オペレータは「=(set to)」を選択します。最後に、値に「right」と入力します。二重引用符を忘れないでください。 - -ウィンドウは次のようになります。 -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_checkobjectvariable.png) - -ここでプレビューを実行すると、方向が「正しい」場合にGDevelopに何をするかを指示しなかったため、何も起きていないことに気付くかもしれません。 - -最後に、同じ2つの同様のイベントを追加しますが、「left」を「right」に反転させ、方向を変更します。完了すると、イベントは次のようになります(後で追加するスプライトを反転するアクションを除く)。 -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_moveslimeevent1.png) - -ゲームのプレビューを起動すると、スライムは左右に移動するはずですが、移動してもスライムは左を向いています。向きを変えましょう。 - -スライムを左に移動させるイベントのアクションのリストで、スプライトを水平方向に反転するアクションを追加します。オブジェクトの場合は「スライム」を選択し、値の場合は「いいえ」を選択します(左に移動するときにオブジェクトを反転させたくないため)。スライムを右に移動するために使用されるイベントに対して、同じ時間を繰り返します。オブジェクトが正しく移動しているときにオブジェクトを反転させたいため、今回は「はい」を選択します。 - -イベントは次のようになります。 -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_moveslimeevent2.png) - -スライムは左右に移動し、移動時に適切な向きになります。 - -## プレイヤーが敵を倒す - -プレイヤーがスライムの上にジャンプしたときに、スライムを破壊するようにしましょう。 - -プレーヤーとスライムの間に衝突があるかどうかを確認する条件を持つ空のイベントを追加します。スライムを削除するアクションを追加します。これは以前に [コインで行った](/gdevelop5/tutorials/platform-game/5-add-coins-and-number-of-collected-coins)ことと似ていますが、今回はスライムで行いました。 - -これを今実行すると、スライムは衝突するとすぐに削除されるはずですが、これはまだ望んでいるものではありません。プレイヤーがその上にジャンプした場合にのみ削除します。 - -これを行うには、イベントにもう1つの条件を追加します。今回は、プレーヤーが落下しているかどうかを確認します。 - -プレビューを実行すると、プレイヤーがスライムにジャンプしたときにスライムが削除されます。 - -プレイヤーがスライムに落ち、プレイヤーが膨らむことなくスライムが消えるので、まだ完璧ではありません。 - -これを行うには、イベントにもう1つのアクションを追加します。今回は、「再度ジャンプを許可する」というアクションを選択します(「プレーヤー」オブジェクトの場合)。次に、「ジャンプキーを押す動作をシミュレートする」という別のアクションを追加して、ジャンプさせます(プレイヤーが跳ねているように見えます)。両方のアクションは、「プラットフォームの動作」カテゴリにあります。 - -この時点で、イベントは次のようになります。 -![](/gdevelop5/tutorials/platform-game/gd5_platformertutoriual_killtheslime.png) - -プレビューを実行してスライムの上部にジャンプすると、プレーヤーはそっとバウンドし、スライムが消えます。 - -## 敵がプレイヤーを倒す - -今度は逆のロジックを作りましょう:敵がプレイヤーに触れたらプレイヤーを殺します。 - -空のイベントを追加し、条件を追加して、プレーヤーとスライムの衝突を確認します。次に、プレーヤーを削除するアクションを追加します。 - -スライムを削除する前にプレーヤーを削除したり、プレーヤーを削除する前にスライムを削除したりする可能性があるため、これはそのままでは機能しません。 - -これを回避するには、イベントにもう1つの条件を追加して、プレーヤーが画面中にいるかどうかを確認します。 - -プレビューを実行すると、スライムの上にジャンプしてスライムを殺すことができるはずです。スライムは、衝突の瞬間にプレイヤーが画面中にいる場合にプレイヤーを殺すことができるはずです。 - -## ブロックの区切りを非表示にする - -ここで最後に行う必要があるのは、これらの「left」および「right」の矢印オブジェクトを非表示にすることです。これを行うには、「シーンの開始時」という条件(シーンの開始時に1回だけトリガーされる)と「オブジェクトを左に隠す」および「オブジェクトを右に隠す」というアクションを持つイベントを追加します。 - -これまでのこのチュートリアルのイベントは次のようになります。 -![](/gdevelop5/tutorials/platform-game/gd5_platformertutorial_enemycompletevent.png) - -プレビューを実行すると、矢印の付いた左右のオブジェクトが非表示になり、スライムが常に左右に移動します。スライムの上にジャンプすることでスライムを殺すことができ、プレイヤーが地面にいる間にスライムがプレイヤーに衝突したときにスライムがプレイヤーを殺すことができるはずです。 - - -## 次のステップ:チェックポイントの追加 - -現時点では、プレイヤーの「死」は少し残酷です。それを削除するだけです。代わりに、彼が最後に通過したチェックポイントまで彼を再出現させましょう。プラットフォーマーゲームでは、プレイヤーが死んだときに最初からやり直すことを強制したくない場合、チェックポイントが不可欠です(これは興味深いことですが、イライラすることもあります!) - -➡️ **[7 checkpoints](/ja/gdevelop5/tutorials/platform-game/7-checkpoints)**! - diff --git a/docs/ja/gdevelop5/tutorials/platform-game/7-checkpoints.md b/docs/ja/gdevelop5/tutorials/platform-game/7-checkpoints.md deleted file mode 100644 index fef6bcbd835..00000000000 --- a/docs/ja/gdevelop5/tutorials/platform-game/7-checkpoints.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: ゲームにチェックポイントを追加する ---- -# ゲームにチェックポイントを追加する - -前のチュートリアルでは、プレーヤーが敵と衝突したときにプレーヤーを削除していました。これは、ほとんどのゲームで機能する方法ではありません。通常、プレーヤーを削除する代わりに、ゲームには「チェックポイント」があります。「チェックポイント」は、ゲームの状態とプレーヤーの状態を変数に保存します。その後、プレーヤーが死亡すると、ゲームやプレーヤーは「チェックポイント」から再開します。 - -このチュートリアルでは、ゲーム全体の状態とプレイヤーの状態を保存するのは少し高度すぎるかもしれません。代わりに、プレーヤーが「チェックポイント」オブジェクトと衝突した場合、「チェックポイント」オブジェクトの位置を変数内に保存します。また、プレーヤーを削除する代わりに、変数内に保存されているものに位置を再設定します。 - -#### チェックポイントオブジェクトを作成する -ゲームで新しいスプライトオブジェクトを作成することから始めましょう。それを「チェックポイント」と呼びます。任意の.jpgまたは.pngスプライトイメージを使用できます。サボテンのスプライトを使用します。 - -![](/gdevelop5/tutorials/platform-game/checkpoint-object.png) - -次に、スプ​​ライトオブジェクトをシーンに追加します。スプライト画像が大きすぎるか小さすぎる可能性があります。スプライトのハンドルバーを使用して、画像のサイズを変更します。私の場合、上記のサボテンスプライトオブジェクトになります。「チェックポイント」を持ちたい場所にシーンに配置します。オブジェクトスプライトをシーンの複数の場所に追加できます。これにより、複数の「チェックポイント」を設定できます。 - -#### イベントを追加する -シーンに「チェックポイント」オブジェクトができたので、イベントを追加しましょう。「プレイヤー」と「チェックポイント」の間に衝突があるかどうかを確認する条件から始めます。衝突が発生した場合、「checkpoint」オブジェクトスプライトのXおよびY位置をcheckpointXおよびcheckpointYというシーン変数に保存します。 - -![](/gdevelop5/tutorials/platform-game/checkpoint_Var.png) - - -![](/gdevelop5/tutorials/platform-game/checkpoint_event.png) -上記では、**数式**を使用して、「チェックポイント」オブジェクトスプライトのXおよびY位置を取得しています。これは、スコアテキストを更新した方法と同様の方法で行われます。値フィールドの横にある青いアイコンをクリックすると、**数式エディター**でさらに式を見つけることができます。 - -![](/gdevelop5/tutorials/platform-game/expression-icon.png) - -青いアイコンをクリックすると、使用可能なすべての式をカテゴリに分類して検索できます。 - -![](/gdevelop5/tutorials/platform-game/expression-editor.png) - -条件には、「プレーヤー」オブジェクトが衝突した「チェックポイント」オブジェクトのXおよびY位置が保存されます。そのため、「Player」スプライトオブジェクトを削除する代わりに、変数を使用してXとYの位置を設定します。 - -![](/gdevelop5/tutorials/platform-game/expression_playerPosition.png) - -![](/gdevelop5/tutorials/platform-game/checkpoint-event2.png) - -上記の例では、別の式のセットを使用して、保存された変数の値を取得し、「Player」の位置に渡します。 -#### バグを解決する - -一緒にフォローしていて、「チェックポイント」のサボテンも選択した場合、バグを作成したことに気付くかもしれません! -プレイヤーキャラクターはサボテンより背が高いです。この場合、高さの差は「大きくない」です。これにより、一見問題は表示されないかもしれませんが、プレイヤーキャラクターが地面に引っかかっているのに気づくでしょうが、最も近い表面にテレポートされます。 -高さの差が大きかった場合、キャラクターは地面の下に落ちていた可能性があります。したがって、この問題を修正することをお勧めします。. - -![](/gdevelop5/tutorials/platform-game/checkpoint_bug.png) - -この特定のケースでは、Y軸上のサボテンスプライトをプレーヤーと同じかそれ以上にスケーリングすることで問題を簡単に解決できます。ここまでで、スプライトのスケーリング/サイズ変更の方法がわかったので、もう少し難しいが、より正確なアプローチを使用してそれを行う方法を見てみましょう。問題を回避するために数学を使用しましょう。 - -![](/gdevelop5/tutorials/platform-game/checkpoint-bug-fix.png) - -より複雑なソリューションを使用して、強力な表現がいかに強力かを示しています。私の解決策は、変数を使用してプレーヤーのY位置を設定することです。それから、「プレーヤー」の高さから「チェックポイント」の高さを引きます。このようにして、Playerと「チェックポイント」の高さの違いを取得します。変数が返すものからその差を差し引くことで、ソリューションを終了できます。 - -それほど難しくはありませんが、まだ数学を使用している場合は、変数の値から、たとえば30を引きます。 -![](/gdevelop5/tutorials/platform-game/checkpoint-bug-fix-simple.png) - -試行錯誤と一緒に簡単なソリューションを使用すると、最適な数値を見つけることができます。ただし、正確な値を取得するために、使用するもののより複雑な例を示しました。 - -また、Yに値を加算するのではなく、なぜYから減算するのか疑問に思うかもしれません。問題は、「チェックポイント」の高さが「プレイヤー」の高さより低いことです。つまり、プレーヤーを高く設定する必要があるということです。Y軸の値が上から下に向かって増加することに注意してください。Y軸は上部の0から始まります。下に移動するにつれて増加します。技術的には、何かを高くするために低い値が必要です。 :-) - -![](/gdevelop5/tutorials/platform-game/2d-coordinates.png) - -ほとんどの2Dエンジンはこの方法で機能します。座標0,0である左上隅から開始します。X軸に沿って右に行く最初の座標番号を増やします。そして、Y軸で下に行く2番目の座標番号を増やします。これがどのように適用されるかは上の画像で確認できます。 - -ここで、プレビューを実行してプレーヤーが停止すると、その位置は最後に保存された「チェックポイント」値に設定されます。しかし、もう1つのバグがあります!「チェックポイント」と衝突する前にプレーヤーが死亡した場合、変数は値0を返すため、プレーヤーは上のグラフに示されているように、位置0,0(左上隅)で再生成/再表示されます。 - -この問題は、チェックポイント値のデフォルト値をシーンの先頭のプレーヤーの開始位置に設定することで簡単に修正できます。 - -![](/gdevelop5/tutorials/platform-game/checkpoint-bug2-fix.png) - -シーンの開始時には、プレイヤーが既にその位置にいて、プレイヤーの位置を取得し、そのプレイヤーの位置を「チェックポイント」位置として保存することを願っています。プレーヤーがチェックポイントのいずれかと衝突する前に死亡した場合、プレーヤーの元の位置変数を使用して、その位置をシーンの先頭に戻します。 -#### システムの改善 -これまでに学んだことを使用して、チェックポイントに達した場合にテキストを追加してメッセージを表示することができます。次に、サボテンをジャンプさせるアニメーションなどを再生して、もっと面白いものにしましょう。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platform-game/index.md b/docs/ja/gdevelop5/tutorials/platform-game/index.md deleted file mode 100644 index 82d397ba6c6..00000000000 --- a/docs/ja/gdevelop5/tutorials/platform-game/index.md +++ /dev/null @@ -1,178 +0,0 @@ ---- -title: プラットフォーム型ゲームの作り方 ---- -# プラットフォーム型ゲームの作り方 - -このチュートリアルは、**GDevelop**を使い始めるのに役立ちます。プレーヤーが画面に置いた障害物にジャンプしてコインを収集できる、非常にシンプルなプラットフォーム型ゲームを作成します。プラットフォーム型ゲームとは、例えばスーパーマリオのような、キャラクタが画面上に置かれたオブジェクトに乗ったり、ジャンプしてコインを収集したりするアクションゲームのことを総称して言われます。 - -[はじめに](/gdevelop5/getting_started) ページを 読んで、ソフトウェアの概要を確認できます。GDevelopの主要な概念とインターフェースについて説明しています。 - -## GDevelopのダウンロード - -**GDevelop5**を お持ちでない場合は [公式サイト](https://gdevelop.io)からダウンロードできます。Windows、macOS、Linuxで利用できます。 - -必ずこのページからGDevelopをダウンロードして、最新バージョンを入手してください。GDevelopをインストール(または圧縮ファイルを展開)して起動します。 - - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_22.57.02.png) - -## 新しいゲームを作成する - -スタートページで「新しいプロジェクトを作成」を クリックします。「空のプロジェクト」を選択し、新しいゲームを最初から開始します。 - -![](/gdevelop5/tutorials/platform-game/screenshot_20190604200258.png) - -ゲームを作成するには、ゲーム中で使用するグラフィックパーツ(プレイヤーキャラクター、いくつかの配置パーツ、収集するアイテムなど)が必要です。あなたはここにリソースをダウンロードすることができます: http://www.compilgames.net/dl/PlatformerTutorialResources.zip. - -このファイルをダウンロードしたら、プロジェクトを作成したフォルダーにファイルを展開します。 - -## シーンの追加 - -シーンはゲームの一部です。通常、ゲームの各画面はシーンで構成されます。メインメニュー、一時停止メニュー、およびレベルもシーンです。 - -シーンには、画面に表示されるオブジェクトが含まれます。これらのオブジェクトをシーンに配置してレベルを作成できます(これらのオブジェクトは「インスタンス」と呼ばれます)。シーンには、シーンをアニメーション化するために実行されるイベントも含まれます。 - -左側に開いているプロジェクトマネージャーで、「シーン」の下の「+」ボタンをクリックします。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.26.09.png) - -「新しいシーン」と表示されている新しいシーンがリストに追加されます。クリックして開きます。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.30.40.png) - -## プレーヤーオブジェクトの作成 - -プレイヤーは、画面上でジャンプして移動できるキャラクターを動かします。このオブジェクトを作成します。 - -右側には、「オブジェクト」というパネルがあります。「+」ボタンをクリックしてオブジェクトを追加します - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.32.40.png) - -ウィンドウがポップアップ表示され、選択可能なさまざまなタイプのオブジェクトが表示されます。 - -![](/gdevelop5/tutorials/platform-game/gd5_object_types1.png) - -さまざまな種類のオブジェクトが特定の機能を提供します。多くのオブジェクトでは、スプライトオブジェクトを使用します。スプライトオブジェクトは、多くの要素(プレイヤー、画面に配置するブロック、敵、アイテムなど)に使用できるアニメーションオブジェクトです。 - -スプライトリストを クリックします。新しいオブジェクトがシーンに追加され、オブジェクトエディターが開きます。 - -![](/gdevelop5/tutorials/platform-game/screenshot_20190604200645.png) - -オブジェクトは今のところ空です。スプライトオブジェクトはアニメーションで構成され、各アニメーションには1つ以上の画像を含めることができます。アニメーションを追加しましょう!「+」ボタンをクリックします。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.35.50.png) - -アニメーションは追加されますが、画像はなく空のままです。画像を追加するに+は、空白のサムネイルのをクリックします。 - -p1_standプロジェクトフォルダで 呼び出される画像を選択します。画像がオブジェクトに追加されます。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.44.56.png) - -右下隅の「適用」ボタンをクリックして、エディターを閉じることができます。 - -## オブジェクトをシーンに配置します - -画面内でプレーヤーを表示するために、シーンに配置します。シーンに追加する各オブジェクトは、オブジェクトの「インスタンス」と呼ばれます。 - -プレイヤーインスタンスは、通常画面内に1つしか存在しないため、一意になりますが、他のオブジェクト(プラットフォーム、コイン、敵など)は、シーン上に複数のインスタンスを持つことができます。 - -オブジェクトをシーンに追加するには、オブジェクトをリストからシーン内にドラッグアンドドロップするだけです。 - -![](/gdevelop5/tutorials/platform-game/add-player.gif) - -## オブジェクトに適切な名前を付けます - -オブジェクトを参照しやすくするために、デフォルトの名前を使用するのではなく、名前を付けます。それを右クリック(または⋯アイコンをクリック)し、名前変更を選択します。次に、「Player」と入力して画面上の任意の場所をクリックするか、Enterキーを押してオブジェクトの名前を変更します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.53.10.png) - -## 障害物などのアイテムの配置 - -現在のところ、画面上に障害物などのアイテムは画面にありません。いくつか追加しましょう。 - -[オブジェクト] リストの「+」ボタンをクリックして、新しいオブジェクトを作成します。今回、タイルスプライトは、オブジェクトのタイプで選択します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.54.52.png) - -オブジェクトエディタが開きます。タイルスプライトオブジェクトは、アニメーションしないため、スプライトオブジェクトのエディターとは少し異なります。 -「画像の選択」をクリックして、次に「新しい画像を選択」をクリックします。今回は、"grassHalfMid"という画像を選択します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.57.28.png) - -右下隅の「適用」ボタンをクリックして、エディターを閉じます。リスト内のオブジェクトをクリックして選択し、シーンをクリックして画面に配置します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.59.05.png) - -オブジェクトはシーンに追加されますが、非常に小さなものです。それをクリックして、表示されるハンドルを使用して、プレイヤーとのバランスを考慮してサイズを変更します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.00.01.png) - -また、デフォルトの名前ではなく「草原ブロック」のようにオブジェクトの名前を変更することを忘れないでください。 - -### 定期的に保存を忘れずに! - -これまでの作業を失わないようにしましょう。アプリケーションの[ファイル]メニューで[保存]をクリック(またはCtrl + S / Cmd + Sを押し)して変更を保存します。 - - -## オブジェクトにビヘイビア(動作)を追加する - -### プレイヤー - -プレーヤーの動きはGDevelopのイベントを使用して作成できますが、優れた障害物ブロック内を動き回る仕組みを作成するのは非常に長く時間がかかり困難な作業です。幸いなことに、GDevelopにはすでに使用可能な完全な動きのエンジンが組み込まれています。そのためには、組み込み動作エンジンにアクセスして使用できる「プラットフォーマービヘイビアー」を使用する必要があります。 - -「Player」のオブジェクトエディターを開きます。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.02.34.png) - -「ビヘイビア」タブに 切り替えて「+」ボタンをクリックし、オブジェクトに動作を追加します。利用可能なビヘイビアのリストから "Platformer character" を選択します。その後、エディターで動作を確認できます。多くのパラメーターを調整できます。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.04.41.png) - -ジャンプ速度などのプロパティを変更できます。ジャンプをより強力にするために、たとえば800に設定してみましょう。 - - -### 障害物ブロック - -また、オブジェクトを障害物ブロックのように設定する必要があります。プレーヤーはそれらの上を歩いてジャンプできます。そうしないと、キャラクターに着地したときに何をするかをキャラクターに指示しなかったため、プレイヤーはオブジェクトを通り抜けます。オブジェクトをプラットフォームに設定すると、キャラクターはそれと衝突し、その上を歩くことができます。 - -「草原ブロック」オブジェクトをプラットフォームに設定するには、「草原ブロック」のオブジェクトエディターを開きます。[ビヘイビア]タブに切り替えて、動作を追加します。今回は、Platformビヘイビアを選択します。. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.09.42.png) - -変更可能なオプションもいくつかあります。たとえば、「ブロックの端をつかむ」オプションは、プラットフォーマーキャラクターがプラットフォームの端をつかむことを可能にするためにあります。すぐにこのオプションを有効にすると、キャラクターが端をつかんだときに表示されるアニメーションがないため、結果は奇妙に見えます。これをチェックしないでおきましょう。 - - -## プレビューの実行 - -この時点で、ツールバーの画面上部にある「プレビュー」ボタンを押して、ゲームをテストできるはずです。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.13.25.png) - -ボタンを押すと、プレビューが生成され、その直後に新しいウィンドウが開きます。 - -デフォルトのキーを使用して歩き回ったりジャンプしたりできます。矢印キーでキャラクターを動かし、"Shift"または"Space"を押してジャンプします。 -以前と同じように、シーンに他の障害物ブロックをいくつか自由に追加してください。キャラクターが通り抜けないように、配置したものにビヘイビアーを追加することを忘れないで下さい。 - -今のところ、オブジェクトにはアニメーションがありません。後で追加します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.14.18.png) - -オブジェクトが動いていない場合は、適切なビヘイビアを追加したことを確認してください。 - - -## 背景色を変更する - -グレーの背景は少し退屈です。後で画像を追加できますが、今のところは、物事をシンプルにしましょう。エディターで、グレーの背景を右クリックし、「シーンのプロパティ」を選択します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.16.03.png) - -「シーンの背景色の変更」をクリックし、背景の素敵な色を選択します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.18.08.png) - - -## 次のステップ:プレイヤーのアニメーション - -私たちのゲームは現時点では非常に基本的なものであり、プレイヤーはジャンプや実行中にアニメーションしません。チュートリアルの次の部分では、さまざまなアニメーションを追加する方法と、プレーヤーの状態が変化したときにイベントを使用してアニメーションを変更する方法を示します。 - -➡️ **[チュートリアルの続きはこちら!](/ja/gdevelop5/tutorials/platform-game/2-player-animations)** \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platformer/index.md b/docs/ja/gdevelop5/tutorials/platformer/index.md deleted file mode 100644 index 60681e4197c..00000000000 --- a/docs/ja/gdevelop5/tutorials/platformer/index.md +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: プラットフォーマー チュートリアル Part 1:さあ、はじめよう ---- -# プラットフォーマー チュートリアル Part 1:さあ、はじめよう - -このチュートリアルでは、GDevelop を使ったプラットフォーマーゲームの作り方を説明します。GDevelop でゲームを作ったことが一度もない人にとっては、最高の初体験になるでしょう。 - -次の内容を含んでいます。 - -- プラットフォーム、敵、収集コインを含むレベルデザイン術。 -- 移動し、ジャンプし、敵をやっつけるプレイヤーキャラクターの作成。 -- 死んだときにチェックポイントへ戻してプレイを継続する方法。 - -## シリーズ - -いま読んでいるのは[プラットフォーマー チュートリアル](/ja/gdevelop5/tutorials/platformer)の **Part 1** です。 - -1. プラットフォーマー チュートリアル Part 1 -2. [プラットフォーマー チュートリアル Part 2](/ja/gdevelop5/tutorials/platformer/part-2) -3. [プラットフォーマー チュートリアル Part 3](/ja/gdevelop5/tutorials/platformer/part-3) -4. [プラットフォーマー チュートリアル Part 4](/ja/gdevelop5/tutorials/platformer/part-4) -5. [プラットフォーマー チュートリアル Part 5](/ja/gdevelop5/tutorials/platformer/part-5) -6. [プラットフォーマー チュートリアル Part 6](/ja/gdevelop5/tutorials/platformer/part-6) -7. [プラットフォーマー チュートリアル Part 7](/ja/gdevelop5/tutorials/platformer/part-7) -8. [プラットフォーマー チュートリアル Part 8](/ja/gdevelop5/tutorials/platformer/part-8) - -## ステップ 1:GDevelop のインストール - -まだ GDevelop を入手していなければ、いまダウンロードしてインストールしましょう。くわしいインストール手順は[はじめに](/gdevelop5/getting_started)のページを参照してください。 - -## ステップ 2:ゲームアセットのダウンロード - -「アセット」という用語は、ゲームで使用するオーディオやビジュアルメディアを指します。効果音やスプライトなどが、それです。どんなゲームにもアセットが必要です。人生をちょっぴり楽にするため、このチュートリアルに必要なアセットをあらかじめ用意しておきました。 - -次の URL からダウンロードしてください。 - -http://www.compilgames.net/dl/PlatformerTutorialResources.zip - -!!! note - - これとは違うアセットを使うのも、大歓迎です。ただしその場合、当然ですがこのチュートリアルで掲載するスクリーンショットとあなたの作るゲームは違う見た目になるでしょう。 - -## ステップ 3:新しいプロジェクトを作成する - -GDevelop では、_プロジェクト_がゲームのアセットやロジックの容れ物になります。このチュートリアルで「プロジェクト」といえば、だいたい「ゲーム」と同じ意味だと思ってください。 - -ではプロジェクトを以下の手順で作成しましょう。 - -1. GDevelop を起動します。 -2. **新しいプロジェクトを作成する**を選択します。 -3. プロジェクト用のフォルダーを指定します。 -4. **空のゲーム**を選択します。 - -![](/gdevelop5/tutorials/platformer/create-project.gif) - -## ステップ 4:ゲームにシーンを追加する - -ゲームは_シーン_の集まりで構成されます。ふつうは各シーンがゲーム内の違う画面を担当します。たとえばメインメニュー、ポーズメニュー、各レベルはどれも違うシーンになります。 - -シーンは次の手順で追加します。 - -1. **シーン**パネルを展開します(もしまだ展開していなければ)。 -2. **クリックしてシーンを追加**を選択します。 - -追加したシーンを選んで、開きましょう。 - -![](/gdevelop5/tutorials/platformer/add-scene.gif) - -!!! note - - プロジェクトに複数のシーンを追加すると、一覧の先頭のシーンが、ゲーム開始時に GDevelop がロードする最初のシーンになります。 - -## ステップ 5:シーンにオブジェクトを追加する - -シーンは[オブジェクト](/gdevelop5/objects)の集まりで構成されます。ユーザーが目にするものや操作するものは、すべてオブジェクトです。プレイヤーキャラクター、敵、背景パーツなど全部そうです。 - -GDevelop には、いろいろな種類のオブジェクトが用意されています。オブジェクトの種類によって、用途と機能が違います。一番よく使われるオブジェクトはスプライトでしょう。これは画像を表示し、(オプションで)アニメーションさせることができます。 - -スプライトは次の手順で作成します。 - -1. **オブジェクト**パネルの**新しいオブジェクトを追加**をクリックします。 -2. **スプライト**を選択します。 -3. **オブジェクト名**フィールドに「Cloud」と入力します。 -4. 開いているオブジェクトエディターの**アニメーションを追加**をクリックします。ラベルには**_アニメーション_を追加**と書いてありますが、スプライトオブジェクトは必ずアニメーションするとは限りません。 -5. **追加**をクリックします。 -6. アセットの「cloud2.png」を選択します。 -7. **適用**を選択します。 - -「Cloud」オブジェクトをシーンにドラッグして、1 個以上コピーします。 - -![](/gdevelop5/tutorials/platformer/add-object-instance.gif) - -!!! note - - シーンに配置したオブジェクトの各コピーのことを、オブジェクトの_インスタンス_と呼びます。 - -## ステップ 6:背景色を変更する - -グレーの背景の上では、白い雲はあまり見栄えがよくありません。 - -シーンの背景色をもっとましな色に変更しましょう。 - -1. シーンの背景を右クリックします。 -2. **シーンプロパティ**を選択します。 -3. **シーンの背景色**をクリックします。 -4. いい感じの青を選びます。 - -![](/gdevelop5/tutorials/platformer/set-scene-background-color.jpg) - -## ステップ 7:ゲームをプレビューする - -定期的にゲームをプレビューして確認する癖をつけるのは、よいことです。息抜きにもなるし、バグを見つけるのが簡単になります。 - -ゲームのプレビューを起動するには、ツールバーの**プレビュー**ボタンをクリックします。 - -![](/gdevelop5/tutorials/platformer/preview-button.jpg) - -プレビューを停止するには、プレビューウィンドウを閉じます。 - -## ステップ 8:ゲームを保存する - -定期的にゲームを保存する癖をつけるのは、これまたよいことです。ゲームの保存は**ファイル**メニューからおこなうか、次のキーボードショートカットを使います。 - -- Windows の場合は `Ctrl` + `S` -- macOS の場合は `Cmd` + `S` - -## 次のステップ - -次は[プラットフォーマー チュートリアル Part 2](/ja/gdevelop5/tutorials/platformer/part-2) で、プレイヤーキャラクターの作り方をご説明します。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platformer/part-2.md b/docs/ja/gdevelop5/tutorials/platformer/part-2.md deleted file mode 100644 index 3aa59f933ad..00000000000 --- a/docs/ja/gdevelop5/tutorials/platformer/part-2.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: プラットフォーマー チュートリアル Part 2:プレイヤーキャラクターを作ろう ---- -# プラットフォーマー チュートリアル Part 2:プレイヤーキャラクターを作ろう - -今回はプレイヤーキャラクターの作り方を説明します。 - -次の内容を含んでいます。 - -- プレイヤーキャラクターを表示するオブジェクトを作成する -- 矢印キーでオブジェクトを操作できるようにする -- カメラにプレイヤーキャラクターを追いかけさせる - -## シリーズ - -いま読んでいるのは[プラットフォーマー チュートリアル](/ja/gdevelop5/tutorials/platformer)の **Part 2** です。 - -1. [プラットフォーマー チュートリアル Part 1](/ja/gdevelop5/tutorials/platformer) -2. プラットフォーマー チュートリアル Part 2 -3. [プラットフォーマー チュートリアル Part 3](/ja/gdevelop5/tutorials/platformer/part-3) -4. [プラットフォーマー チュートリアル Part 4](/ja/gdevelop5/tutorials/platformer/part-4) -5. [プラットフォーマー チュートリアル Part 5](/ja/gdevelop5/tutorials/platformer/part-5) -6. [プラットフォーマー チュートリアル Part 6](/ja/gdevelop5/tutorials/platformer/part-6) -7. [プラットフォーマー チュートリアル Part 7](/ja/gdevelop5/tutorials/platformer/part-7) -8. [プラットフォーマー チュートリアル Part 8](/ja/gdevelop5/tutorials/platformer/part-8) - -## ステップ 1:オブジェクトを作成する - -最初に、プレイヤーキャラクターを表示するオブジェクトを作成します。チュートリアルの Part 1 をお読みになっていれば、手順はもうお分かりでしょう。 - -プレイヤーキャラクター用のオブジェクトを作成する手順は次の通りです。 - -1. 「Player」という名前の**スプライト**オブジェクトを作成します。 -2. アニメーションの唯一のフレームとして「p1_stand.png」アセットを使います。 -3. アニメーションの名前に「Idle」(待機)と入力します。 -4. オブジェクトをシーンにドラッグしてインスタンスを配置します。 - -![](/gdevelop5/tutorials/platformer/player-object.jpg) - -!!! note - - キャラクターをアニメーションさせる方法は[プラットフォーマー チュートリアル Part 4](/ja/gdevelop5/tutorials/platformer/part-4) で説明します。 - -## ステップ 2:オブジェクトにビヘイビアを追加する - -ゲームをプレビューすると分かりますが、この「Player」オブジェクトはまだ操作できません。なぜなら、デフォルトのままではオブジェクトは何もしないからです。オブジェクトに何かさせるには、1 つ以上の[ビヘイビア](/ja/gdevelop5/behaviors)を割り当てる必要があります。 - -GDevelop には数クリックでオブジェクトに追加できるビヘイビアがたくさん付属しています。そのひとつに**プラットフォーマーキャラクター**ビヘイビアがあり、これを使うとオブジェクトをプレイヤーキャラクターとして操作できるようになります。 - -では以下の手順で**プラットフォーマーキャラクター**ビヘイビアをオブジェクトに追加しましょう。 - -1. オブジェクトパネル上で **Player** オブジェクトを右クリックします。 -2. **オブジェクトを編集**を選択します。 -3. **ビヘイビア**タブに切り替えます。 -4. **オブジェクトにビヘイビアを追加**をクリックします。 -5. **プラットフォーマーキャラクター**を選択します。 -6. **適用**をクリックします。 - -ゲームをプレビューすると、矢印キーでキャラクターを操作できるはずです。ただし、これには副作用があります。**プラットフォーマーキャラクター**ビヘイビアは重力の影響を受けるため、今の状態ではプレイヤーキャラクターがあっという間にフレームから落ちていってしまいます。 - -![](/gdevelop5/tutorials/platformer/platformer-character-behavior-preview.gif) - -## ステップ 3:カメラにオブジェクトを追いかけさせる - -キャラクターがフレームから落ちるのを防ぐために、プラットフォーム(足場)が必要です。それから、プレイヤーを追いかけるカメラも。[チュートリアルの次の章](/gdevelop5/tutorials/platformer/part-3)では、プラットフォームを作ります。なので、ここではカメラを作りましょう。 - -プレイヤーを追いかけるカメラの作成には、[イベント](/ja/gdevelop5/events)を使います。GDevelop のイベントには、原因と結果を定義できます。すなわち、何かが起きると(原因)別の何かが引き起こされる(結果)ように設定するのです。 - -イベントは 2 つの部分から構成されます。条件とアクションです。条件はイベントがいつ実行されるかを定義し、アクションはイベントが実行されると何が起きるのかを定義します。 - -GDevelop は、ゲームに必要と思われるあらゆる種類の条件とアクションを取り揃えています。ここで利用できる選択肢を把握することが、GDevelop を使いこなす上で重要な位置を占めています。今回の場合で言うと、このゲームには**オブジェクトの中央にカメラを合わせる**というアクションがぴったりです。 - -**オブジェクトの中央にカメラを合わせる**アクションを追加する手順は、次の通りです。 - -1. イベントエディターを開きます。 -2. **新しいイベントを追加**をクリックします。 -3. 条件を指定せずに、**アクションを追加**をクリックします。条件を指定しないと、アクションは無条件に毎フレーム実行されます。したがって、ゲームが毎秒 60 フレームで実行されたなら、アクションも毎秒 60 回実行されます。 -4. **その他のアクション**をクリックします。 -5. **レイヤーとカメラ**を展開します。 -6. **オブジェクトの中央にカメラを合わせる**を選択します。 -7. 「Player」オブジェクトを選択します。 -8. **OK**をクリックします。 - -![](/gdevelop5/tutorials/platformer/center-camera-event.jpg) - -ゲームをプレビューすると、キャラクターはやっぱり落下するでしょう。プラットフォームがまだありませんから。でもカメラは、キャラクターを追いかけ続けるはずです。その結果、今度はキャラクターが画面から消えることはありません。 - -![](/gdevelop5/tutorials/platformer/center-camera-on-object-preview.gif) - -## 次のステップ - -次は[プラットフォーマー チュートリアル Part 3](/ja/gdevelop5/tutorials/platformer/part-3) で、お待ちしています。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platformer/part-3.md b/docs/ja/gdevelop5/tutorials/platformer/part-3.md deleted file mode 100644 index 0b3bda64a87..00000000000 --- a/docs/ja/gdevelop5/tutorials/platformer/part-3.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: プラットフォーマー チュートリアル Part 3:プラットフォームを作ろう ---- -# プラットフォーマー チュートリアル Part 3:プラットフォームを作ろう - -今回はプラットフォーム(足場)の作り方を説明します。これでプレイヤーがその上を移動したりジャンプできる、しっかりとした土台ができあがります。 - -次の内容を含んでいます。 - -* タイルスプライトオブジェクトの作成 -* プラットフォームをプラットフォームらしくさせる - -## シリーズ - -いま読んでいるのは[プラットフォーマー チュートリアル](/ja/gdevelop5/tutorials/platformer)の **Part 3** です。 - -1. [プラットフォーマー チュートリアル Part 1](/ja/gdevelop5/tutorials/platformer) -2. [プラットフォーマー チュートリアル Part 2](/ja/gdevelop5/tutorials/platformer/part-2) -3. プラットフォーマー チュートリアル Part 3 -4. [プラットフォーマー チュートリアル Part 4](/ja/gdevelop5/tutorials/platformer/part-4) -5. [プラットフォーマー チュートリアル Part 5](/ja/gdevelop5/tutorials/platformer/part-5) -6. [プラットフォーマー チュートリアル Part 6](/ja/gdevelop5/tutorials/platformer/part-6) -7. [プラットフォーマー チュートリアル Part 7](/ja/gdevelop5/tutorials/platformer/part-7) -8. [プラットフォーマー チュートリアル Part 8](/ja/gdevelop5/tutorials/platformer/part-8) - - -## ステップ 1:オブジェクトを作成する - -最初のステップは、プラットフォーム用のオブジェクトを作成することです。チュートリアルの Part 1 と Part 2 をお読みになっていればお分かりの通り、まったく同じではないにしても、これも似たような手順です。 - -主な違いは、このオブジェクトがタイルスプライトオブジェクトである、ということでしょう。これは「領域全体に画像を繰り返し表示する」タイプのオブジェクトで、プラットフォームのような、小さくて四角いイメージ(*タイル*と呼ばれる)の組み合わせで構成される何かに最適です。 - -では次の手順でプラットフォームを作成しましょう。 - -1. **オブジェクト**パネルの**新しいオブジェクトを追加**をクリックします。 -2. **タイルスプライト**を選択します。 -3. **オブジェクト名**フィールドに「GrassPlatform」と入力します。 -4. **画像を選択**をクリックします。 -5. **Choose a new image** をクリックします。 -6. ファイルを開くダイアログが表示されたら、アセットの「grassHalfMid」を選択します。 -7. **適用**をクリックします。 - -オブジェクトをシーンにドラッグして、インスタンスをいくつか配置します。プラットフォームの長さがバラバラになるように、インスタンスの幅を調整してください。 - -![](/gdevelop5/tutorials/platformer/grass-platform-resize.gif) - -## ステップ 2:オブジェクトにビヘイビアを追加する - -シーンにプラットフォームを追加しただけでは、十分ではありません。プレイヤーキャラクターがその上を歩けるように、オブジェクトにビヘイビアを追加する必要があります。ありがたいことに、GDevelop にはその名も**プラットフォーム**という、おあつらえ向きのビヘイビアがあります。 - -![](/gdevelop5/tutorials/platformer/platform-behavior.jpg) - -オブジェクトに**プラットフォーム**ビヘイビアを追加しましょう。 - -1. 「GrassPlatform」オブジェクトの**ビヘイビア**タブを開きます。 -2. **オブジェクトに新しいビヘイビアを追加**をクリックして、**プラットフォームビヘイビア**を選択します。 -3. **適用**をクリックします。 - -![](/gdevelop5/tutorials/platformer/grass-platform-add-behavior.jpg) - -ゲームをプレビューすると、プレイヤーがプラットフォームの上を移動できるようになっているはずです。 - -![](/gdevelop5/tutorials/platformer/grass-platform-behavior.gif) - -## ステップ 3:違う種類のプラットフォームを作成する - -GDevelop には**ジャンプスループラットフォーム**ビヘイビアというものもあります。このビヘイビアは、プレイヤーがプラットフォームの真下からジャンプして(プラットフォームに跳ね返されずに)上に上がれるようにします。これはレベルに多様性をもたらしてくれます。 - -**ジャンプスループラットフォーム**ビヘイビアは次の手順で作成します。 - -1. 「SmallBridge」という名前の**タイルスプライト**オブジェクトを作成します。 -2. オブジェクトのイメージに「bridgeLogs.png」アセットを使います。 -3. **ビヘイビア**タブを開きます。 -4. **オブジェクトに新しいビヘイビアを追加**をクリックして、**プラットフォームビヘイビア**を選択します。 -6. **タイプ**ドロップダウンリストから**ジャンプスループラットフォーム**を選択します。 -7. **適用**をクリックします。 - -オブジェクトをシーンにドラッグしてインスタンスをいくつか配置します。 - -![](/gdevelop5/tutorials/platformer/jump-thru-platform-preview.gif) - -## 次のステップ - -次は[プラットフォーマー チュートリアル Part 4](/ja/gdevelop5/tutorials/platformer/part-4) で、お待ちしています。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platformer/part-4.md b/docs/ja/gdevelop5/tutorials/platformer/part-4.md deleted file mode 100644 index 556ff94eb49..00000000000 --- a/docs/ja/gdevelop5/tutorials/platformer/part-4.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: プラットフォーマー チュートリアル Part 4:プレイヤーキャラクターをアニメーションさせよう ---- -# プラットフォーマー チュートリアル Part 4:プレイヤーキャラクターをアニメーションさせよう - -今回はプレイヤーキャラクターにアニメーションをさせる方法を説明します。 - -次の内容を含んでいます。 - -- オブジェクトにアニメーションを追加する -- イベントを使ってアニメーションをトリガーする - -## シリーズ - -いま読んでいるのは[プラットフォーマー チュートリアル](/ja/gdevelop5/tutorials/platformer)の **Part 4** です。 - -1. [プラットフォーマー チュートリアル Part 1](/ja/gdevelop5/tutorials/platformer) -2. [プラットフォーマー チュートリアル Part 2](/ja/gdevelop5/tutorials/platformer/part-2) -3. [プラットフォーマー チュートリアル Part 3](/ja/gdevelop5/tutorials/platformer/part-3) -4. プラットフォーマー チュートリアル Part 4 -5. [プラットフォーマー チュートリアル Part 5](/ja/gdevelop5/tutorials/platformer/part-5) -6. [プラットフォーマー チュートリアル Part 6](/ja/gdevelop5/tutorials/platformer/part-6) -7. [プラットフォーマー チュートリアル Part 7](/ja/gdevelop5/tutorials/platformer/part-7) -8. [プラットフォーマー チュートリアル Part 8](/ja/gdevelop5/tutorials/platformer/part-8) - - -## ステップ 1:プレイヤーにジャンプするアニメーションを追加する - -GDevelop ではオブジェクトにアニメーションを追加して、そのアニメーションを(プレイヤーがジャンプしたときのような)何かのきっかけを合図にトリガーすることができます。 - -### 「Player」オブジェクトに「Jumping」アニメーションを追加する - -「Player」オブジェクトにジャンプするアニメーションを追加する手順は次の通りです。 - -1. **オブジェクト**パネル上で **Player** オブジェクトを右クリックします。 -2. **オブジェクトを編集**を選択します。 -3. **アニメーションを追加**をクリックします。 -4. アニメーションの名前に「Jumping」(ジャンプ)と入力します。 -5. **追加**をクリックします。 -6. ファイルを開くダイアログが表示されたら、アセットの「p1_jump.png」を選択します。 - -![](/gdevelop5/tutorials/platformer/part-4-01.jpg) - -これでオブジェクトにアニメーションは追加されましたが、それをトリガーするものが何もないのでまだ再生しない状態です。 - -### 「Jumping」アニメーションをトリガーする - -「Jumping」アニメーションをトリガーする手順は次の通りです。 - -1. イベントエディターに切り替えます。 -2. 新しいイベントを作成します。 -3. 「Player」オブジェクトの**ジャンプ中である**条件を追加します。 -4. **名前でアニメーションを変更する**アクションをイベントに追加します。 -5. **アニメーションの名前**フィールドに「"Jumping"」と入力します。名前を二重引用符でくくるのをお忘れなく(つまり `"Jumping"` です)。 -6. **OK**をクリックします。 - -![](/gdevelop5/tutorials/platformer/part-4-02.jpg) - -ここまでの変更によって、ジャンプするアニメーションがトリガーされるようになりました。 - -![](/gdevelop5/tutorials/platformer/part-4-03.gif) - -## ステップ 2:プレイヤーに待機アニメーションを追加する - -ジャンプするアニメーションには、ひとつ問題があります。プレイヤーがジャンプし終わっても、リセットされないのです。これを改善するには、プレイヤーが着地したときに「待機」アニメーションをトリガーするようにします。 - -### プレイヤーの接地状態を検出する - -GDevelop はプラットフォームの表面を_地面_として認識します。 - -オブジェクトの接地状態は、次の手順で検出できます。 - -1. 新しいイベントを作成します。 -2. 「Player」オブジェクトの**は地面上にいる**条件を追加します。 - -![](/gdevelop5/tutorials/platformer/part-4-04.jpg) - -### プレイヤーの静止状態を検出する - -「待機」アニメーションをトリガーするときは、プレイヤーが静止していないと困ります。次のステップで説明しますが、プレイヤーがもし移動していたら「走り」アニメーションをトリガーすべきなので。 - -次の手順で、プレイヤーが移動していないことを確認します。 - -1. 「Player」オブジェクトの**は動いている**条件を追加します。 -2. **条件を反転**オプションを_オン_に切り替えます。 - -**条件を反転**オプションには、条件のテスト結果を反転させる作用があります。したがって**は動いている**条件は、今や**は動いていない**条件に変わったということです。 - -![](/gdevelop5/tutorials/platformer/part-4-05.jpg) - -### 「Idle」アニメーションをトリガーする - -ここまでの条件を両方満たしたときこそ、「待機」アニメーションをトリガーすべきときです。 - -1. **名前でアニメーションを変更する**アクションを追加します。 -2. **アニメーションの名前**フィールドに「"Idle"」と入力します。名前を二重引用符でくくるのをお忘れなく(つまり `"Idle"` です)。 - -![](/gdevelop5/tutorials/platformer/part-4-06.jpg) - -ゲームをプレビューすると、ジャンプした後「Player」オブジェクトが「待機」アニメーションにリセットされるはずです。 - -![](/gdevelop5/tutorials/platformer/part-4-jumping-with-idle-animation.gif) - -## ステップ 3:プレイヤーに走るアニメーションを追加する - -### 「Player」オブジェクトに「Running」アニメーションを追加する - -1. 「Player」オブジェクトに「Running」と名付けたアニメーションを追加します。 -2. ファイルを開くダイアログが表示されたら、以下のアセットをすべて選択します。 - - - p1_walk03.png - - p1_walk04.png - - p1_walk05.png - - p1_walk06.png - - p1_walk07.png -3. **ループ**オプションにチェックを入れます。このオプションを有効にすると、アニメーションを(一回だけ再生して停止するのではなく)連続再生するようになります。 -4. **適用**をクリックします。 - -![](/gdevelop5/tutorials/platformer/part-4-07.jpg) - -### 「Running」アニメーションをトリガーする - -1. 新しいイベントを作成します。 -2. 「Player」オブジェクトの**は地面上にいる**条件を追加します。 -3. 「Player」オブジェクトの**は動いている**条件を追加します。 -4. **名前でアニメーションを変更する**アクションをイベントに追加します。 -5. **アニメーションの名前**フィールドに「"Running"」と入力します。名前を二重引用符でくくるのをお忘れなく(つまり `"Running"` です)。 -6. **OK**をクリックします。 - -![](/gdevelop5/tutorials/platformer/part-4-08.jpg) - -ゲームをプレビューすると、プレイヤーが移動したときに「走り」アニメーションが再生されます。 - -![](/gdevelop5/tutorials/platformer/part-4-running-animation.gif) - -## 次のステップ - -次は[プラットフォーマー チュートリアル Part 5](/ja/gdevelop5/tutorials/platformer/part-5) です。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platformer/part-5.md b/docs/ja/gdevelop5/tutorials/platformer/part-5.md deleted file mode 100644 index 5da25b6751f..00000000000 --- a/docs/ja/gdevelop5/tutorials/platformer/part-5.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: プラットフォーマー チュートリアル Part 5:収集コインをゲームに追加しよう ---- -# プラットフォーマー チュートリアル Part 5:収集コインをゲームに追加しよう - -今回は収集コインをゲームに追加する方法を説明します。 - -次の内容を含んでいます。 - -- プレイヤーが接触したときにオブジェクトを削除する(サウンドも再生する) -- 変数を使ってデータを管理する -- シーンにテキストを追加する - -## シリーズ - -いま読んでいるのは[プラットフォーマー チュートリアル](/ja/gdevelop5/tutorials/platformer)の **Part 5** です。 - -1. [プラットフォーマー チュートリアル Part 1](/ja/gdevelop5/tutorials/platformer) -2. [プラットフォーマー チュートリアル Part 2](/ja/gdevelop5/tutorials/platformer/part-2) -3. [プラットフォーマー チュートリアル Part 3](/ja/gdevelop5/tutorials/platformer/part-3) -4. [プラットフォーマー チュートリアル Part 4](/ja/gdevelop5/tutorials/platformer/part-4) -5. プラットフォーマー チュートリアル Part 5 -6. [プラットフォーマー チュートリアル Part 6](/ja/gdevelop5/tutorials/platformer/part-6) -7. [プラットフォーマー チュートリアル Part 7](/ja/gdevelop5/tutorials/platformer/part-7) -8. [プラットフォーマー チュートリアル Part 8](/ja/gdevelop5/tutorials/platformer/part-8) - - -## ステップ 1: 収集コインを作成する - -最初に、プレイヤーが収集できるコインを作成します。このステップは 2 つのパートに分けられます。コインの作成をする部分と、プレイヤーの接触を感知するイベントによってコインを収集可能にする部分です。 - -### コインのオブジェクトを作成する - -1. 「Coin」という名前の**スプライト**オブジェクトを作成します。 -2. オブジェクトの画像にアセットの「coin.png」を指定します。 -3. オブジェクトをシーンにドラッグして、1 個以上のインスタンスを配置します。 - -![](/gdevelop5/tutorials/platformer/05-01-coin-object.jpg) - -!!! note - - シーンに配置済みのコインを複製するには、`Ctrl` キー(macOS の場合は `Cmd` キー)を押しながら、コインのインスタンスをドラッグします。 - -### コインを収集可能にする - -1. 新しいイベントを作成します。 -2. 「Player」オブジェクトの**衝突**条件をイベントに追加して、「Coin」との接触をテストします。 -3. **オブジェクトを削除する**アクションをイベントに追加して、「Coin」オブジェクトを削除するように設定します。 -4. **サウンドを再生する**アクションをイベントに追加して、プレイヤーがコインを収集したときの効果音を再生します(効果音には「coin.wav」アセットを使います)。 - -![](/gdevelop5/tutorials/platformer/05-02-coin-collectible.jpg) - -ゲームをプレビューして、プレイヤーがコインと接触するとコインが消えて効果音が鳴ることを確認しましょう。 - -![](/gdevelop5/tutorials/platformer/05-02-collect-coin-preview.gif) - -## ステップ 2: 収集コインを管理する - -ユーザーがコインを収集するたびに、プレイヤーが獲得したコインの数を更新して記憶しておく必要があります。そのために、[変数](/ja/gdevelop5/all-features/variables)を使います。 - -変数とは、データを格納する容れ物のことです。代数を習ったことがある人なら、変数はおなじみのはずです。よく「x」とか「y」とかの文字で表されていた、アレです。 - -GDevelop には 3 種類の変数があります。 - -* オブジェクト変数 -* シーン変数 -* グローバル変数 - -変数の種類それぞれについての詳しい説明はこのチュートリアルの取り扱い範囲を超えるため、[変数のスコープ](http://wiki.compilgames.net/doku.php/ja/gdevelop5/all-features/variables#スコープ)で違いを確認してみてください。今回の場合は、シーン変数を使うのがいいでしょう。この変数は、シーンのあいだじゅう存在し続けます。 - -集めたコインの数を管理するシーン変数の作り方は、次の通りです。 - -1. **シーン変数の値**アクション(変数カテゴリーの下にあります)を、手前で作成したイベントに追加します。 -2. **変数**フィールドに「Score」と入力します。これが変数の名前になります。 -3. **変更記号**ドロップダウンリストから**+(足す)**を選択します。 -4. **値**フィールドに「1」と入力します(二重引用符は要りません)。 -5. **OK**をクリックします。 - -![](/gdevelop5/tutorials/platformer/05-03-scene-variable.jpg) - -これでプレイヤーが集めたコインの数を管理できるようになりました。ただし、コインの数は(まだ)画面に表示されません。 - -## ステップ 3: 集めたコインの数を表示する - -集めたコインの数を表示するには、テキストを表示するオブジェクトと、そこに表示するテキストを更新するイベントが必要です。 - -### テキストを表示するオブジェクトを作成する - -1. 「Score」という名前の**テキスト**オブジェクトを作成します。 -2. **最初に表示するテキスト**フィールドに「スコア:0」と入力します。これがオブジェクトに表示されるデフォルトのテキストになります。 -3. **適用**をクリックします。 -4. オブジェクトをシーンにドラッグしてインスタンスを配置します。 - -![](/gdevelop5/tutorials/platformer/05-04-text-object.jpg) - -### 集めたコインの数で「Score」オブジェクトを更新する - -コイン数を表示するテキストを更新する前に、ここで[式](/ja/gdevelop5/expressions)について確認しておきましょう。 - -GDevelop の式は、表計算ソフトの数式や、プログラミング言語の関数のようなものです。式には値を渡して、結果の値を受け取ることができます。 - -たとえば「Score」変数の値を取得するための `Variable` 式は次のようになります。 - -``` -Variable(Score) -``` - -「Score」変数は数値を格納しているので、この式は数値を返します。数値は `ToString` 式を使って文字列に変換できます。 - -``` -ToString(Variable(Score)) -``` - -式は GDevelop の最も高度な、そして最もパワフルな概念のひとつです。この概念をすぐに理解できなかったとしても、心配しないでください。このチュートリアルにしたがって、式を*実際に使う*のが秘訣です。実践ほど役に立つものはありません。 - -集めたコインの数で「Score」オブジェクトを更新する方法は、次の通りです。 - -1. 新しいイベントを作成します。 -2. 条件を指定せずに、「Score」オブジェクトに対する**テキストを修正する**アクションを追加します。条件を指定しないと、アクションは必ず毎フレーム実行されます。これによって、スコアを常に正確に表示できます。 -3. **変更記号**ドロップダウンリストから**=(代入)**を選択します。 -4. **値**フィールドに `"スコア:" + ToString(Variable(Score))` と入力します。`ToString` と `Variable` 式で、集めたコインの数値を文字列に変換しています。また `+` 演算子で 2 つの文字列を 1 つに連結しています。 -5. **OK**をクリックします。 - -![](/gdevelop5/tutorials/platformer/05-05-modify-text-object.jpg) - -ゲームをプレビューすると、収集コインが画面に表示されます。 - -![](/gdevelop5/tutorials/platformer/05-06-score-preview.gif) - -!!! tip - - 値フィールドの脇に表示される青いアイコンをクリックすると、_式エディター_が表示されます。 - - ![](/gdevelop5/tutorials/platform-game/expression-icon.png) - - カテゴリー別に分類された利用可能なすべての式を、そこで検索できます。 - - ![](/gdevelop5/tutorials/platform-game/expression-editor.png) - - -### テキストを別のレイヤーに移動する - -「Score」オブジェクトには問題が一つあります。集めたコインの数は、プレイヤーが特定の位置にいるあいだだけ見えていて、プレイヤーが移動すると画面から外れてしまうのです。 - -この問題を解決するには、「Score」オブジェクトを別のレイヤーに移動する必要があります。 - -1. **レイヤーエディターを開く**アイコンをクリックします。 -2. **レイヤーを追加**をクリックします。 -3. レイヤー名に「UI」と入力します。 -4. シーンエディターの「Score」インスタンスを選択します。 -5. プロパティパネルの**レイヤー**ドロップダウンリストから**UI**を選択します。 - -![](/gdevelop5/tutorials/platformer/05-07-change-layer.gif) - -ゲームをプレビューすると、スコアが同じ位置に固定されているはずです。 - -![](/gdevelop5/tutorials/platformer/05-08-score-ui-layer-preview.gif) - -## 次のステップ - -次は[プラットフォーマー チュートリアル Part 6](/ja/gdevelop5/tutorials/platformer/part-6) です。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platformer/part-6.md b/docs/ja/gdevelop5/tutorials/platformer/part-6.md deleted file mode 100644 index 302f365b8a7..00000000000 --- a/docs/ja/gdevelop5/tutorials/platformer/part-6.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -title: プラットフォーマー チュートリアル Part 6:敵をゲームに追加しよう ---- -# プラットフォーマー チュートリアル Part 6:敵をゲームに追加しよう - -今回は決まったルートを行ったり来たりする敵の作り方を説明します。チュートリアルの次章では、ここで作る敵をやっつける――もしくは、やっつけられる――方法を説明する予定です。 - -## シリーズ - -いま読んでいるのは[プラットフォーマー チュートリアル](/ja/gdevelop5/tutorials/platformer)の **Part 6** です。 - -1. [プラットフォーマー チュートリアル Part 1](/ja/gdevelop5/tutorials/platformer) -2. [プラットフォーマー チュートリアル Part 2](/ja/gdevelop5/tutorials/platformer/part-2) -3. [プラットフォーマー チュートリアル Part 3](/ja/gdevelop5/tutorials/platformer/part-3) -4. [プラットフォーマー チュートリアル Part 4](/ja/gdevelop5/tutorials/platformer/part-4) -5. [プラットフォーマー チュートリアル Part 5](/ja/gdevelop5/tutorials/platformer/part-5) -6. プラットフォーマー チュートリアル Part 6 -7. [プラットフォーマー チュートリアル Part 7](/ja/gdevelop5/tutorials/platformer/part-7) -8. [プラットフォーマー チュートリアル Part 8](/ja/gdevelop5/tutorials/platformer/part-8) - - -## ステップ 1:敵オブジェクトを作成する - -1. 「Slime」という名前のスプライトオブジェクトを作成します。 -2. 以下のアセットを使って、オブジェクトにアニメーションを追加します。 - - - slimeWalk1.png - - slimeWalk2.png -3. **ループ**オプションにチェックを入れます。 -4. オブジェクトをシーンにドラッグしてインスタンスを配置します。 - -![](/gdevelop5/tutorials/platformer/06-01.jpg) - -ゲームをプレビューすると、画面にアニメーションする敵が表示されます。 - -![](/gdevelop5/tutorials/platformer/06-02.gif) - -## ステップ 2:敵を右に移動させる - -このチュートリアルの前の章で、変数には 3 種類あると説明しました。 - -- オブジェクト -- シーン -- グローバル - -このうち、_オブジェクト_変数は特定のオブジェクトに関連付けされた変数です。これはつまり、この変数が保持する値は関連付けされたオブジェクトのみで利用できる――そして、そのオブジェクトのみに関係する――ということです。 - -では「Slime」オブジェクトに、次の手順でオブジェクト変数を追加しましょう。 - -1. オブジェクトパネルの「Slime」オブジェクトを右クリックします。 -2. **オブジェクト変数を編集**を選択します。 -3. 「方向」という名前の変数を追加し、値に「右」と入力します。これが変数のデフォルト値になります。 -4. **適用**をクリックします。 - -この「方向」変数は、敵の現在の方向を保持するのに使います。この後のステップで、変数の値を変更すると敵の向きも変わるようにする予定です。 - -![](/gdevelop5/tutorials/platformer/06-03.jpg) - -敵が右を向くようにするために、イベントを作成します。 - -1. イベントエディターを開きます。 -2. 新しいイベントを作成します。 -3. 条件を作成して、「Slime」オブジェクトの**オブジェクト変数のテキスト**条件を選択します。 -4. **変数**フィールドに「方向」と入力します。 -5. **テスト記号**フィールドから**=(と等しい)**を選択します。 -6. **比較する値**フィールドに「"右"」と入力します(二重引用符も含めます)。 -7. **OK**をクリックします。 - -![](/gdevelop5/tutorials/platformer/06-04.jpg) - -続いて、イベントにアクションを追加します。 - -1. イベントに**オブジェクトを移動する(角度)**アクションを追加します。(訳注:実際にはこの手前に、新しいイベントを作成して「Slime」オブジェクトの方向変数のテキストが "左" であることをテストする条件の追加が必要と思われる) -2. **オブジェクト**フィールドから「Slime」を選択します。 -3. **角度**フィールドに「0」と入力します。 -4. **速度**フィールドに「100」と入力します。 -5. **瞬間的**オプションを有効にします。 -6. **OK**をクリックします。 - -![](/gdevelop5/tutorials/platformer/06-05.jpg) - -完成したイベントは下図のようになります。 - -![](/gdevelop5/tutorials/platformer/06-06.jpg) - -このイベントにもとづいて、「方向」変数の値が「右」のあいだ「Slime」は右へ移動します。今のところオブジェクトの方向は変わらないので、必然的にプラットフォームの端まで行くとそのまま落ちてしまいます。 - -![](/gdevelop5/tutorials/platformer/06-07.gif) - -## ステップ 3:敵の方向を変更する - -敵の方向を変更するには、シーンに 2 つの見えないオブジェクトを追加する必要があります。ひとつを「右へ」、もうひとつを「左へ」と名付けておきましょう。これを敵の両側に配置します。 - -それから、敵がこのオブジェクトのどちらかに接触したら方向を変えるようにします。これで、あたかも敵が決められた経路に沿って巡回しているかのような幻想が生みだされます。 - -このステップでは、まず「左へ」オブジェクトの作成に焦点を当てます。敵がこのオブジェクトに接触したら、右から左に方向を変えるようにします(これを作り終わったら、次は「右へ」オブジェクトの作成に移ります)。 - -### 「左へ」オブジェクトを作成する - -1. 「左へ」という名前のスプライトオブジェクトを作成します。 -2. デフォルトの画像にアセットの「left.png」を指定します。 -3. オブジェクトをシーンにドラッグしてインスタンスを(敵の右側に)配置します。 - -![](/gdevelop5/tutorials/platformer/06-08.jpg) - -### 敵が「左へ」オブジェクトと接触したことを検知する - -1. 新しいイベントを作成します。 -2. 「Slime」オブジェクトの**衝突**条件をイベントに追加して、「左へ」オブジェクトとの接触をテストします。 - -![](/gdevelop5/tutorials/platformer/06-09.jpg) - -### 「方向」変数の値を変更する - -1. **オブジェクト変数のテキストを修正**アクションをイベントに追加します。 -2. **変数**フィールドに「方向」と入力します。 -3. **変更記号**ドロップダウンリストから**=(代入)**を選択します。 -4. **値**フィールドに「"左"」と入力します(二重引用符も含めます)。 - -![](/gdevelop5/tutorials/platformer/06-10.jpg) - -### 「Slime」オブジェクトを反転させる - -1. **オブジェクトを水平方向に反転させる**アクションをイベントに追加します。 -2. **反転を有効にする**オプションを**はい**に設定します。 - -これで「Slime」オブジェクトが移動する方向が変わるだけでなく、オブジェクト自体の*向きも変わる*ようになります。 - -### 敵の方向を変更する - -1. イベントに**オブジェクトを移動する(角度)**アクションを追加します。(訳注:実際にはこの手前に、新しいイベントを作成して「Slime」オブジェクトの方向変数のテキストが "左" であることをテストする条件の追加が必要と思われる) -2. **オブジェクト**フィールドから「Slime」を選択します。 -3. **角度**フィールドに「180」と入力します。 -4. **速度**フィールドに「100」と入力します。 -5. **瞬間的**オプションを有効にします。 -6. **OK**をクリックします。 - -ゲームをプレビューすると、敵が「左へ」オブジェクトに接触すると向きを変えるはずです。 - -![](/gdevelop5/tutorials/platformer/06-12.gif) - -### 「左へ」オブジェクトを非表示にする - -1. 新しいイベントを作成します。 -2. **シーンが始まった**条件をイベントに追加します。 -3. 「左へ」オブジェクトに**非表示にする**アクションを追加します。 - -![](/gdevelop5/tutorials/platformer/06-11.jpg) - -ゲームをプレビューすると、まるで敵が自分の「判断」で向きを変えるように見えるでしょう。 - -![](/gdevelop5/tutorials/platformer/06-13.gif) - -## ステップ 4:敵の方向を変更する(2 度目) - -今のところ、敵が「左へ」オブジェクトに接触したら、右から左へ方向を変えて、そのままずっと左へ移動し続けます。そこでもう一度方向を変えるように、今度は「右へ」オブジェクトを作成することにします。このオブジェクトは「左へ」オブジェクトとほぼ同じで、下記の部分だけが異なります。 - -- 画像にはアセットの「right.png」を指定する -- 「Slime」オブジェクトが「右へ」オブジェクトと接触したとき、「方向」変数には "右" を代入する -- **オブジェクトを水平方向に反転させる**アクションの**反転を有効にする**オプションは**いいえ**に設定する - -この通り作成したら、「右へ」オブジェクトをシーンにドラッグしてインスタンスを敵の左側に配置します。 - -![](/gdevelop5/tutorials/platformer/06-14.jpg) - -ゲームをプレビューすると、敵が見えないマーカーのあいだを行ったり来たりするようになります。 - -![](/gdevelop5/tutorials/platformer/06-15.gif) - -## 次のステップ - -次は[プラットフォーマー チュートリアル Part 7](/ja/gdevelop5/tutorials/platformer/part-7) です。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platformer/part-7.md b/docs/ja/gdevelop5/tutorials/platformer/part-7.md deleted file mode 100644 index 0c0ccefd32d..00000000000 --- a/docs/ja/gdevelop5/tutorials/platformer/part-7.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: プラットフォーマー チュートリアル Part 7:敵がプレイヤーを殺せる(そしてプレイヤーも敵を殺せる)ようにしよう ---- -# プラットフォーマー チュートリアル Part 7:敵がプレイヤーを殺せる(そしてプレイヤーも敵を殺せる)ようにしよう - -今回は、敵をやっつける――そして敵にもプレイヤーをやっつけさせる――方法を説明します。 - -## シリーズ - -いま読んでいるのは[プラットフォーマー チュートリアル](/ja/gdevelop5/tutorials/platformer)の **Part 7** です。 - -1. [プラットフォーマー チュートリアル Part 1](/ja/gdevelop5/tutorials/platformer) -2. [プラットフォーマー チュートリアル Part 2](/ja/gdevelop5/tutorials/platformer/part-2) -3. [プラットフォーマー チュートリアル Part 3](/ja/gdevelop5/tutorials/platformer/part-3) -4. [プラットフォーマー チュートリアル Part 4](/ja/gdevelop5/tutorials/platformer/part-4) -5. [プラットフォーマー チュートリアル Part 5](/ja/gdevelop5/tutorials/platformer/part-5) -6. [プラットフォーマー チュートリアル Part 6](/ja/gdevelop5/tutorials/platformer/part-6) -7. プラットフォーマー チュートリアル Part 7 -8. [プラットフォーマー チュートリアル Part 8](/ja/gdevelop5/tutorials/platformer/part-8) - - -## ステップ 1:プレイヤーを殺す - -敵に接触するとプレイヤーが死ぬようにします。プレイヤーを「キル」する一番簡単な方法は、敵と接触したときに「Player」オブジェクトを削除することです。 - -次の手順で、敵と接触した「Player」オブジェクトを削除します。 - -1. 新しいイベントを作成します。 -2. 「Player」オブジェクトの**衝突**条件をイベントに追加して、「Slime」オブジェクトとの接触をテストします。 -3. 「Player」オブジェクトの**は地面上にいる**条件を追加します。これはプレイヤーがプラットフォーム上にいるときだけ(つまりジャンプ中ではない)やられるようにするためです。 -4. **オブジェクトを削除する**アクションをイベントに追加して、「Player」オブジェクトを削除します。 - -![](/gdevelop5/tutorials/platformer/07-01-kill-player.jpg) - -ゲームをプレビューすると、敵にぶつかったプレイヤーが死にます。 - -![](/gdevelop5/tutorials/platformer/07-02-killing-player-preview.gif) - -## ステップ 2:敵を殺す - -ジャンプしたプレイヤーが敵を踏みつけると、敵が死ぬようにします。さっきの手順に似た内容ですが、今度「死ぬ」のは「Slime」オブジェクトの方です。 - -次の手順で、プレイヤーが踏みつけたときに「Slime」オブジェクトを削除します。 - -1. 新しいイベントを作成します。 -2. 「Player」オブジェクトの**衝突**条件をイベントに追加して、「Slime」オブジェクトとの接触をテストします。 -3. 「Player」オブジェクトに**は落下中である**条件を追加します。これはプレイヤーがジャンプ中のときだけ(つまりプラットフォーム上にいるのではない)敵が死ぬようにするためです。 -4. **オブジェクトを削除する**アクションをイベントに追加して、「Slime」オブジェクトを削除します。 - -![](/gdevelop5/tutorials/platformer/07-03-kill-enemy.jpg) - -ゲームをプレビューすると、プレイヤーが踏みつけた敵は死にます。 - -![](/gdevelop5/tutorials/platformer/07-04-killing-enemy-preview.gif) - -## (オプション)ステップ 3:敵の頭上で跳ね返る - -多くのプラットフォームゲームでは、プレイヤーが敵を踏みつけると、敵の上でプレイヤーが弾むような動きをします。それによって、敵にあるていどの弾力性を感じさせる効果があります。 - -次の手順で、敵の頭上でプレイヤーが跳ね返るようにします。 - -1. 「Player」オブジェクトに**再ジャンプを許可する**アクションを追加します。 -2. 「Player」オブジェクトに**ジャンプキー押下シミュレーション**アクションを追加します。 - -![](/gdevelop5/tutorials/platformer/07-05-bounce-kill.jpg) - -ゲームをプレビューすると、敵を踏みつけたときにプレイヤーが跳ね返るようになります。 - -![](/gdevelop5/tutorials/platformer/07-06-killing-enemy-bounce-preview.gif) - -## 次のステップ - -次は[プラットフォーマー チュートリアル Part 8](/ja/gdevelop5/tutorials/platformer/part-8) です。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/platformer/part-8.md b/docs/ja/gdevelop5/tutorials/platformer/part-8.md deleted file mode 100644 index 2a86c8ba562..00000000000 --- a/docs/ja/gdevelop5/tutorials/platformer/part-8.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: プラットフォーマー チュートリアル Part 8:チェックポイントをゲームに追加しよう ---- -# プラットフォーマー チュートリアル Part 8:チェックポイントをゲームに追加しよう - -今回はチェックポイントをゲームに追加する方法を説明します。そしてプレイヤーが死んだときは、最寄りのチェックポイントに送るようにします。 - -## シリーズ - -いま読んでいるのは[プラットフォーマー チュートリアル](/ja/gdevelop5/tutorials/platformer)の **Part 8** です。 - -1. [プラットフォーマー チュートリアル Part 1](/ja/gdevelop5/tutorials/platformer) -2. [プラットフォーマー チュートリアル Part 2](/ja/gdevelop5/tutorials/platformer/part-2) -3. [プラットフォーマー チュートリアル Part 3](/ja/gdevelop5/tutorials/platformer/part-3) -4. [プラットフォーマー チュートリアル Part 4](/ja/gdevelop5/tutorials/platformer/part-4) -5. [プラットフォーマー チュートリアル Part 5](/ja/gdevelop5/tutorials/platformer/part-5) -6. [プラットフォーマー チュートリアル Part 6](/ja/gdevelop5/tutorials/platformer/part-6) -7. [プラットフォーマー チュートリアル Part 7](/ja/gdevelop5/tutorials/platformer/part-7) -8. プラットフォーマー チュートリアル Part 8 - -## ステップ 1:チェックポイントオブジェクトを作成する - -最初のステップでは、チェックポイント用のオブジェクトを作成します。チュートリアルもここに差し掛かれば、もはやおなじみの手順でしょう。うろ覚えな感じがしたら、[オブジェクト](/ja/gdevelop5/objects)を読んでみてください。 - -では次の手順でチェックポイントオブジェクトを作成しましょう。 - -1. 「Checkpoint」という名前のスプライトオブジェクトを作成します。 -2. チェックポイントのイメージには「bush.png」アセットを使います。 -3. オブジェクトをシーンにドラッグして、1 個以上のインスタンスを配置します。 - -## ステップ 2:プレーヤーがチェックポイントに到達したら座標をセーブする - -プレーヤーがチェックポイントに到達したら、チェックポイントの座標を変数に保存するようにします。そうすれば、プレイヤーが死んだときにその座標に送り返せます。 - -オブジェクトの X 座標と Y 座標には、次の構文でアクセスできます。 - -``` -オブジェクト名.X() -オブジェクト名.Y() -``` - -これらの文は、両方とも式の例です。 - -次の手順で、「Player」オブジェクトがチェックポイントに到達したときに座標を保存します。 - -1. 新しいイベントを作成します。 -2. 「Player」オブジェクトの**衝突**条件を作成して、「Checkpoint」と衝突しているかチェックします。 -3. **シーン変数の値**アクションを作成して、そこで「CheckpointX」変数に `Checkpoint.X()` の値を代入します。 -4. **シーン変数の値**アクションを作成して、そこで「CheckpointY」変数に `Checkpoint.Y()` の値を代入します。 - -![](/gdevelop5/tutorials/platformer/08-01.jpg) - -## ステップ 3:プレーヤーを直前のチェックポイントに送る - -ここまでは、「Player」オブジェクトが「Slime」オブジェクトと接触したら、**オブジェクトを削除する**アクションで「Player」オブジェクトをシーンから削除していました。しかしゲームにはいまやチェックポイントが設置されているので、「Player」オブジェクトを削除する必要はもうありません。 - -代わりに「Player」オブジェクトを直前のチェックポイントに送ることにしましょう。 - -1. **オブジェクトを削除する**アクションを削除します。 -2. 「Player」オブジェクトの**オブジェクトの位置**アクションを作成します。 -3. **変更記号**フィールドをすべて**=(代入)**にします。 -3. **X 位置** に `Variable(CheckpointX)` と入力します。 -4. **Y 位置** に `Variable(CheckpointY)` と入力します。 - -![](/gdevelop5/tutorials/platformer/08-02.jpg) - -ゲームをプレビューすると、死んだプレイヤーが直前のチェックポイントに送り返されます。 - -![](/gdevelop5/tutorials/platformer/08-04.gif) - -## ステップ 4:プレイヤーのデフォルト座標を設定する - -`CheckpointX` と `CheckpointY` 変数は、プレイヤーが最初のチェックポイントに到達するまで存在しません。そのためプレイヤーが最初のチェックポイントに到達する前に死ぬと、GDevelop はプレイヤーをデフォルト座標「0,0」に送り返します。 - -これは次の理由で、望ましくありません。 - -- デフォルト座標に何か存在するかもしれない(敵とか) -- デフォルト座標の下にはプラットフォームがないかもしれない - -これを是正するため、`CheckpointX` と `CheckpointY` 変数に、あらかじめ "Player" オブジェクトの初期座標を設定しておきましょう。初期座標は、シーンエディターに「Player」オブジェクトを配置したその場所が適当です。 - -次の手順で、初期座標を設定します。 - -1. 新しいイベントを作成します。 -2. **シーンが始まった**条件をイベントに追加します。 -3. **シーン変数の値**アクションを作成して、そこで「CheckpointX」変数に `Player.X()` の値を代入します。 -4. **シーン変数の値**アクションを作成して、そこで「CheckpointY」変数に `Player.Y()` の値を代入します。 - -![](/gdevelop5/tutorials/platformer/08-03.jpg) - -## 次のステップ - -ついにこのチュートリアルをやり通しましたね。おめでとうございます! - -ここからは、[ジオメトリモンスター](/gdevelop5/tutorials/geometry-monster/1-install-and-setup)のような他のチュートリアルに挑戦するもよし、プラットフォームゲームをさらに発展させていくもよし、です。これまでに身につけたことを生かせば、あなたにしか作れないものがきっとできるはず。 \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/roadrider.md b/docs/ja/gdevelop5/tutorials/roadrider.md deleted file mode 100644 index d3a22af2e47..00000000000 --- a/docs/ja/gdevelop5/tutorials/roadrider.md +++ /dev/null @@ -1,621 +0,0 @@ ---- -title: ロードライダー - エンドレスカーゲームチュートリアル ---- -# ロードライダー - エンドレスカーゲームチュートリアル -このチュートリアルは、GDevelopに慣れるのにとても役立ちます。このチュートリアルの内容は、エンドレスの車のゲームを作ることです。プレイヤーは道路上の車をかわす必要があります。ゲームにはスコアがあり、車が通過すると自動的にスコアアップされます。. - -![](/gdevelop5/tutorials/peek_2019-05-30_19-46.gif) - -## GDevelopのダウンロード -GDevelopをまだお持ちでない場合は、[GDevelopの公式Webサイト](https://gdevelop.io/download/)からダウンロードできます。Windows、macOS、Linuxで利用できます。 - -GDevelopをダウンロードした後、インストールが終了するとDevelopを起動できます。 - -> このゲームのオブジェクトを作成するために使用されるアセット(ゲーム中で使用するデータ)が必要です。 [ここから](/gdevelop5/tutorials/road-rider-resources.zip)ダウンロードしてください。ゲームの保存場所として選択したディレクトリに.zipファイルをダウンロードして解凍します。 - -## 新しいプロジェクトの作成 -スタートページで「新しいプロジェクトの作成」をクリックします。 - -![](/gdevelop5/linux-start-page.png) - -空のゲームと表示されるダイアログボックスで(このオプションを見つけるには下にスクロールする必要がある場合があります)を クリックし、プロジェクトを保存する場所を選択します。 - -![](/gdevelop5/tutorials/annotation_2019-07-04_220443.png) - -## 新しいシーンの作成 - -シーンは、ゲームを作成している間、ほとんどの時間作業するエリアです。シーンは基本的にゲーム内のステージ(またはメニュー、アイテムなど)です。画面に配置できるオブジェクトが含まれています。 - -空のゲームをクリックするとすぐに、画面の左側にパネルが表示されます。これはプロジェクトマネージャーと呼ばれるものです。プロジェクトマネージャーのシーンでオプションをクリックします。 - -「シーンの追加」と表示されるドロップダウンからオプション を使用して、新しいシーンを作成します。作成された「新しいシーン」をクリックして、新しいシーンに移動します。 - -![](/gdevelop5/tutorials/add-scene-button2.png) - -## 新しいオブジェクトの作成 - -右側のオブジェクトパネルから「オブジェクトの追加」オプションを選択します。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.32.40.png) - -続いて「新しいオブジェクト」ダイアログウインドウがポップアップするので、「スプライト」を選択します。 - -![](/gdevelop5/tutorials/annotation_2019-07-05_171958.png) - -オブジェクトはデフォルトでNewObjectと表示されてダイアログの上部に表示されます。各オブジェクトに説明できる名前を付けて、イベントでそれらを処理するときにそれらが何であるかを理解できるようにすることをお勧めします。 -今回は名前を_Car_に設定します。 - -オブジェクトにアニメーションを追加しましょう。アニメーションには、スプライトオブジェクトの画面に表示される画像が含まれています。 - -オブジェクトにアニメーションを追加するには、「クリックしてアニメーションを追加」の横にある**+**記号をクリックしますClick to add an animation - -![](/gdevelop5/tutorials/add-animation.png) - -「car.png」という名前の画像をアニメーションとして追加し、「適用」オプションをクリックします。. - -![](/gdevelop5/screenshot_from_2019-05-20_13-54-57.png) - -同様に、アニメーションとして画像「highway.png」で構成される、新しいスプライトオブジェクト_Highway_を追加します。 - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_00-58-55.png) - -次のステップは、4台の車を異なるスプライトオブジェクトとして追加することです。 -これらは、ぶつからないように回避する必要があるオブジェクトになります。 -それらにBlue、Gray、Green、Pinkという名前を付けることができ、それぞれに「blue-car.png」、「gray-car.png」、「green-car.png」、「pink-car.png」のアニメーション画像があります。 - -![](/gdevelop5/tutorials/screenshot_from_2019-05-30_20-41-27.png) - -![](/gdevelop5/tutorials/screenshot_from_2019-05-30_20-42-03.png) - -![](/gdevelop5/tutorials/screenshot_from_2019-05-30_20-42-30.png) - -![](/gdevelop5/tutorials/screenshot_from_2019-05-30_20-42-54.png) - -アニメーション用に「tree.png」を持つ 新しいスプライトオブジェクト「ツリー」を作成します。このオブジェクトは、ゲームの進行中に道路の両側に配置される街路樹として使用されます。 - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_00-57-11.png) - -新しいスプライトオブジェクト_Explosion_(爆発の意味)を作成し、「Explosion1.png」から「Explosion8.png」までのすべての画像を選択します。 - -![](/gdevelop5/screenshot_from_2019-05-20_14-14-45.png) - -このステップの終わりまでのシーンには、8つのオブジェクトが含まれているはずです。 - -![](/gdevelop5/tutorials/screenshot_from_2019-05-30_21-22-38.png) - -## Adding top-down movement to the car -Adding a top-down movement behavior to the car will allow us to set its maximum speed as well as the acceleration and deceleration of the car. This will allow the car to slowly gain the speed rather than starting with the maximum speed. For this, we will have to open the `Object Editor`. - -To do this, you can either double-click on the _Car_ object from the object side panel or click on the three-dot-menu beside the object and click on edit object. - -![](/gdevelop5/tutorials/annotation_2019-07-06_124410.png) - -Click on the `BEHAVIORS` tab at the top of the panel and click on the **+** button beside `Click to add a behavior to the object`. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_19-44-47.png) - -Choose `Top-down movement` in the `Add a new behavior to the object` pop-up. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_19-42-06.png) - -This opens a wide variety of options to alter. You can see the default values for the related to the behavior. Set the deceleration to 400 and untick the boxes having the options `Rotate object` and `Default controls` and click `APPLY`. Rest of the default values are fine for our game. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_19-37-09.png) - -## Creating a new event -An event is a pair of conditions and actions. When a given set of conditions is true, the corresponding action or set of actions is performed. - -While making this game we will encounter a few events with no conditions and one or more actions assigned to them. In such a case, the action is performed on every frame created. - -To add a new event, open the `NEWSCENE (EVENTS)` tab from the top - -![](/gdevelop5/tutorials/scene-events-tab.png) - -From the events editor toolbar choose the option that says `Add a new empty event`. - -![](/gdevelop5/add-event-button.png) - -This will create a new event with an empty condition and an empty action. - -![](/gdevelop5/screenshot_from_2019-05-20_14-49-49.png) - -## Create instances of Car and Highway -To create an instance of the _Car_ object we can drag and drop the object from the Objects panel to the scene and give it the coordinates of our choice. - -![](/gdevelop5/tutorials/peek_2019-05-26_11-58.gif) - -If you need to alter the coordinates of the object after getting it on the scene, you can do so by the drag and drop method, but by dragging the object on the scene. - -Another method to move the object is by changing the X and Y-coordinates in the Object properties panel on the left side. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_01-25-21-1.png) - -You can choose the values of your choice but if you want results similar to that of the tutorial, you are expected to have the same values. - -Similarly, to create an instance of _Highway_ you can drag and drop the object to the scene and set its X and Y-coordinates. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_01-55-46.png) - -A user can use the preview feature provided by GDevelop. Using this feature, you can see how the game behaves in the real world. You can preview your project by clicking on `Launch a preview of the scene` icon above the scene. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_01-58-08.png) - -You should see something similar to the image shown below. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-31_17-24-28.png) - -We see a few problems: - - * The _Car_ is not fully visible. - * The part of the screen below the _Highway_ is empty. - * The _Highway_ is too far away from the center of the screen. - -### Making the car visible -To make the car visible, we need to know the reason for it being hidden under the _Highway_. The answer is, `Z Order`. - -!!! note - - Z Order of an object is the property which decides whether the object should be displayed on the front or the back. An object with a certain Z Order assigned to it will always be shown in front of the objects with lower Z Order value and behind the objects with higher Z Order value. - - -In our case, we can assign a Z Order of 1 to the _Highway_ and 2 to the _Car_. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_02-20-14.png) - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_02-21-37.png) - -### Creating the bottom part of the Highway -To create the bottom part of the _Highway_, we can elongate the height of our object _Highway_. - -To do this, you can click and drag the white box at the corner of the _Highway_. - -![](/gdevelop5/tutorials/peek_2019-05-26_12-33.gif) - -Another way to do this is to tick the box beside `Custom size` option in the Properties panel and enter the height and width of your choice. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_02-41-35.png) - -### Getting our game to the center of the window -To get our game to the center of the preview window, we will create our first event. - -But before that, we need to determine the X position and Y position of the camera. - -!!! note - - The coordinates of an object depict the location of the top-left corner of our object rather than the center of the object and coordinates of the center of the camera is the center of the displayed window. - -For the X position, the camera has to be at the center of the window/highway. The width of the _Highway_ is 535 pixels. So the center of the _Highway_ will lie at 267.5 pixels. - -Similarly, to set the Y position of the camera, we can keep it a little above the _Car_ so that the player can get a better view of the cars approaching. set it at 350 pixels. - -First, [create a new empty event using the explanation above.](http://wiki.compilgames.net/doku.php/gdevelop5/tutorials/rpts?#creating_a_new_event) - -We need to make an event such that the game lies in the center of the screen. Therefore, setting the X and Y-coordinates will be our action. - -This action needs to be true for all frames, i.e. for all conditions. And so that the action is true for all conditions, we enter no condition. - -To add an action, click on the `Add action` option. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_12-01-43.png) - -To choose an action, you can either choose it from the various drop-down menus available or you can use the search bar at the top. - -For example, to change the position of the camera, you can go to Layers and Cameras followed by `Camera center X position`. The right part of the window will now display configurable parameters. - -Because we want to set the X position equal - neither less nor more - to 267.5, choose the **= (set to)** option in `Modification's sign`. In the `Value` field, you can enter the desired X coordinate of the camera. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_12-22-36.png) - -Else, you can search for the action in the top `Search` bar. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_12-33-40.png) - -Click `OK`. - -You can now see the added action in the Events Editor. - -To set the Y position of the camera center, click on `Add action` in the same event. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_12-29-55.png) - -You can now follow a similar procedure for Y position as you did for X position but make sure that this time you choose the `Camera center Y position` option and enter the Y coordinate. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_14-54-19.png) - -To make sure that all your progress has been saved, click on `Save` in the `File` menu or press Ctrl + S. - -## Moving the car -To move the _Car_, we need to create an event such that the car translates as well as rotates to some degree when left or right key is pressed. - -As we can deduce from the above statement, the condition of the events will be left key press and right key press. - -!!! warning - - Remember that each key press (left and right) should have different events because we need to have different motions for each of them. - -We will start with the event that has the condition of left key press. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_15-09-13.png) - -For the action, when the left key is pressed, the _Car_ should have a movement on the left side. This can be easily done using an action `Simulate left key press` that would simulate the left side movement for the object selected (_Car_). - -But make sure to use the action with the same behavior as your object (top-down movement). So, we need to choose it from the `Top-down movement` drop-down. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_15-18-20.png) - -Now we need to give our _Car_ the desired rotation for a better visual experience. If we just give rotation to the object it will rotate up to 180 degrees. - -To avoid such a result, we need to set a final angle too. We will assume it to be 30 degrees on both sides, i.e. -30 degrees for the left key press and 30 degrees for the right key press. - -But before we move ahead, we also need to assign the `Angular speed` for the rotation. We will be using a value of 60 degrees/second for the same. - -Remember that the angular speed will be the same for both the key presses. It cannot be negative because it is the "Angular speed", and speed cannot be negative. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_16-18-34.png) - -We can repeat a similar event for right key press. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_16-42-05.png) -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_16-42-37.png) -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_16-52-25.png) - -If you preview your project, you should be able to control your _Car_ using the left and right arrow keys. - -But we still encounter one problem, the car does not return to its original state when we leave the keys. Instead, it stays oriented at an angle. Let's solve this problem now. - -### Returning the car to its original orientation -We need to return the car to an angle of 0 degrees when none of the arrow keys are pressed. In other words, we need to return the car to an angle of 0 degrees when the conditions, right key press and left key press are inverted. - -To achieve this, we add a new event and try to add the above 2 conditions, i.e. right key press inverted and left key press inverted. We add a condition `Left key is pressed` and turn on the switch below that says `Invert conditions`. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_17-14-21.png) - -In the same event, we add a similar inverted condition for right key press. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_17-19-07.png) - -For the action, we will make an action for rotating it towards 0 degrees with an angular velocity of choice similar to what we did for the non-inverted conditions of key press. - -!!! note - - Make sure to include both the conditions in the SAME EVENT because we want the vehicle to return to 0 degrees only when neither left nor right arrow key is pressed. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_17-46-07.png) - -Now, the car moves and rotates to an extent when an arrow key is pressed and rotates back to the original angle when the keys are released. - -## Adding traffic cars to be dodged to the scene -Now, we need to begin creating traffic cars which should be dodged by the _Car_. To maintain uniformity and simplicity in the game, we will create the objects at a fixed Y position and a random X position within a fixed time interval such that all the traffic cars created lie between the yellow lines of the _Highway_. - -For a fixed time interval, we can use the `Timer` feature that GDevelop provides. To set a timer, we will create an event with the condition `Value of a scene timer`. Now, you need to fill the desired time interval between the creation of two consecutive instances of traffic cars on each side in the `Time in seconds` field. - -After entering the time you need to enter the name of the timer. It can be any name of your choice but remember to fill it within quotes. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_14-34-32.png) - -For the first action, we can make use of a `Scene Variable`. A variable allows you to store number or text in the computer memory and a scene variable allows you to store a number or text only when a particular scene is active. You can [read more about variables here.](/gdevelop5/all-features/variables) - -To create a new variable, go to the Scene Editor, right-click on the background and click on `Scene properties`. From the pop-up that appears, click on the `EDIT SCENE VARIABLES` button. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-03_00-53-39.png) - -Now click on the **+** button on the bottom-right of the new dialog, enter a name for your variable and click `APPLY`. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-03_01-03-11.png) - -We will name our scene variable 'CarLeft'. To assign a value to your scene variable, use the action `Value of a scene variable`. Enter the name of the variable you created in the `Variable` field. - -To create the cars at random, we can assign a value using the expression "RandomInRange". `RandomInRange(min, max)` is used to return a random integer between the minimum and maximum specified in the expression. - -We'll use the expression `RandomInRange(1, 2)` such that whenever the expression returns 1, we will create a blue car in the first (leftmost) lane and whenever it returns 2, we will create a gray car in the second lane. Therefore, set the `Modification's sign` to **= (set to)** and the value to "RandomInRange(1, 2)". - -![](/gdevelop5/tutorials/screenshot_from_2019-06-03_01-14-42.png) - -You can add a similar action for a variable _CarRight_ which can be used to create traffic cars on the right side of the highway. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-03_03-14-25.png) - -Before adding events to check the value of our scene variable _Car1_, we will add one more action in the same event which will set the value of our timer to 0. To do this, we will use the `Start (or reset) a timer` action. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-05_14-25-13.png) - -This is what our Events Editor should look like: - -![](/gdevelop5/tutorials/screenshot_from_2019-06-03_01-24-49.png) - -To check the value of _Car1_ and to create the corresponding traffic cars at the same moment as the _CarTimer_ is reset, we will add a sub-event for each condition. A sub-event is performed only if the parent event's condition is true. You can [read more about events here.](/gdevelop5/events) - -You can create a sub-event by clicking on the `Create a sub-event to the selected event` button at the top. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-26_at_22.05.49.png) - -This will create a sub-event for the selected event. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-03_22-09-38.png) - -In the condition of the sub-event, we will check if the value of _CarLeft_ is equal to 1. To do this, we will add the `Value of a scene variable` condition. Enter the variable name _CarLeft_ in the `Variable` field, set the `Sign of the test` to **= (equal to)** and fill '1' in the `Value to compare` field. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-03_01-41-24.png) - -For the action, you can create the object _Blue_ at the X coordinate of the first lane (70) and Y coordinate such that the object is created well above the window so that by the time it reaches the window with an acceleration of 1000 it reaches its constant maximum speed else the user might see the car accelerating in the window. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-03_02-42-00.png) - -You can add a similar sub-event for _Gray_ with the condition checking if the value of _Car1_ is 2. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-03_02-46-17.png) - -If the condition is true, we will add an action to create _Gray_ at the X position of the second lane (175) and Y coordinate -500. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-03_02-50-59.png) - -Similar to what we did for variable _CarLeft_, we will now check the value of _CarRight_ and create _Green_ at (280, -500) if the value of _CarRight_ is 1. If the value is 2, we will create _Pink_ at the position (385, -500). - -Here is the resulting events sheet so far. If you are on the same page as the tutorial, you can save your game and proceed. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-03_02-59-41.png) - -## Adding surrounding trees to the game -After adding the traffic cars to be dodged, we will now add the surrounding trees which will simulate a moving background. We will use the object _Tree_ for this purpose. - -To create object _Tree_ we use another timer _TreeTimer_, similar to how we used _TrafficTimer_. We will use these trees for moving background simulation by moving them in the backwards direction on both sides of the road. - -![](/gdevelop5/screenshot_from_2019-06-05_16-15-04.png) - -We will set their Y coordinates such that they are created above the screen and for better viewing experience, you can create them at different Y positions so that they are not perfectly aligned. - -We will set the X coordinates for both trees on both the sides such that the trees are right beside the _Highway_. The dimensions of the tree are 150×150 pixels. - -For the left side of the _Highway_ we will set the X position to -150 pixels and the Y position to -400 pixels. - -![](/gdevelop5/screenshot_from_2019-06-05_17-01-40.png) - -For the right side, the X position will be set to 535 pixels and Y position to -500 pixels. - -![](/gdevelop5/screenshot_from_2019-06-05_17-05-13.png) - -We need to add one more action to reset the _TreeTimer_ to 0 when it is greater than 1 second. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-05_16-36-47.png) - -## Moving the trees -In the game, we need to move the trees such that they never stop, i.e. without any condition. So we add an event and add action to that event without any conditions. - -Our trees should move in the direction opposite to that of the _Car_ so that we can simulate a moving background. To do this, the event we add should add a downward force to the object _Tree_. - -Add the action `Add a force` to the _Tree_. The movement of the car should be in the vertical direction only. There should not be a horizontal component of the force applied to it. So the speed on the X axis should be set to 0 and the speed on the Y axis will be set to 300 pixels/second. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_16-55-28.png) - -## Moving the traffic cars -To move the traffic cars, we can add events with no conditions and add a vertical force. But if we try to do it in a way similar to what we did for _Tree_, we will have to add these events for each and every car individually. To simplify this, we can use the `Object Groups` feature provided by GDevelop. - -An object group is a collection of objects. You can classify similar types of objects in an object group. You can then use the conditions and actions on a group object rather than repeating it for each and every object separately. - -_Blue_ and _Gray_ that should move on the left side of the highway will have the same motion for each object created. Similarly, _Green_ and _Pink_ should also have the same motion. So we can classify the 4 traffic cars to 2 object groups. - -To open the `Groups Editor`, click on the `Open the objects groups editor` icon in the toolbar. - -![](/gdevelop5/objects/groups-button.png) - -This will open the object groups list. All the object groups in the scene will be visible on the list. To add a new object group to the list, click on the **+** sign beside `Click to add a new group`. This will add a new group to the list. - -![](/gdevelop5/objects/group-group.png) - -To rename the group name, click on the three-dot-menu or right click on the object group name and choose "Rename". We will name the group _TrafficLeft_. Now add another group and rename it to _TrafficRight_. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-06_00-17-54.png) - -To add objects to _TrafficLeft_, click on the group name. A new dialog will appear. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-06_00-29-42.png) - -Click on the `Choose an object to add to the group` field and choose the object _Blue_ followed by _Gray_ and click APPLY. This object group represents the cars on the left side of the highway. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-08_20-24-37.png) - -Similarly, add _Green_ and _Pink_ to the group _TrafficRight_. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-08_20-25-43.png) - -To move the cars we will now add an event with no conditions. We will now add a downward acting force to _TrafficLeft_ and _TrafficRight_. - -Objects in _TrafficLeft_ are cars that move in the same direction as _Car_. So these cars should move at a pace slower than _Tree_ so it looks like the cars are moving faster than the background but slower than _Car_. We will apply a force of 100 pixels/second in the Y direction for _TrafficLeft_. The X component should be 0. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-06_00-37-29.png) - -On the other hand, objects in _TrafficRight_ move in the direction opposite to that of _Car_. So these cars should move faster than _Tree_ so that they look like moving in the backward direction. We will apply a force of 500 pixels/second in the Y direction for _TrafficRight_. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-08_19-56-14.png) - -On starting a preview of the project, you might not be able to see the traffic cars yet. You can solve this problem by setting a Z order for the objects in the same event. To use the action for all the objects at once, create a new object group _Traffic_. Add all the objects to the group. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-08_20-29-50.png) - -!!! note - - To see the traffic cars, you should set a Z order higher than the object covering it, i.e. _Highway_. - -Set the Z order of _Traffic_ higher than the Z order for _Highway_. - -![](/gdevelop5/screenshot_from_2019-06-06_00-44-32.png) - -You may now check the events we have created so far and then save your game. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-06_00-52-22.png) - -Before moving on to the event for a collision between _Car_ and _Traffic_, we notice that the car's motion is not limited to the road. - -## Limiting the car's motion between the yellow lines -To limit the car's motion between the yellow lines, we need to add a new event to check the X position of the _Car_. - -We will add two different events for each side because the force applied should be positive when _Car_ is on the left side and negative when _Car_ is on the right side. - -The distance of the yellow lines from both ends is 60 px while the width of the _Car_ is 80 px, so its motion has to be limited between 60 px and (535 - 60 - 80), i.e. 395 px. - -The force applied to the car should be greater than or equal to the maximum speed of the _Car_, set in its behavior (200, in our case). - -Our first event will include a condition that checks if the X position of the _Car_ is less than 60 px. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_17-40-12.png) - -If the condition is satisfied, a force greater than or equal to the maximum speed of the car should be applied in the opposite direction. Therefore, a force greater than or equal to 200 pixels/second should be applied on the _Car_ along the X-axis. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_17-40-33.png) - -Similarly, we need to add another event, with the condition to check if the X position of the _Car_ is more than 395 px. - -![](/gdevelop5/screenshot_from_2019-06-06_01-07-54.png) - -If the condition is true, a force with a magnitude higher than 200 pixels/second should be applied in the negative X direction. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_18-12-36.png) - -If you preview the game, you should now be able to see _Tree_ and all the objects in the group _Traffic_ and the motion of the car should be constrained between the yellow lines. - -Now, we need to set how the game behaves when there's a collision between _Car_ and _Traffic_. - -## Collision between Car and Traffic -In the next event we create, we need to set the condition such that it checks a collision between _Car_ and _Traffic_. - -For this, you can use the `Collision` condition and set the objects to _Car_ and _Traffic_. - -![](/gdevelop5/screenshot_from_2019-06-06_01-21-32.png) - -In case of this condition being true, we need to create an object _Explosion_. You can use the action `Create an object` and fill _Explosion_ in the `Object to create` field. - -We need to create this object at the coordinates same as that for _Car_. To achieve this, you can use "Car.X()" and "Car.Y()" in the X position and Y position respectively. - -!!! note - - "Car.X()" and "Car.Y()" denote the X and Y position of the _Car_ respectively. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_18-30-10.png) - -If you watch the preview, there encounter a few minor issues: - - * _Explosion_ cannot be seen. - * _Car_ keeps moving. - * _Traffic_ keeps moving - -We will now solve these problems. Make sure that you add these actions for the same `Collision` condition. - - * To make the _Explosion_ visible, add an event to set the Z Order of the object _Explosion_ so that it is higher than that of the _Highway_ - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_18-37-12.png) - - * To remove the instance of _Car_ we shall now add an event to delete the object _Car_. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_18-42-15.png) - - * Similar to what we did for _Car_, to remove an instance of _Traffic_ we can delete the object _Traffic_ too. - -![](/gdevelop5/screenshot_from_2019-06-06_01-25-59.png) - -You can watch the preview now. Our game is ALMOST complete. We cannot say that the game is complete until we can see the score made by an individual. - -## Setting the background color -The gray background does not really suit the game. As there will be trees on both sides of the road, the green color might be the best. To do so, you can right-click anywhere on the scene and select `Scene properties`. Click on the box below `Scene background color` that says `Click to choose`. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_18-04-16.png) - -You can choose the color of your choice and click `OK` in the `Scene properties`. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-22_18-27-13.png) - -## Displaying score in the scene -To display the score, we will make an event such that when any object in the group _Traffic_ passes a predefined position, the value of the score is updated. To do this, we need to use the help of a scene variable. - -Let's start with creating an object _Score_. - -For this, you need to go to the Scene Editor and create a new object and choose `Text` from the `Add a new object` table. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_19-03-50.png) - -You can rename the object to _Score_ and choose the text properties from the `Properties` panel. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_19-06-51.png) - -You can now drag and drop the _Score_ object on the screen. You can also change the coordinates of the object from the `Properties` panel. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_19-14-05.png) - -The score in our game will be shown as a number. You cannot directly add a number to a number stored in `Text`. - -But you can do it using a variable. To update the score, we need to add a number to the variable defined every time a tree crosses a predefined position and then send that value to the text object. - -To repeat it for each object in _Traffic_, we will make a `For each object` event. To make a `For each object` condition, click on the `Choose and add an event` icon at the top. - -![](/gdevelop5/tutorials/choose-and-add-event.png) - -From the menu that appears, choose the `For each object` option. - -We need to repeat this event for each _Traffic_, so choose _Traffic_ for the object to be repeated. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_21-09-36.png) - -Because we want to update our variable every time _Traffic_ crosses a position, we will have to add a condition to check if the position of _Traffic_ is greater than or equal to 700. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_21-20-00.png) - -Our action will be to create and change the value of a scene variable. Create a new scene variable _Points_ similar to how we created variables _CarLeft_ and _CarRight_. - -![](/gdevelop5/tutorials/screenshot_from_2019-06-06_19-55-23.png) - -Now, we will add an action `Value of a scene variable`. Enter the variable you created in the `Variable` field. - -Every time the _Traffic_ passes the Y-position of 700, we will add 100 to the _Score_. Therefore, we set the `Modification's sign` to **+ (add)** and the `Value` to 100. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_21-49-42.png) - -To send this value to our _Score_ we will make an event with no condition because our score should always denote the value of our variable. - -We will use the action `Modify the text`. Enter _Score_ in the `Object` field and set the `Modification's sign` to **= (set to)**. - -Our text should display "Score: " followed by the value of the variable. But, the problem is that a `Text` can only display a string/text, not a number. - -To counter this problem, we will first convert the variable to string and then send it to the text. - -To do this, we will write ""Score: " + ToString(Variable(Points))" in the `Text` field. Note the quotes and **+** sign in the text. Quotes help us to distinguish a string and a function while + is used to concatenate two strings. - -!!! note - - Even though the second part of `Text` is addressed as a function in the above paragraph, remember that the end result of the function will be a string. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_22-34-19.png) - -If we now preview the game, we'll see that the _Score_ keeps on updating with every frame. This is because the condition checks if the Y position of _Traffic_ is greater than or equal to 700. - -To solve this problem as well as to optimise the game by freeing up memory, we will add another action to the event which will delete the object _Traffic_. - -This action will free up some amount of memory as well as help us solve the _Score_ problem by deleting the tree in the very next frame of _Traffic_ crossing a Y position of 700. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_21-56-15.png) - -Now if you preview the game, you will see that the score keeps updating even after the collision between _Car_ and _Traffic_ takes place. For this, we can add another condition in the tree deleting event that would check if the object _Car_ is visible. - -!!! warning - - There is a difference between the visibility of an object and its existence. An object might not be visible but may exist but if an object ceases to exist (like the _Car_ in our case), it directly implies that it is not visible. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-23_22-40-45.png) - -To optimise our game for the long run, we can also use a similar `For each object` event for deleting _Tree_ - -The condition of the event will be to check if Y position of _Tree_ is more than 700 while the action would be to delete the object _Tree_. - -![](/gdevelop5/tutorials/screenshot_from_2019-05-24_00-03-41.png) - -This is what our Event Editor should look like: - -![](/gdevelop5/tutorials/screenshot_from_2019-05-24_00-12-11.png) - -You have now created an infinite car game in which the score gets updated as we pass by the trees. - -Enjoy the game. - -## Add new features - -You can now pose new challenges in front of yourself like allowing the car to go off the highway or allowing the movement of the car in front and back too. - -GDevelop offers many tutorials for users to get more familiar with it. You can [see them here.](/gdevelop5/tutorials) \ No newline at end of file diff --git a/docs/ja/gdevelop5/tutorials/tank-shooter.md b/docs/ja/gdevelop5/tutorials/tank-shooter.md deleted file mode 100644 index 49a13e27273..00000000000 --- a/docs/ja/gdevelop5/tutorials/tank-shooter.md +++ /dev/null @@ -1,344 +0,0 @@ ---- -title: タンクシューター-初心者向けチュートリアル ---- -# タンクシューター-初心者向けチュートリアル - -このチュートリアルは、GDevelopの仕組みを理解するのに役立ちます。非常にシンプルなゲームを作成します。このゲームでは、敵はプレイヤーに向かって移動します。プレイヤーは敵を撃つことができます。敵がプレイヤーの弾丸でヒットすると爆発します。 ![](/gdevelop5/tutorials/beginner-tutorial-screenshot.png) - -ソフトウェアの概要を取得するには、最初に [](/gdevelop5/getting_started) ページを読んで下さい。 - -### GDevelopのダウンロード - -GDevelopをまだインストールしてない場合は、公式Webサイトからダウンロードしてください: [gdevelop-app.com](http://gdevelop-app.com) - -このページからGDをダウンロードして、最新バージョンであることを確認してください。 GDevelopをインストールしたら、起動します。インターフェイスの「開始」ページが表示されます。 ![](/gdevelop5/start_page.png) - -### プログラムソースをダウンロードする - -完成したプロジェクトは、ここ ![](/gdevelop5/tutorials/beginner-tutorial.zip)からダウンロードできます。 このプロジェクトをダウンロードすると、ゲームがどのように作成されたかを確認できます。あなたが何かうまくいかない動作を理解する場合の例としてそれを持っていることは、あなたの進歩をチェックする良い方法です。 - -### 新しいプロジェクトの作成 - -「開始」ページで「新規プロジェクトの作成」をクリックします。 - -次に、テンプレートを使用して新しいプロジェクトを作成するか、「空のゲーム」プロジェクトを作成するオプションがあります。 ![](/gdevelop5/create-new-project-window.png) - -このチュートリアルでは、空のゲームプロジェクトが必要ですが、このオプションを選択する前に、ゲームを保存するフォルダーを選択する必要があります。\[新しいゲームの作成\]ページの下部に、\[フォルダーの選択\]領域があります。このオプションを表示するには、下にスクロールする必要がある場合があります。デフォルトの場所を保持するか、ゲームを保存する場所を選択します。. - -![](/gdevelop5/tutorials/select-project-folder.png) - -任意の場所を選択するには、「フォルダの選択」ボタンを選択・クリックします。コンピューター上のファイルシステムを参照します。使用するフォルダーを見つけます。 ![](/gdevelop5/choose-folder-button.png) - -フォルダを選択したら、リストの空の「空のゲーム」プロジェクトオプションを選択/クリックします。 ![](/gdevelop5/empty-game-button.png) - -### 新しいシーンの作成 - -新しいシーンを作成することは、やるべきことの最初です。プロジェクトマネージャーの「シーンを追加\]ボタンをクリック・選択します。 ![](/gdevelop5/tutorials/add-scene-button.png) - -次に、作成したばかりの新規シーンをクリックします。「シーン」エディタが開きます。 - -### 画像とリソースを入手する - -先に進む前に、ゲームにいくつかの画像が必要になります。 ここからダウンロードできます:[画像のダウンロード](http://www.compilgames.net/dl/BeginnerTutorial2Images.zip) - -このファイルをダウンロードしたら、中のコンテンツファイルをプロジェクトを作成したフォルダーに展開・コピーします。 - -### プレイヤーの砲塔を作成する - -プレイヤーは敵を撃つために砲塔を制御します。シーンの「オブジェクト」エディターで、「新しいオブジェクトを追加」を選択します。 ![](/gdevelop5/tutorials/add_new_object.png) - -オプションの新しいウィンドウリストがポップアップ表示されます。作成されるオブジェクトのタイプを選択します。 ![](/gdevelop5/objects/object-types.png) - -まず、スプライトオブジェクトを作成します。ポップアップリストから「スプライト」を選択します。次に、オブジェクトのプロパティパネルが表示されます。プロパティパネルが表示されない場合は、オブジェクトエディターで新規オブジェクトを右クリックし、ポップアップリストから\[オブジェクトの編集\]を選択します。 - -最後に、オブジェクトにアニメーションを追加します。プロパティウィンドウで\[アニメーションを追加\]ボタンをクリック・選択します。 ![](/gdevelop5/tutorials/add-animation.png) - -これで、オブジェクトのアニメーションプロパティが表示されます。 ![](/gdevelop5/objects/animation-properties.png) - -砲塔画像をアニメーションとして追加する必要があります。 大きなプラス記号をクリックし![](/gdevelop5/tutorials/plusaddobject.png). プロジェクトフォルダを参照します。画像「aaguntopdown.png」を見つけます。 - -画像がウィンドウに表示されます。 ![](/gdevelop5/tutorials/turret-animation-window.png) - -最後に「適用」をクリックして変更を保存します。 - -オブジェクトの名前を変更します。シーンの「オブジェクト」エディターでタレットオブジェクトを右クリックします。表示されるポップアップリストから\[名前の変更\]を選択します。新しい名前に「タレット」という名前を入力します。これにより、後で「タレット」という名前を使用してこのオブジェクトを参照できます。タレットとは「砲塔」のことです。 ![](/gdevelop5/tutorials/rename-turret.png) - -### 砲塔をシーンに追加する - -「タレット」をシーンに追加するには、シーンの「オブジェクト」エディターでタレットを選択またはクリックしてから、「シーン」エディターをクリックします。 - -このアクションにより、シーンに「タレット」が作成されます。次に、「タレット」を選択、移動、回転できます。 ![](/gdevelop5/tutorials/turret-selected-inscene.png) - -### 最初のイベント - -次に、ゲーム全体をアニメーション化するために使用される「イベント」を作成します。 最初のイベントでは、「タレット」をプレイヤーのマウスに向かって回転させる必要があります。 - -「新規シーン(イベント)」タブをクリックして「イベント」エディタを選択します。 ![](/gdevelop5/tutorials/scene-events-tab.png) - -「イベント」エディタ画面の上部にツールバーが表示されます。ツールバーの「イベントの追加」ボタンを選択またはクリックして、新しいイベントを作成します。ツールバーの各ツールの使用方法を忘れた場合は、ツールの画像の上にマウスを移動すると、ツールのポップアップヘルプの説明が表示されます。 ![](/gdevelop5/add-event-button.png) - -空の条件と空のアクションを含む新しい「イベント」が作成されます。「条件」は画面の左側にあります。「アクション」は画面の右側にあります。カーソルを右側の「アクション」の上に置きます。「アクションの追加」を選択・クリックします。 ![](/gdevelop5/tutorials/add-action.png) - -次に、最初のアクションを作成します。このアクションは、「タレット」をマウスに向けます。\[アクションの追加\]をクリック/選択すると、新しいリストパネルが表示されます。アクション「すべてのオブジェクトに共通のアクション」を選択します。その他のオプションのドロップダウンリストが表示されます。「角度」を選択/クリックします。別のドロップダウンリストが表示されます。「位置に向かって回転」を選択またはクリックします。 ![](/gdevelop5/tutorials/rotate-toward-position-action.png) - -「位置に向かって回転」を選択すると、選択パネルの右側に別の選択肢のリストが開きます。アクションの名前とアクションのパラメーターが表示されます。「オブジェクト」を選択/クリックして、最初のパラメーターを入力します。「タレット」が利用可能なオブジェクトのリストからポップアップします。リストから「タレット」を選択します。 ![](/gdevelop5/tutorials/select-turret-object-parameter.png) - -次のパラメーターについては、MouseX()およびMouseY()オブジェクトがマウスの位置に向かって回転するようにします。ゲームが起動されると、これらの2つの式はマウスの現在のXおよびY位置を取得します。「角速度」に0を入力します。「角速度0」は、オブジェクトの即時回転が発生することを意味します。それが「タレット」を回転させるために必要なことです。オブジェクトの回転速度を制御するには、「角速度」に小さい値を入力します。たとえば、「タレット」オブジェクトの速度を落とすには、値100などを入力します。 - -この時点で、このイベントのパラメーターは次のようになります。 ![](/gdevelop5/tutorials/rotate-toward-pos-event-parameters.png) - -マウスのX位置とY位置を取得するために式を使用しています。値フィールドの隣にある青いアイコンをクリックすると、「式」エディタでさらに式を見つけることができます。 ![](/gdevelop5/tutorials/platform-game/expression-icon.png) - -「式」エディターアイコンをクリックすると、使用可能なすべての式を検索できます。式はカテゴリに分類されます。 - -![](/gdevelop5/tutorials/platform-game/expression-editor.png) - -「式」エディターに加えた変更を保存するには、パネルの右下隅にある「OK」ボタンを選択/クリックします。 - -これで、シーンの上にあるツールバーの「プレビュー」ボタンを押してプレビューを実行できます ![](/gdevelop5/preview-button.png) - -「タレット」はマウスの位置に向かって回転します。回転が機能しない場合は、上記の手順をもう一度よく見るか、完成したチュートリアルを参照してください。 ![](/gdevelop5/tutorials/turret-rotate-toward-mouse.png) - -### 砲塔から弾丸を撃つ - -プレイヤーが敵に弾丸を発射できるようにしたいと考えています。これを設定するには、新しい「弾丸」オブジェクトが必要になります。GDインターフェイスの右側にあるシーンの「オブジェクト」リストで、「タレット」オブジェクト(砲塔)をマウスでクリックします。「新しいオブジェクトを追加」を選択するか、「新しいオブジェクトを追加」ボタンをクリックします。 ![](/gdevelop5/tutorials/turret-add-new-object.png) - -ポップアップリストパネルから\[スプライト\]を選択します。次に、追加ボタンを選択してアニメーションを追加します。「Bullet.png」画像ファイルを選択します。新しいオブジェクトの名前を「bullet」に変更します。bulletは弾丸のことです。新しいオブジェクトを追加するために追加のヘルプが必要な場合は、上記の「タレット」オブジェクトの説明を参照してください。 - -次に必要なイベントは、マウスの左ボタンがクリック・押されたかどうかを確認します。押された・クリックされた場合、アクションは発射される弾丸を作成します。箇条書きを作成するには、「新規シーン(イベント)」タブに移動します。新しいイベントを追加します。繰り返しますが、追加のヘルプが必要な場合は、上記の「タレット」イベントを参照してください。「新しいオブジェクトの作成」がイベントの最初のアクションになります。このアクションは、「すべてのオブジェクトの共通アクション」「オブジェクト」パネルで使用できます。 ![](/gdevelop5/tutorials/create-object-action.png) - -「新しいオブジェクトを作成」を選択すると、選択パネルの右側に別の選択肢のリストが開きます。アクションの名前とアクションのパラメーターが表示されます。「オブジェクト」を選択/クリックして、最初のパラメータを入力します。「bullet」が使用可能なオブジェクトのリストからポップアップ表示されます。リストから「bullet」を選択します。 ![](/gdevelop5/tutorials/create-object-action-parameters.png) - -ゲームにはレイヤーが1つしかないため、レイヤーパラメーターは必要ありません。\[OK\]をクリックして、アクションを完了します。 - -次に、この最初のアクションの後に別のアクションを追加します。別のイベントを作成しないでください。最初のアクションの下にある「アクションを追加」をクリックしてください! - -![](/gdevelop5/tutorials/add-second-action.png) - -今回は、「すべてのオブジェクトに共通のアクション」、「移動」、「力の追加(角度)」というアクションを選択します。 - -![](/gdevelop5/tutorials/add-force-angle-action.png) - -GDevelopは組み込みのフォースシステムを提供します。このシステムにより、ゲームオブジェクトを簡単に移動できます。この場合、弾丸が発射されると、アクションは弾丸をマウスに向かって移動するために使用されます。最初のパラメーター(オブジェクト)として「bullet」と入力すると、GDevelopは前のアクションで作成したばかりの弾丸を移動します。 - -「動きの角度」には、砲塔と同じ角度を付けます。2番目のパラメーターに「turret.Angle()」と入力します。3番目のパラメーターには、「400」と入力します。弾丸は毎秒400ピクセルの速度で移動します。最後に、「Permanent(永久)」オプションをクリックします。この最後のパラメーターは、弾丸に常に適用されるように力に伝えます。移動が開始された後、このパラメーターは弾丸の移動を維持します。 - -![](/gdevelop5/tutorials/add-force-angle-parameter-permanent.png) - -プレーヤーが発砲すると、2つのアクションが開始されます。例:マウスの左ボタンを押す。「イベント」エディターでこのイベントを作成するには、イベントに条件を追加する必要があります。「条件を追加」をクリック・選択します。 ![](/gdevelop5/tutorials/add-condition.png) - -「マウスとタッチ」「マウスボタンを押したまままたはタッチしたまま」という条件を選択します。 ![](/gdevelop5/tutorials/mouse-button-pressed-condition.png) - -右側のパネルのポップアップで、ボタンをクリックしてパラメーターをテストします。リストから「左」を選択します。 ![](/gdevelop5/tutorials/mouse-button-pressed-parameter.png) - -最後に「OK」ボタンをクリックしてウィンドウを閉じます。これで、条件がイベントに追加されました。 - -ここでゲームをプレビューすると、2つの問題があることがわかります。 - -- 弾丸の発射速度が速すぎる -- 弾丸はオブジェクトの原点に表示されます。これは非現実的に見えます - -速すぎる弾丸の最初の問題に対処するために、タイマーを使用します。作成した最後のイベントに2番目の条件を追加します。カテゴリ「タイマーと時間」内の条件「シーンタイマーの値」を選択します。 - -![](/gdevelop5/tutorials/timer-value-condition.png) - -パネルが右側に表示されます。最初のパラメーター「Object」は、オブジェクトの名前を示します。空白のままにします。2番目のパラメーター「タイマーの名前」は、タイマーの名前です。「firerate」と入力します。 *タイマーの名前の引用符を忘れないでください!*3番目のパラメーター「秒単位の時間」に0.25を入力します。 ![](/gdevelop5/tutorials/timer-value-condition-parameters.png) - -まだ完了していません!0.25秒ごとに弾丸を撃ちます。そのためには、タイマーをリセットして、0.25秒後に0から開始する必要があります。アクションを追加しましょう:「タイマーと時間」「シーンタイマーの開始(またはリセット)」。このアクションは、同じイベントの「移動」アクションのすぐ下に配置されます。 ![](/gdevelop5/tutorials/reset-timer-action.png) - -タイマーの名前であるパラメーターとして「firerate」を入力します(ここでも引用符に注意してください!) ![](/gdevelop5/tutorials/reset-timer-action-parameter.png) - -この条件とアクションのペアにより、最後の弾丸が作成されてから少なくとも0.25秒が経過したときに、弾丸を発射するために使用されるアクションが確実に繰り返されます。 ![](/gdevelop5/tutorials/shoot-bullet-event1.png) - -次に、砲塔の砲弾から弾丸が発射されるように設定する必要があります。 - -そのために、カスタムポイントを「turret」(砲塔)オブジェクトに追加します。次に、そのポイントの位置に弾丸を作成します。シーンインタフェース画面の右側にある「turretオブジェクトを右クリックして、オブジェクトのプロパティを開きましょう。 ポップアップリストから\[オブジェクトの編集\]を選択します。この選択により、オブジェクトにアニメーションを追加するウィンドウが表示されます。「ポイントの編集」というボタンが表示されます。 ![](/gdevelop5/tutorials/edit-point-button.png) - -ボタンをクリックすると、オブジェクトには現在、デフォルトで「Origin」(起点)ポイントと「Centre」(中心)ポイントの2つのポイントがあることがわかります。 ![](/gdevelop5/tutorials/default-points.png) - -これらのポイントの名前は変更できませんが、デフォルトの位置は変更できます。この場合、オブジェクトにもう1つポイントを追加します。 - -「追加」ボタン(プラス記号)をクリックして、「タレット」オブジェクトにカスタムポイントを追加しましょう。リストに新しいポイントが追加されたことがすぐにわかります。名前「Point」と位置0,0で識別できます。このポイントの名前を「Canon」に変更し、X位置を110、Y位置を35に設定してみましょう。 ![](/gdevelop5/tutorials/custom-point-name-position.png) - -これで、ゲームをプレビューすると、Canonと設定した最後にカスタムポイント ![](/gdevelop5/tutorials/custom-point-preview.png) が表示されます。ウィンドウを閉じて、変更を適用します。 - -行うべきことは、GDevelopに「turret」オブジェクトの「Canon」ポイントから弾丸を発射するように指示することだけです。 したがって、「リストの作成」アクションでは、turret.X()およびturret.Y()の式「turret.PointX("Canon)"」と「turret.PointY("Canon")」に変更する必要があります。 - -これらを変更するには、エディター内の式をクリックします。 ![](/gdevelop5/tutorials/replace-expression-in-editor.png) *ポイントの名前は大文字と小文字が区別されるため、Canonの大文字Cを忘れないでください* - -ここでプレビューを実行すると、弾丸は「turret」の「Canon」から発射されますが、弾丸が少しずれている場合があります。これは、弾丸の原点が左上隅にあるために発生します。砲塔のキヤノンポイントで行ったのと同じ方法で、弾丸の原点の位置を中央に変更します。 ![](/gdevelop5/tutorials/bullet_origin_point.png) - -### 砲塔を攻撃する敵を作成する - -まず、敵に使用するオブジェクトを作成する必要があります。 オブジェクトリストにオブジェクトを追加します(既存のオブジェクトを右クリック\>オブジェクトを追加します。以前と同様にスプライトオブジェクトを選択します)。「enemy」(敵)という名前を付けます。 - -オブジェクトを編集し(リストを右クリックしてリストから\[オブジェクトを編集\]を選択)、次にオブジェクトに2つの画像:tank2fr1.pngとtank2fr2.pngのアニメーションさせる画像ファイルを追加します。 - -![](/gdevelop5/tutorials/enemy-animation.png) - -次に、画像間の時間を0.05に変更し、アニメーションをループに変更して、アニメーションを繰り返します。 - -![](/gdevelop5/tutorials/enemy-animation-speed.png) - -完了したら「適用」をクリックします。 - -### ちょっと待って!時間を節約しましょう! - -先に進む前に、頻繁に保存することを忘れないでください。\[ファイル\]、\[保存\]の順にクリックしてプロジェクトを保存します。 ![](/gdevelop5/tutorials/save-project.png) - -### 敵の AI - -ゲームに戻りましょう。敵を砲塔に向かって移動させます。「イベント」エディターに移動して、新しいイベントを追加します。毎秒敵を作りたいです。「シーンタイマーの値」というカテゴリ「タイマーと時間」にある条件を追加します。「Times of seconds」に1を入力し、「Timer's name」に「EnemyCreation」を入力します。 *タイマーの名前を入力するときは、引用符を忘れないでください* - -次のステップは、敵オブジェクトを作成するアクションを追加することです。「アクションを追加」をクリックします。「すべてのオブジェクトの共通アクション」、「オブジェクト」を検索し、「オブジェクトの作成」を選択します。最初の「作成するオブジェクト」パラメーターで「enemy」を選択します。 - -2番目の「X位置」パラメーターには、式を入力しますRandom(800)。この式は、0〜800の乱数を返します。それぞれの敵が作成されると、画面の位置が異なります。 - -Y位置には、-50を入力します。この値は、画面領域の外側に敵を作成します。画面外に敵を作成すると、ゲームのプレイヤーは、敵の戦車がどこからともなく現れたと感じなくなります。 - -最後に、タイマーをリセットするアクションを追加しましょう(「タイマーと時間」、「シーンタイマーの開始(またはリセット)」)。タイマーの名前として「EnemyCreation」と入力します。繰り返しますが、タイマーの名前を入力するときに引用符を忘れないでください。 - -この時点で、イベントは次のようになります。 ![](/gdevelop5/tutorials/create-enemy-event.png) - -今すぐプレビューを実行しても、何もわかりません。敵は画面外に作成されるため、敵を見ることができません。敵を見るためには、敵をプレイヤーの方に移動する必要があります。 - -これを行うには、別のイベントを追加します。このイベントには条件はありません。「アクションを追加」を選択します。「すべてのオブジェクトに共通のアクション」、「移動」を選択し、「オブジェクトに向かって移動する力を追加」を選択します。 ![](/gdevelop5/tutorials/move-object-toward-other-event.png) - -「オブジェクトに向かって移動する力を追加する」の右側のパネルで、最初のパラメーターに「enemy」を選択します。2番目のパラメーターに「turret」を選択します。速度を上げるには毎秒150ピクセルを入力してください。移動力はゲームのすべてのフレームに適用されるため(条件がないため)、この移動力の適用には「Instant」を選択します。 - -![](/gdevelop5/tutorials/enemy-turret-move-object-toward-another-instant.png) - -プレビューを実行すると、敵が砲塔に向かって移動していることがわかります。ただし、敵が実際に砲塔に向かって回転しないことに気付くかもしれません。それについて何かをしましょう。 - -移動後に2番目のアクションを追加します:「すべてのオブジェクトに共通のアクション」、「角度」、「位置に向かって回転」。パネルの右側にある最初のパラメーターには、「敵」を選択します。敵を回転させたい。X位置とY位置については、式を使用してタレットの中心点を取得し、敵を角速度0でその点に向かって回転させます。角速度0は、オブジェクトを即座に回転させます。 - -![](/gdevelop5/tutorials/rotate-object-toward-position.png) - -この時点で敵のイベントは次のようになります。 - -![](/gdevelop5/tutorials/create-rotate-move-enemies-event.png) - -ここでプレビューを実行すると、敵は砲塔に向かって移動および回転します。 - -![](/gdevelop5/tutorials/turret-screenshot-enemies-moving.png) - -### 爆発のアニメーション効果を追加する - -戦車を破壊する時です!まず、弾丸が戦車に衝突したとき、戦車の位置で爆発が必要です。新しいスプライトオブジェクトを追加し、「explosion」という名前を付けて、Explosion_で始まるアニメーションにすべての画像を追加します。 ![](/gdevelop5/tutorials/select-all-explosion-images.png) - -すべての画像がアニメーションに追加されたら、画像間の時間を0.01秒に設定します。 ![](/gdevelop5/tutorials/explosion-animation-speed.png) - -「適用」をクリックして、アニメーションを保存します。 - -次に、弾丸が敵と衝突したときに爆発を作成します。 新しい条件を追加します。「すべてのオブジェクトに共通の条件」\>「衝突」\>「衝突」を選びます。 ![](/gdevelop5/tutorials/collision-check-event.png) - -右側のパネルで、最初のパラメーターに「bullet」(砲弾)を選択します。2番目のパラメーターには、「enemy」を選択します。 ![](/gdevelop5/tutorials/collision-between-object-condition-parameters.png) - -弾丸と敵を作成したのと同じ方法で、explosion(爆発)オブジェクトを作成するアクションを追加します。 XとYの位置については、enemy.X()およびenemy.Y()という式を使用します。この式は、弾丸と衝突しているenemy(敵)オブジェクトのXおよびY位置を取得します。 ![](/gdevelop5/tutorials/create-explosion-event-parameters.png) - -最後に、爆発を作成した後にアクションを追加します。すべてのオブジェクトに共通のアクション\>オブジェクト\>オブジェクトを削除し、パラメーターの右側で敵を削除したいオブジェクト敵を選択します。敵が削除された直後に弾丸も削除するには、同じアクションを再度追加します。この時点で、イベントは次のようになります。 ![](/gdevelop5/tutorials/enemy-moving-rotating-exploding.png) - -今すぐプレビューを実行すると、いくつかの問題に気付くでしょう: - -- まず、爆発オブジェクトは敵の位置に正確に作成されません。 -- 次に、作成された爆発オブジェクトはシーンに残ります。 - -シーンに残る「爆発」オブジェクトの最初の問題を解決するには、アニメーションが終了した後に爆発オブジェクトを削除する必要があります。新しく空のイベントと条件「スプライト」\>「Animations and Images」\>「Animation finished」を追加します。 ![](/gdevelop5/tutorials/animation-finished-event.png) - -右側のポップアップパネルのパラメーターについては、「爆発」オブジェクトを選択します。「爆発」オブジェクトが終了したら、爆発のアニメーションを削除します。 ![](/gdevelop5/tutorials/check-animation-finished-event-parameter.png) - -アニメーションの「爆発」オブジェクトを削除するには、「爆発オブジェクトを削除」アクションを追加します。 - -2番目の問題を解決するには、まずその原因を理解する必要があります。爆発オブジェクトを作成するとき、式enemy.X()and を使用しましたenemy.Y()。 「enemy」オブジェクトの「Origin」に「explosion」オブジェクトを作成しました。「Origin(起点)」ポイントは、デフォルトでは「敵」(0)の左上隅にあります。また、「explosion」オブジェクト(0)の左上隅である「Origin」ポイントから爆発を作成しています。 - -この問題を解決するには、爆発の起点位置を変更する必要があります。「Origin」ポイントは、オブジェクトの中心に配置する必要があります。オブジェクトを右クリックし、リストから\[オブジェクトの編集\]を選択して、「explosion」オブジェクトを編集する必要があります。次のウィンドウで、「ポイントの編集」を選択します。 - -次に、「Origin」ポイントのX位置とY位置を120に変更します。これにより、ポイントが「explosion」画像の中央に設定されます。 ![](/gdevelop5/tutorials/change-origin-point-position.png) - -最後に、「enemy」の「Origin」に「explosion」オブジェクトを作成する代わりに、中心点にオブジェクトを作成する必要があります。 以下のように、enemy.X()からenemy.PointX("Centre")と、enemy.Y()からenemy.PointY("Centre")のように、爆発を作成するアクションで式を変更する必要があります。 ![](/gdevelop5/tutorials/create-explosion-new-expression.png) - -ここでプレビューを実行すると、敵はオブジェクトの中心からリアルに見えるように爆発します。 ![](/gdevelop5/tutorials/turret-screenshot-enemies-are-exploding.png) - -### さらに爆発とゲームオーバーを追加する - -今まで、プレイヤーは死にませんでした。敵の戦車がプレイヤーの砲塔を攻撃しているとき、砲塔を破壊する必要があります。 新しいイベントを追加します。あなたが従ったのと同じ手順に従って、敵を破壊するイベントを作成します。 - -- 敵の戦車と砲塔間の衝突をテストする条件を追加します -- 砲塔の位置で爆発を作成します -- 砲塔を破壊するアクションを追加します - -![](/gdevelop5/tutorials/delete-turret-on-collision-event.png) - -さらに、砲塔が破壊されたときに「ゲームオーバー」というテキストを表示すると面白いでしょう。 シーンオブジェクトリストを使用して新しいオブジェクトを追加します。 今回は、「テキスト」オブジェクトを選択します。「GameOver」という名前を付けます。 ![](/gdevelop5/tutorials/select-text-object-from-list.png) - -オブジェクトを右クリックして「GameOver」オブジェクトを編集します。ポップアップリストから\[オブジェクトの編集\]を選択します。 ここで、テキストを「ゲームオーバー」、テキストの色を赤、テキストサイズを40に変更します ![](/gdevelop5/tutorials/edit-text-object.png) - -フォントのパスを入力するだけでカスタムフォントを設定することもできます。この場合、フォントはプロジェクトフォルダーにあります。フォントファイルの名前を入力するだけです。 ![](/gdevelop5/tutorials/custom-text-font.png) - -最後に、「Game Over」テキストオブジェクトをシーンに追加します。 - -次のステップは、テキストオブジェクトを非表示にすることです。次に、シーンに砲塔がない場合(砲塔が破壊されることを意味します)、表示します。新しい空のイベントを追加し、条件「シーン」、「シーンの開始時」を追加します。 ![](/gdevelop5/tutorials/at-the-beginning-of-the-scene-condition.png) - -この条件にはパラメーターがありません。シーンの先頭でアクションを1回実行するだけです。 次に、アクションを「シーンの先頭で」イベントに追加します。「すべてのオブジェクトの共通アクション」\>「可視性」\>「非表示」を選択します。 ![](/gdevelop5/tutorials/hide-object-event.png) - -このオブジェクトを非表示にしたいので、パラメーターにはGameOverオブジェクトを選択します。 ![](/gdevelop5/tutorials/hide-object-event-parameter.png) - -シーンにturretがない場合、「GameOver」テキストオブジェクトを表示します。 新しい空のイベントを追加します。「すべてのオブジェクトに共通の条件」\>「オブジェクト」\>「オブジェクトの数」という条件を追加します。 ![](/gdevelop5/tutorials/objects-count-condition.png) - -右側の最初のパラメーターには砲塔オブジェクトを選択し、テストの符号には等号を選択し、テストの値には0を入力します。シーン内の砲塔の数が0かどうかをテストするためです。 ![](/gdevelop5/tutorials/object-count-condition-parameters.png) - -そして、やりたいことは、シーンに砲塔がない場合はGameOverというテキストを表示することです。そのため、すべてのオブジェクトに共通アクション\>可視性\>表示のアクションを追加し、パラメーターにGameOverオブジェクトを選択します。 ![](/gdevelop5/tutorials/destroy-turret-event.png) - -最後に、やるべき効果は、ゲームを停止し、少し遅れてゲームオーバーを表示することです。 2番目の条件「タイマーと時間」、「シーンタイマーの値」を追加します。時間パラメータには0.1を入力し、名前パラメータには「GameOver」を入力します。2番目のアクション「タイマーと時間」、「時間スケールの変更」を追加します。ゲームを停止し、0.1秒後にゲームオーバーテキストを表示するには、パラメーターとして0を入力します。 - -下記は、すべてのイベントを表示しています。 ![](/gdevelop5/tutorials/all-events.png.) - -ゲームをプレビューできます。タレットが破壊されると、少し遅れてGame Overテキストが表示され、ゲームが停止します。 ![](/gdevelop5/tutorials/gameover-screenshot.png) - -### ゲームの最適化 - -弾丸が画面領域の外側にある場合、弾丸の表示は不要になりますが、画面外であっても、弾丸にはまだ動きがあります。弾丸と戦車との衝突もチェックされています。 すべてのデバイスには、メモリと処理能力のリソースが限られています。オブジェクトが画面外にある場合、オブジェクトの状態とアクションを引き続きチェックすることにより、貴重なリソースを無駄にしています。 ゲームをプレイしているデバイスのメモリの制限に達すると、ゲームの速度が低下したり、クラッシュしたり、プレイできなくなったりする可能性があります。できるだけ多くのデバイスでゲームをプレイできるようにするには、常にゲームを最適化する必要があります。 そのための1つの方法は、ゲームで不要になったオブジェクトを削除することです。このようにして、ゲームで使用されるメモリと処理能力の量を少なくします。 - -弾丸が砲塔から離れすぎている場合、弾丸を破壊するイベントを追加できます。これは簡単ですが、ビヘイビア(動作)を使用することもできます。 GDevelopの動作は、特定の機能をオブジェクトに追加します。この場合、弾丸に「画面外破壊」ビヘイビアーを追加します。その後、ゲーム画面の外にいるときに破壊されます。 - -シーンの「オブジェクト」リストで、「bullet」オブジェクトを右クリックします。ポップアップセレクタから\[オブジェクトの編集\]を選択します。「プロパティパネル」が開きます。「動作」タブを選択またはクリックします。「動作」タブには、オブジェクトに追加したすべての動作が表示されます。今は空です。 ![](/gdevelop5/behaviors-tab.png) - -「クリックしてオブジェクトにビヘイビアを追加する」ボタンをクリックします。 ![](/gdevelop5/add-behavior-button.png) - -次に、画面外の動作を破棄するリストから選択します。 ![](/gdevelop5/behaviors/destroy-outside-screen-behavior-inlist.png) - -次に、動作がリストに追加されるのを確認します。通常、ビヘイビアにパラメータがある場合は、ここにも表示されるため、変更できます。しかし、この動作にはパラメーターがありません。画面の外にあるオブジェクトを破壊するだけです。\[適用\]をクリックすると完了です。 - -今すぐプレビューを実行する場合、ゲームは非常にシンプルであり、おそらく2GB以上のRAMとデュアルコアCPUを備えたデバイスを使用しているため、おそらく違いに気付かないでしょう。単純なゲームには十分なリソースがありますが、数百、数千の弾丸を自由に試せる場合、それらを破壊せずにしばらくすると少し遅くなることがあります。 - -### 背景の追加 - -最後に背景を追加します。これにより、ゲームがより完成した外観になります。 - -新しいスプライトオブジェクトを追加します。「背景」という名前を付けます。「background.jpg」画像ファイルをオブジェクトに追加します。次に、通常どおりオブジェクトをシーンに追加できます。シーン全体を埋めるようにしてください。簡単にするために、上部のボタンを使用してグリッドを有効にすると、オブジェクトの配置に役立ちます。 ![](/gdevelop5/toggle-grid-button.png) - -背景オブジェクトが他のすべてのオブジェクトを覆っていることに注意してください。この問題を解決するには、オブジェクトのZオーダーを変更する必要があります。背景オブジェクトが選択されている間、シーンエディター画面の左側に、「プロパティ」リストが表示されます。\[プロパティ\]リストが表示されない場合は、GDインターフェイスの上部にあるツールバーの\[プロパティ\]ボタンを使用して開くことができます。 ![](/gdevelop5/object-properties-button.png) - -プロパティエディターを使用して、あらゆる種類のプロパティを変更できます。オブジェクトの位置、角度、サイズを変更できます。この場合、Zオーダーを変更します。 ![](/gdevelop5/objects/object-zorder-properties.png) - -Zオーダーの値を低い数値に変更します。背景には、負の数-1を使用します。負の値の理由は、弾丸、敵、爆発を作成するとき、デフォルトでZオーダー0で作成するためです。背景を0未満に配置する必要があります。そうしないと、ゲーム内の砲塔以外は表示されません。それを修正するもう1つの方法は、GDevelopにタンクと爆発と弾丸をより高いZオーダーに配置するように指示することです。バックグラウンドを0に配置することもできますが、開発者が自分で決める必要があるものです。すべての問題には、さまざまな解決策があります。 - -できました!ゲームが完了し、共有する準備ができました。 - -### コメントの追加 - -これでゲームは終了です。プレイ可能です。ソースを他の人と共有したい場合はどうしますか?あなたがチームで働いているとしましょう。チームの誰かがゲームに変更を加えたいと考えています。その人は、敵、弾丸、または砲塔のイベントを探す場所をどのように知っていますか?あなたには馬鹿げているかもしれません。GDevelopのイベントのほとんどは、一目瞭然です。私たちのゲームは、何が起こっているのかを見るのに十分なほど単純です。ただし、数百または数千のイベントで構成されるゲームがある状況を想像してください。ここでコメントが役立ちます。ゲームのリマインダーを他の人や自分自身に残すことができます。あなたがゲームを作った人であるとしても、大きな複雑なゲームでは、私を信頼してください。これは特に数ヶ月後です。*プロジェクトのサイズに関係なく常にコメントを使用します。*それはちょうど良いプログラミングの実践です。 - -ゲームにコメントを追加するには、\[イベント\]画面の上部にあるツールバーの\[コメントを追加\]ボタンをクリックするだけです .![](/gdevelop5/add-comment-button.png) - -「イベント」エディタに黄色のボックスが表示されます。ボックスをクリックすると、コメントの書き込みを開始できます。 ![](/gdevelop5/tutorials/comment.png) - -各イベントとコメントの位置を変更するには、マウスを左側の青い縁の上に移動して上下にドラッグします。最初のコメントは次のようになります。 ![](/gdevelop5/tutorials/all-events-with-comments.png) - -### あなた自身で GDevelop で新しい発見をしましょう - -次の [](/ja/gdevelop5/tutorials) と [](/ja/gdevelop5/getting_started) を読み進めましょう。 - -また、GDevelopには多数のサンプルとテンプレートがバンドルされています!詳細については次を参照して下さい。 [gametemplates.itch.io](https://gametemplates.itch.io/gdevelop-examples) - -また、[公式フォーラム](http://forum.compilgames.net/)で質問することもできます。 diff --git a/docs/javascript/translate.js b/docs/javascript/translate.js new file mode 100644 index 00000000000..c571b8ef82e --- /dev/null +++ b/docs/javascript/translate.js @@ -0,0 +1,130 @@ +(() => { + // Can't import as it's not a module. + const translateSvg = + ''; + + const isGoogleTranslatedUrl = (url) => { + // Check if the URL is a translated URL. + const googleTradRegex = /translate\.goog/; + return googleTradRegex.test(url); + }; + + const isGoogleTranslateUrl = (url) => { + // Check if the URL is a Google Translate URL (to be translated) + const googleTradRegex = /translate\.google\.com/; + return googleTradRegex.test(url); + }; + + const getOriginalUrl = (googleTradUrl) => { + // Extract the original URL from the Google Translate URL. + // URL can look like this: + // https://translate.google.com/website?sl=en&tl=fr&hl=fr&u=https://www.youtube.com/watch?v%3D595-swNh0Mw%26list%3DPL3YlZTdKiS89Kj7IQVPoNElJCWrjZaCC8%26index%3D1 + // We need to extract the value of the "u" parameter, with the query params. + const url = new URL(googleTradUrl); + const originalUrl = url.searchParams.get("u"); + if (originalUrl) { + // Decode the URL and return it + return decodeURIComponent(originalUrl); + } + // Otherwise, return the original Google Translate URL + return googleTradUrl; + }; + + function showGoogleTranslateBar() { + const userLang = navigator.language || navigator.userLanguage || "en"; + const sourceLangCode = "en"; + const userLangCode = userLang.split("-")[0]; // Get the language code (e.g., "en", "fr") + // For some reason, if trying to translate from English to English, Google Translate + // does not work. So we need to change the target language to French in that case. + const targetLangCode = userLangCode === "en" ? "fr" : userLangCode; + + const currentUrl = window.location.href.replace( + // This is to test locally. + "http://localhost:8000", + "https://wiki.gdevelop.io" + ); + + if (isGoogleTranslatedUrl(currentUrl)) { + // If the page is already a Google Translate page, it is hard to get the original URL. + // So we just don't do anything. + return; + } + + // If the page is not a Google Translate page, we need to open the Google Translate page. + window.open( + "https://translate.google.com/translate?sl=" + + sourceLangCode + + "&tl=" + + targetLangCode + + "&u=" + + encodeURIComponent(currentUrl), + // Replace the current page with the translated page + "_self" + ); + } + + // Add event listener to the language icon when the page loads + document.addEventListener("DOMContentLoaded", function () { + const headerTitle = document.querySelector(".md-header__title"); + if (headerTitle) { + const translateButton = document.createElement("button"); + + translateButton.innerHTML = translateSvg; + translateButton.className = "md-header__button md-icon"; + translateButton.id = "translate-button"; + translateButton.title = "Translate this page"; + + translateButton.addEventListener("click", showGoogleTranslateBar); + + // Insert the button after the header title + headerTitle.parentNode.insertBefore( + translateButton, + headerTitle.nextSibling + ); + } + + document.querySelectorAll("a").forEach((link) => { + const href = link.getAttribute("href"); + if (!href) { + return; + } + + if (!isGoogleTranslateUrl(href)) { + return; + } + + let originalUrl = getOriginalUrl(href); + if (!originalUrl.includes("wiki.gdevelop.io")) { + // If the original URL is not from the wiki, we need to change it to the original URL. + // Otherwise, we just keep the original URL. + link.href = originalUrl; + } + }); + }); + + // Search container is added dynamically by mkdocs when search is opened. + // So we need to listen to dom updates to detect the search container. + const observer = new MutationObserver((mutations) => { + mutations.forEach((mutation) => { + if (mutation.addedNodes.length) { + mutation.addedNodes.forEach((node) => { + if ( + node.nodeType === 1 && + node.classList.contains("DocSearch-Container") + ) { + // Prevent translating everything inside that component by adding class "notranslate". + // It should be enough to prevent everything inside the component to be translated. + node.classList.add("notranslate"); + } + }); + } + }); + }); + const config = { childList: true, subtree: true }; + const targetNode = document.body; + observer.observe(targetNode, config); + // Stop observing when the page is unloaded + window.addEventListener("beforeunload", function () { + observer.disconnect(); + }); +})(); diff --git a/docs/ko/gdevelop5/getting_started.md b/docs/ko/gdevelop5/getting_started.md deleted file mode 100644 index 691e2da9157..00000000000 --- a/docs/ko/gdevelop5/getting_started.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: 시작하기 ---- -# 시작하기 - -## GDevelop 온라인을 사용하거나 데스크탑 버젼을 다운로드 하세요. - -* 시작하기 위해, [GDevelop 온라인 체험]을 할 수 있습니다. (https://editor.gdevelop.io). -* 자신만의 게임을 만들려면, [GDevelop 웹사이트의 데스크탑 버젼]을 -## GDevelop 온라인을 사용하거나 데스크탑 버젼을 다운로드 하세요. - -* 시작하기 위해, [GDevelop 온라인 체험]을 할 수 있습니다. (https://editor.gdevelop.io). -* 자신만의 게임을 만들려면, [GDevelop 웹사이트의 데스크탑 버젼]을 저장하고 게시하세요. (https://gdevelop.io). - -GDevelop을 다운로드했으면, 설치 프로그램을 열고 소프트웨어를 설치하세요. - -* Window 시스템에서, *설치 프로그램을 시작* 한 후에, 실행하기 위해 데스크탑의 *GDevelop 아이콘* 을 이용하세요. 설치프로그램 파일(zip 파일과 같은)을 *압축해제* 하고 소프트웨어를 어떤 폴더에든 넣을 수 있습니다. -* MacOS에서, *DMG 파일* 을 시작하고, GDevelop을 *Application* 으로 드래그한 다음 Application 폴더에서 GDevelop를 엽니다. -* Linux에서는, 아카이브를 *압축해제* 하고 실행파일을 실행합니다. -응용 프로그램이 시작되면, 시작 페이지가 표시됩니다. 시작 페이지에서 기존 프로젝트를 열거나 새로운 프로젝트를 생성할 수 있습니다. - -![](/gdevelop5/start_page.png) -#### 새 프로젝트 만들기 - -새 프로젝트를 만들기 위하여, 시작 페이지에서 "새 프로젝트 만들기"를 선택합니다. - -새 윈도우 창이 열리는 것을 확인할 수 있습니다. 당신은 새 윈도우 창에서 다양한 템플릿과 예제, 혹은 빈 프로젝트를 선택하실 수 있습니다. 예제가 특정 기능을 어떻게 사용하는지 보여주는 것이라면 시작하기는 당신이 직접 플레이하고, 공부하고, 수정할 수 있도록 만들어진 게임입니다. - -빈 프로젝트는 어떠한 에셋이나 이벤트, 장면 등도 들어있지 않습니다. - 말그대로 텅 빈 프로젝트입니다. - -![](/gdevelop5/create-new-project-window.png) - -새 윈도우 창의 꼭대기에서 프로젝트를 저장할 장소를 선택하실 수 있습니다. -![](/gdevelop5/project-default-location.png) - -프로젝트를 저장할 위치를 선택하셨다면 시작하기나 예제에서 게임을 선택해 줍니다. - -!!! note - - 기본적으로 새 게임은 "문서" 폴더의 "GDevelop Projects"에 저장됩니다. -#### 프로젝트 열기 - -프로젝트를 열기 위하여 시작 페이지에서 "프로젝트 열기"를 선택합니다. - -그 다음 브라우저 창을 통해 실행할 프로젝트를 선택합니다. 만약 온라인으로 이용하고 계신다면 구글 드라이브를 통해 저장, 불러오기를 하실 수 있습니다. GDevelop 5의 프로젝트 파일은 기본적으로 ".json" 파일로 저장됩니다. - -GDevelop 4를 사용하실 경우 [이 곳](/gdevelop5/getting_started/open-gdevelop-4-project)에서 당신의 파일을 GDevelop 5로 여는 방법을 확인하실 수 있습니다. -#### 다음 단계: 튜토리얼 시작하기 - -계속하시려면 **[GDevelop의 기본 개념](/gdevelop5/tutorials/basic-game-making-concepts)**을 확인하십시오. - -이 곳에서 제공하는 튜토리얼과 다양한 문서들을 통해 최고의 학습 효과를 경험하실 수 있습니다. [튜토리얼](/gdevelop5/tutorials)을 읽고 따라해보세요! -#### 더 알아보기 - -더 많은 정보를 얻고 싶다면 아래 링크를 참고하세요. 모든 것이 설명되어있습니다: - - * [interface](/gdevelop5/interface) - * [objects](/gdevelop5/objects) - * [behaviors](/gdevelop5/behaviors) - * [events](/gdevelop5/events) - * [all features](/gdevelop5/all-features) - * [publishing](/gdevelop5/publishing) - -GDevelop에 들어있는 **예제**도 확인해 보세요! 예제를 통해 GDevelop의 다양한 기능들을 학습하실 수 있습니다. - diff --git a/docs/ko/gdevelop5/index.md b/docs/ko/gdevelop5/index.md deleted file mode 100644 index 5fd93f65748..00000000000 --- a/docs/ko/gdevelop5/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: start ---- -![](/logocompleteeffecttranparent400x100.png) - -# GDevelop5 - -GDevelop은 누구나 사용할 수 있도록 설계된 오픈소스, 크로스 플랫폼 **게임 엔진**입니다 - 프로그래밍을 하신 경험이 없어도 사용하실 수 있습니다! GDevelop을 사용하신 경험이 없으시면 [온라인으로 체험](https://editor.gdevelop.io)하시거나 [데스크탑에 설치](http://gdevelop.io/download)하세요! - -이 **위키 사이트**는 소프트웨어에 대한 전반적인 사용법과 튜토리얼을 제공합니다: GDevelop은 언제나 여러분의 기여를 환영합니다! - -# 시작하기 - -➡️GDevelop 5를 시작하기 위해서, [시작 페이지](/gdevelop5/getting_started), **[기본 게임 제작 개념](/gdevelop5/tutorials/basic-game-making-concepts)**을 읽고 [튜토리얼](/gdevelop5/tutorials)을 확인하십시오. diff --git a/docs/ko/gdevelop5/tutorials/basic-game-making-concepts.md b/docs/ko/gdevelop5/tutorials/basic-game-making-concepts.md deleted file mode 100644 index a7ebc882984..00000000000 --- a/docs/ko/gdevelop5/tutorials/basic-game-making-concepts.md +++ /dev/null @@ -1,160 +0,0 @@ ---- -title: basic-game-making-concepts ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -# 기본적인 게임 제작: GDevelop을 시작하기 위해 알아야 할 사항 - -GDevelop의 기본 원리는 간단합니다. 프로그램을 시작하기 위해 아래의 내용을 읽어 봅시다. GDevelop를 설치하지 않으셨다면 [최신 버전](https://gdevelop.io/download)을 설치하세요. - -## 화면에 물체를 나타내기: 오브젝트 - -화면에 있는 모든 것을 **"오브젝트"**라고 합니다. 다양한 종류의 오브젝트는 다양한 게임 요소들을 화면에 나타냅니다. 예를 들어 대부분의 게임 그래픽은 "스프라이트"로, 텍스트는 "텍스트"로, 불이나 스파크같은 이펙트들은 "입자"로 나타낼 수 있습니다. - -## 오브젝트의 위치를 지정하기: 좌표 - -GDevelop 화면/장면 상의 오브젝트는 **X, Y 좌표**를 가집니다. 좌표는 *데카르트 평면*의 X축과 Y축에 대응합니다. - -X 좌표는 왼쪽으로 갈수록 *감소*하고, 오른쪽으로 갈수록 *증가*합니다. Y 좌표는 아래로 갈수록 *증가*하고 위로 갈수록 *감소*합니다. - -![pres_coord1.png](/wiki/pres_coord1.png) - -오브젝트를 이동하거나 회전시키기 위하여 원하는 각도를 설정할 필요가 있습니다. 아래의 그림은 GDevelop가 이해하는 회전각도를 나타냅니다: - -![pres_coord2.png](/wiki/pres_coord2.png) - -만약 **사인**이나 **코사인**과 같은 삼각함수를 이용할 경우, 각도를 라디안으로 표현해야 합니다. (1 라디안은 180/π 도이고, 1도는 π/180 라디안입니다. π(원주율)은 대략 3.14159에 가까운 값입니다.) - -## 이벤트와 이벤트가 오브젝트를 선택하는 법 - -당신은 게임의 규칙을 만들기 위해 이벤트를 만듭니다. 이벤트는 조건과 액션으로 이루어져 있습니다. 대부분의 조건과 액션은 오브젝트에 적용됩니다: - -* 조건은 오브젝트에 **테스트**를 실행합니다. * 액션은 오브젝트를 **움직이게 합니다.** 액션으로 오브젝트의 위치나 생김새 등등을 바꿀 수 있습니다. - -조건이 없는 액션은 모든 오브젝트에 적용됩니다. 만약 오브젝트를 이벤트에서 최초로 사용할 경우, GDevelop는 그 장면의 그 오브젝트의 이름을 가진 **모든 오브젝트**를 시험하거나 수정할 것입니다. 만약 오브젝트를 같은 이벤트에서 다시 사용한다면 GDevelop는 이전 조건에 적용된 오브젝트만 시험하거나 수정할 것입니다. - -예를 들어봅시다. 아래의 이벤트는 조건을 가지지 않고 있습니다. 따라서 "Square"라는 이름의 **모든** 오브젝트를 삭제할 것입니다. - -![](/gdevelop5/tutorials/delete-square.png) - -아래의 이벤트는 조건을 가지고 있습니다. 따라서 **오직** 100픽셀 이하의 X 좌표를 지닌 "Square"오브젝트만이 삭제될 것입니다. - -![](/gdevelop5/tutorials/delete-square-condition.png) - -!!! note - - **액션을 넣어줍시다!** 🎮아래의 예제를 온라인으로 열어봅시다: - -[![](/gdevelop5/tutorials/objectselection-pickobject.png)](https://editor.gdevelop.io/?project=example://object-selection) - -## 이벤트: 순서가 중요하다 - -이벤트에서 순서는 **매우 중요합니다!!** - -제일 위에 있는 이벤트가 먼저 실행됩니다. 이벤트는 게임이 비춰질 경우 계속 실행됩니다. 비추어지는 것을 우리는 프레임이라고 부릅니다. 매초마다 60번 실행됩니다. 아래의 예제는 동등하지 않습니다: - -![](/gdevelop5/tutorials/create-then-delete-square.png) - -![](/gdevelop5/tutorials/delete-then-create-square.png) - -* The first pair of events actions create a "Square" object at coordinates X: 100. Y: 200 (100;200). Then the event deletes the created square immediately. **No** "Square" is displayed on the screen. It's deleted just after being created. * The second pair of events actions deletes all the "Square" objects from the scene/screen. It then creates one "Square" at the scene/screen coordinates X: 100, Y: 200 (100;200). This event shows a square is **visible** on the scene (before being deleted at the next frame. It will, then, be recreated immediately. - -## Behaviors: pre-defined rules and logic for objects - -**Behaviors** allow to enhance an object with some *pre-defined logic*. Behaviors can be fairly simple, automating simple tasks or much more advanced. For example: - -* A behavior can be used to *automatically* remove an object from the game when it *goes out of the screen* (limiting the game memory usage). * Another behavior can be used to *move objects on the screen with the keyboard arrows*. * Yet another behavior can be used to allow the object to be *dragged on screen* with the mouse or by touching the object. * The *Physics* behavior is an example of an advanced behavior which make your objects move in a realistic way, following the laws of physics. - -**Objects** and **Behaviors** can be manipulated using events. You can read the pages about [Objects](/gdevelop5/objects) and [Behaviors](/gdevelop5/behaviors) to know more about them. - -!!! note - - You can create *custom behaviors* for your objects. It's even recommended when your game grows. This allow you to put logic about what your objects are doing in the custom behaviors, rather than bloating the events sheet of the scene. You can [read more in this article](/gdevelop5/tutorials/how-to-make-behavior). - -## Moving objects: using the built-in forces - -Moving objects can be achieved with **forces**. Forces are used to "push" objects. - -You can specify: - -- the coordinates of a force on the X and Y axis, in pixels, -- or its polar coordinates (the force angle, in degrees, and length, in pixels), -- if the force is instant (will only push "a bit" the object) or continuous (will keep pushing the object until it's removed). - -### Example - -Say you want to move an object towards the bottom: - -![pres_vector.png](/wiki/pres_vector.png) - -You can add a force using X/Y coordinates by specifying 0 for the X coordinate and, say, 150 pixels for the Y coordinate. You can also use polar coordinates and add a force with an angle of 90° and a length of 150 pixels. - -### Other ways of moving objects - -Some "behaviors", like the Physics engine or Pathfinding, may move the objects by themselves. In this case, it is better not to use the builtin forces system and instead rely only on actions provided by these behaviors. - -!!! note - - **See it in action!** 🎮Open this example online: - -[![](/gdevelop5/tutorials/moveobjectwithphysics.png)](https://editor.gdevelop.io/?project=example://move-object-with-physics) - -!!! note - - These other ways of moving objects are explained in [this how-to page](/gdevelop5/tutorials/how-to-move-objects). - -## Storing any information in memory: Variables - -A Variable allows you to store **data**. For example, a variable can store a number or a text. We might compare them to drawers or boxes where we can file notes. Any data can be stored in a variable, as long as it is in *text* or *number* format. Such things as the number of lives a player has remaining, a player's high score, the number of bullets left, and/or the number of enemies killed are all examples of what can be stored in a variable. You are probably going to store numbers in variables as a common practice. - -![pres_variable.png](/wiki/pres_variable.png) - -Actions and conditions test or change a variable *value*. - -#### Where are variables stored? (variable "scope") - -The *scope* of a variable determines the place a variable can be accessed. In GDevelop, there are three variable scopes are available: - -* **Global** variables are accessible from all the game scenes. For instance, they can be used to store the player's score across different levels/scenes. * **Scene** variables are only accessible from the scene they are created in. They can be used for data that only concerns one scene. A Scene variable would be able to access the time remaining to complete the level/scene. - -* **Object** variables only concern one object. For example, a hero can have a "Health" or "Ammo" variable. - -!!! note - - Read more about variables on the [Variables](/gdevelop5/all-features/variables) page. Variables are used a lot in games: most examples use them and tutorials will make use of them too. - -!!! note - - Want to see how variables are used in a video tutorial? Check this tutorial: [Variables explained for Non-programmers](https://www.youtube.com/watch?v=SRfpBTgx-PY). - -## An advanced notion: the "time elapsed" since last frame (TimeDelta) - -The game evaluates events and repaints the screen several times per second: we say that the game is *refreshed*, *updated* during a "tick". How often this happens depends on your computer resources: a slow computer can render 25 frames per second, a fast one 60. GDevelop can usually make sure that this value is the same on all computers. However, the speed of some operations can change from computer to computer, for example, mathematical operations and the rendering of movements. - -To make the speed of changes constant, use the *`TimeDelta()` expression*, which returns the time in seconds since the last frame. For example, don't do this: - -![](/gdevelop5/tutorials/update-life-no-timedelta.png) - -But do this instead: - -![](/gdevelop5/tutorials/update-life-timedelta.png) - -* The first event is adding 20 to the variable every time the game is refreshed (i.e. as much as possible, up to 60 times per second). It's **not correct** to use such event as the speed of the increase of the variable will not be the same from computer to computer: we cannot predict the value of the variable after 10 seconds for example - as it depends on the number of frames of the game painted. - -* The second event is **correct and reliable** : The number 300 is multiplied by TimeDelta(). Thus, the variable will be increased at the same time on all computers. As TimeDelta() returns a time in second, it allows you to quantify exactly the amount: In our case, the variable will grow at 300 units/second. Thus, we can predicate that life will increase by 3000 units in 10 seconds - whatever the number of frames painted during this time. - -!!! note - - As GDevelop will run your game at a maximum of 60 images per second, you usually won't notice an issue if you're using the first event. It's still a good idea to keep an eye on this and use the version with `TimeDelta()` instead. - -**Rule of Thumb:** Use _TimeDelta()_ when you want to continually add some amount to a value. If your action is meant to be launched only once (for example, during a collision where you then delete the object), it's ok to use a discrete value without TimeDelta - as it does not depend on the speed of the game. - -!!! note - - When you're moving an object using forces, there is no need to use TimeDelta() as GDevelop automatically uses it. - -## And... that's almost all you need to know - -➡️ You can continue to read **[the tutorials](/gdevelop5/tutorials)** to know more about creating real games with GDevelop! diff --git a/docs/ko/gdevelop5/tutorials/index.md b/docs/ko/gdevelop5/tutorials/index.md deleted file mode 100644 index 8ca94fcd753..00000000000 --- a/docs/ko/gdevelop5/tutorials/index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: GDevelop 5 튜토리얼 ---- -# GDevelop 5 튜토리얼 - -해당 튜토리얼들은 처음부터 게임을 만드는 방법을 설명하는 단계별 가이드입니다. - -- [기본적인 게임 제작: GDevelop을 시작하기 위해 알아야 할 사항](/gdevelop5/tutorials/basic-game-making-concepts) -- [플랫폼 게임 만들기](/gdevelop5/tutorials/platformer/start) -- [Tank Shooter 게임 만들기](/gdevelop5/tutorials/tank-shooter) -- [간단한 Endless Runner game 만들기](/gdevelop5/tutorials/endless-runner) -- [간단한 Breakout game 만들기](/gdevelop5/tutorials/roadrider) - -# GDevelop 5 영상 튜토리얼 - -- [영상 튜토리얼 목록](/gdevelop5/tutorials/videos) - ------------------------------------------------------------------------- - -# GDevelop 5 가이드 (방법) 다음의 가이드들은 GDevelop의 특정 부분에 대한 설명을 제공하고, 또한 게임을 디자인하기 위한 몇 가지 고급 기술도 보여줍니다. - -- [복잡한 논리 처리 방법 – The finite state machine (FSM)](/gdevelop5/tutorials/finite_state_machine) -- [플렛포머 게임 속 캐릭터 점프와 낙하를 애니메이션화하기](/gdevelop5/tutorials/how-to-animate-jump-fall-platformer) -- [게임에서 큰 배경화면 출력하기](/gdevelop5/tutorials/how-to-display-big-background) -- [성능 저하 게임 디버깅하기](/gdevelop5/tutorials/how-to-debug-poor-performance) -- [저장 액션 설명](/gdevelop5/tutorials/storage-action-explained) -- [게임의 크기 줄이기](/gdevelop5/tutorials/reduce-size-game) - ------------------------------------------------------------------------- - -# 기타 가이드 아래의 가이드들은 게임 개발 관련 설명을 제공합니다. 이것들은 GDevelop에만 해당하는 것이 아닙니다. - -* [itch-io에 게임 게시하기](/gdevelop5/publishing/publishing-to-itch-io) - -* [Amazon App Store에 게임 게시하기](/gdevelop5/publishing/publishing-to-amazon-app-store) - -* [Game Jolt에 게임 게시하기](/gdevelop5/publishing/publishing-to-gamejolt-store) - -* [Kongregate에 게임 게시하기](/gdevelop5/publishing/publishing-to-kongregate-store) - ------------------------------------------------------------------------- - -# 리소스 - -게임 퀄리티 향상을 위해 게임 예시,템플릿, 소프트웨어와 스프라이트, 음악, 음향 이펙트를 찾을 수 있는 타사 웹 사이트에 연결하세요. - -- [리소스 목록](/gdevelop5/tutorials/resources) - ------------------------------------------------------------------------- - -!!! note - - 위키는 누구든 편집할 수 있습니다. 주저하지 말고 계정을 만들어서 글을 향상시키거나 실수를 고치거나 새 가이드를 쓰면서 기여하세요! diff --git a/docs/logocompleteeffecttranparent400x100.png b/docs/logocompleteeffecttranparent400x100.png deleted file mode 100644 index ec3fd24b1e3..00000000000 Binary files a/docs/logocompleteeffecttranparent400x100.png and /dev/null differ diff --git a/docs/nl/gdevelop5/tutorials/platformer/index.md b/docs/nl/gdevelop5/tutorials/platformer/index.md deleted file mode 100644 index d10094ebf4e..00000000000 --- a/docs/nl/gdevelop5/tutorials/platformer/index.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -title: Platformer tutorial, Deel 1 - beginnen met het spel ---- -# Platformer tutorial, Deel 1: beginnen met het spel - -Deze tutorial legt uit hoe je een platformgame kunt maken met GDevelop. Als je nog nooit een game met GDevelop hebt gemaakt, is dit een geweldige plek om te beginnen. - -Je leert het volgende: - -- Een level ontwerpen met platforms, vijanden en munten die je kan verzamelen. -- Het maken van een speelbaar personage dat kan bewegen, springen en vijanden kan doden. -- Het personage terugbrengen naar het checkpoint als deze dood gaat. - -## Reeks - -Je leest **Deel 1** van de [Platformer Tutorial](/nl/gdevelop5/tutorials/platformer). - -1. Platformer Tutorial, Deel 1 -2. [Platformer Tutorial, Deel 2](/nl/gdevelop5/tutorials/platformer/part-2) -3. [Platformer Tutorial, Deel 3](/gdevelop5/tutorials/platformer/part-3) -4. [Platformer Tutorial, Deel 4](/gdevelop5/tutorials/platformer/part-4) -5. [Platformer Tutorial, Deel 5](/gdevelop5/tutorials/platformer/part-5) -6. [Platformer Tutorial, Deel 6](/gdevelop5/tutorials/platformer/part-6) -7. [Platformer Tutorial, Deel 7](/gdevelop5/tutorials/platformer/part-7) -8. [Platformer Tutorial, Deel 8](/gdevelop5/tutorials/platformer/part-8) - -## Stap 1: Installeer GDevelop - -Download en installeer GDevelop als je dat nog niet hebt gedaan. Je vindt de volledige instructies voor het instellen van de software op de pagina [Getting Started](/gdevelop5/getting_started). - -## Stap 2: Download de assets voor de game - -De term *assets* verwijst naar de audio- en visuele media van een game, zoals geluiden en sprites. Elke game heeft assets nodig en om je leven een beetje gemakkelijker te maken, biedt deze tutorial de assets die je nodig hebt om de game te maken. - -Je kunt de assets downloaden via de volgende URL: - -http://www.compilgames.net/dl/PlatformerTutorialResources.zip - -!!! note - - Je bent ook meer dan welkom om andere assets te gebruiken. Natuurlijk zal de game die je in de schermafbeeldingen ziet er anders uitzien dan de game die je uiteindelijk maakt. - -## Stap 3: Maak een nieuw project - -In GDevelop is een _project_ een container voor de assets en logica van de game. In deze tutorial worden de termen "project" en "game" als synoniemen gebruikt. - -Om een nieuw project te maken: - -1. Star GDevelop. -2. Selecteer **Create a new project**. -3. Kies een map voor het project. -4. Selecteer **Empty game**. - -![](/gdevelop5/tutorials/platformer/create-project.gif) - -## Stap 4: Een scène toevoegen aan de game - -Een game bestaat uit _scènes_. Meestal is elke scène een ander scherm in de game. Het hoofdmenu, het pauzemenu en elk niveau in een game zouden bijvoorbeeld allemaal verschillende scènes zijn. - -Om een scène aan de game toe te voegen: - -1. Vouw het paneel **Scenes** uit (als het nog niet is uitgevouwen). -2. Selecteer **Click to add a scene**. - -Selecteer vervolgens de scène om deze te openen. - -![](/gdevelop5/tutorials/platformer/add-scene.gif) - -!!! note - - Als je meerdere scènes aan een project toevoegt, is de eerste scène in de lijst de scène die GDevelop laadt wanneer de game start. - -## Step 5: Een object aan een scène toevoegen - -Een scène bestaat uit [objects](/gdevelop5/objects). Alles wat de gebruiker ziet of waarmee hij interactie heeft, is een object, inclusief het speelbare personage, vijanden en delen van de omgeving. - -GDevelop biedt verschillende soorten objecten die je aan een game kunt toevoegen. Elk type object heeft unieke kenmerken en use-cases. Het meest voorkomende type object is het Sprite-object, waarmee je een afbeelding kunt maken die je (optioneel) kunt animeren. - -Om een object te maken: - -1. In het **Objects** paneel, klik op **Add a new object**. -2. Selecteer **Sprite**. -3. In het **Object name** veld, type "Cloud". -4. Wanneer de object editor opent, klik op **Add an animation**. Op het label staat **Add an _animation_**, maar de Sprite-objecten hoeven niet perse geanimeerd te worden. -5. Klik op **Add**. -6. Selecteer de asset "cloud2.png". -7. Selecteer **Apply**. - -Sleep vervolgens een of meer exemplaren van het "Cloud"-object naar de scène. - -![](/gdevelop5/tutorials/platformer/add-object-instance.gif) - -!!! note - - Elke kopie van een object dat in een scène verschijnt, wordt een _instantie_ van dat object genoemd. - -## Stap 6: Verander de achtergrond kleur - -De witte wolken zien er niet geweldig uit op de grijze achtergrond. - -Om de achtergrondkleur van de scène aan te passen: - -1. Klik met de rechtermuisknop op de achtergrond van de scène. -2. Selecteer **Scene properties**. -3. Klik op **Scene background color**. -4. Kies een mooie kleur blauw. - -!!! tip - - Je kan een hexadecimale waarde invoeren (bijv. #00000) of een naam van de kleur (bijv. Black) - -![](/gdevelop5/tutorials/platformer/set-scene-background-color.jpg) - -## Stap 7: Voorbeeld van de game bekijken - -Het is goed om er een gewoonte van te maken om regelmatig een voorbeeld van je game te bekijken. Als er dan iets niet werkt is het makkelijker om het probleem te achterhalen. - -Klik op de knop **Preview** in de werkbalk om een voorbeeld van de game te starten. - -![](/gdevelop5/tutorials/platformer/preview-button.jpg) - -Sluit het venster om de game te stoppen. - -## Stap 8: De game opslaan - -Het is ook goed om er een gewoonte van te maken om regelmatig je games op te slaan. Je kunt de game opslaan via het menu **File** of door een sneltoets te gebruiken: - -- `CTRL` + `S` voor Windows -- `CMD` + `S` voor macOS - -## De volgende stap - -Lees [Platformer Tutorial, Deel 2](/nl/gdevelop5/tutorials/platformer/part-2) en leer hoe je een speelbaar personage kan toevoegen aan de game. \ No newline at end of file diff --git a/docs/nl/gdevelop5/tutorials/platformer/part-2.md b/docs/nl/gdevelop5/tutorials/platformer/part-2.md deleted file mode 100644 index a7b5877738d..00000000000 --- a/docs/nl/gdevelop5/tutorials/platformer/part-2.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: Platformer Tutorial, Deel 2 - Maak een speelbaar personage ---- -# Platformer Tutorial, Deel 2: Maak een speelbaar personage - -In dit deel van de tutorial wordt uitgelegd hoe je een speelbaar personage aan het spel kunt toevoegen. - -Je leert het volgende: : - -- Een object maken voor het speelbare personage. -- De speler het object laten besturen met de pijltjestoetsen. -- Het speelbare personage volgen met de camera. - -## Reeks - -Je leest **Deel 2** van de [Platformer Tutorial](/nl/gdevelop5/tutorials/platformer). - -1. [Platformer Tutorial, Deel 1](/nl/gdevelop5/tutorials/platformer) -2. Platformer Tutorial, Part 2 -3. [Platformer Tutorial, Deel 3](/gdevelop5/tutorials/platformer/part-3) -4. [Platformer Tutorial, Deel 4](/gdevelop5/tutorials/platformer/part-4) -5. [Platformer Tutorial, Deel 5](/gdevelop5/tutorials/platformer/part-5) -6. [Platformer Tutorial, Deel 6](/gdevelop5/tutorials/platformer/part-6) -7. [Platformer Tutorial, Deel 7](/gdevelop5/tutorials/platformer/part-7) -8. [Platformer Tutorial, Deel 8](/gdevelop5/tutorials/platformer/part-8) - -## Stap 1: Maak een object - -De eerste stap is om een object te maken voor het speelbare personage. Als je het eerste deel van deze tutorial hebt gevolgd, zou het bekend moeten zijn hoe dit moet. - -Om een object maken voor het speelbare personage: - -1. Maak een **Sprite** object met de naam "Player". -2. Gebruik de asset "p1_stand.png" als het enige frame van de animatie. -3. Geef de animatie de naam "Idle". -4. Sleep een instantie van het object in de scène. - -![](/gdevelop5/tutorials/platformer/player-object.jpg) - -!!! note - - [Platformer Tutorial, Part 4](/gdevelop5/tutorials/platformer/part-4) legt uit hoe je het personage kan animeren. - -## Step 2: Voeg een behavior toe aan het object - -Als je een voorbeeld van de game bekijkt, kun je het object "Player" niet besturen. Dit komt omdat objecten standaard niets doen. Om objecten iets te laten doen, moet je er een of meer [behaviors](/gdevelop5/behaviors) aan toevoegen. - -GDevelop wordt geleverd met een grote bibliotheek met behaviors die je met een paar klikken aan objecten kunt toevoegen. Een van deze behaviors is het **Platformer character** behavior, waarmee je een object kunt besturen als speelbaar personage. - -Om het **Platformer character** behavior toe toe voegen aan het object: - -1. Klik met de rechtermuisknop op het object **Player**. -2. Selecteer **Edit object**. -3. Ga naar de tab **Behaviors**. -4. Klik op **Add a behavior to the object**. -5. Selecteer **Platformer character**. -6. Klik op **Apply**. - -Als je een voorbeeld van de game bekijkt, kun je de speler besturen met de pijltjestoetsen. Het **Platformer character** behavior zorgt er ook voor dat er nu zwaartekracht is voor de speler. Hierdoor valt het de het speelbare personage nu uit het scherm. - -![](/gdevelop5/tutorials/platformer/platformer-character-behavior-preview.gif) - -## Step 3: Volg een object met de camera - -Om te voorkomen dat het personage uit beeld valt, heeft de game platforms nodig en een camera die de speler volgt. De [next part of the tutorial](/gdevelop5/tutorials/platformer/part-3) gaat over de platforms, en dit gedeelte over de camera. - -Om de camera de speler te laten volgen is het nodig om een [event](/gdevelop5/events) toe te voegen. In GDevelop kun je met events oorzaak en gevolg bepalen, dus als er iets gebeurt (oorzaak), kun je ervoor zorgen dat er iets anders gebeurt (gevolg). - -Events bestaan uit twee delen: condities en acties. De conditie is wat bepaalt wanneer het event plaatsvindt en de actie is wat er gebeurt wanneer het event plaatsvindt. - -GDevelop heeft een grote bibliotheek met condities en acties die allerlei functies aan een game toevoegen. Een groot deel van het leren van GDevelop is het ontdekken van de beschikbare opties. In dit geval heeft de game de actie **Center the camera on an object** nodig. - -Om de actie **Center the camera on an object** toe te voegen: - -1. Open de Events editor. -2. Klik **Add a new event**. -3. Klik op **Add action** zonder een conditie toe te voegen. Wanneer je geen conditie opgeeft wordt de actie elk frame uitgevoerd. Als de game dus op 60 frames per seconde draait, wordt de actie 60 keer per seconde uitgevoerd. -4. Klik op **Other actions**. -5. Vouw **Layers and cameras** uit. -6. Selecteer **Center the camera on an object**. -7. Selecteer het "Player" object. -8. Klik op **OK**. - -![](/gdevelop5/tutorials/platformer/center-camera-event.jpg) - -Als je een voorbeeld van de game bekijkt, valt de speler nog steeds - er zijn tenslotte nog steeds geen platforms - maar de camera volgt de speler nu. Hierdoor blijft de speler op het scherm. - -![](/gdevelop5/tutorials/platformer/center-camera-on-object-preview.gif) - -## De volgende stap - -Read [Platformer Tutorial, Part 3](/gdevelop5/tutorials/platformer/part-3) \ No newline at end of file diff --git a/docs/nl/gdevelop5/tutorials/platformer/part-3.md b/docs/nl/gdevelop5/tutorials/platformer/part-3.md deleted file mode 100644 index ee47827ed2e..00000000000 --- a/docs/nl/gdevelop5/tutorials/platformer/part-3.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: Platformer Tutorial, Deel 3 - Platforms maken ---- -# Platformer Tutorial, Deel 3: Platforms maken - -In dit deel van de tutorial wordt uitgelegd hoe je platforms aan het spel kunt toevoegen. Dit geeft de speler wat vaste grond om over te bewegen en tussen te springen. - -Je leert het volgende: - -* Het toevoegen van Tiled Sprite objects. -* Het maken van een platform dat zich gedraagd als een platform. - -## Reeks - -Je leest **Deel 3** van de [nl:[gdevelop5:tutorials:platformer:start|Platformer Tutorial]]. - -1. [Platformer Tutorial, Deel 1](/nl/gdevelop5/tutorials/platformer) -2. [Platformer Tutorial, Deel 2](/nl/gdevelop5/tutorials/platformer/part-2) -3. Platformer Tutorial, Deel 3 -4. [Platformer Tutorial, Deel 4](/gdevelop5/tutorials/platformer/part-4) -5. [Platformer Tutorial, Deel 5](/gdevelop5/tutorials/platformer/part-5) -6. [Platformer Tutorial, Deel 6](/gdevelop5/tutorials/platformer/part-6) -7. [Platformer Tutorial, Deel 7](/gdevelop5/tutorials/platformer/part-7) -8. [Platformer Tutorial, Deel 8](/gdevelop5/tutorials/platformer/part-8) - - -## Stap 1: Maak een object - -De eerste stap is het maken van een object voor het platform. Als je het eerste en tweede deel van deze tutorial hebt gevolgd, is dit een soortgelijk -- maar niet precies hetzelfde-- proces. - -Het belangrijkste verschil is dat dit object een Tiled Sprite object moet zijn. Dit type object "geeft een afbeelding weer die over een gebied wordt herhaald". Het is ideaal voor zoiets als platforms, die meestal zijn opgebouwd uit kleine, vierkante afbeeldingen (ook bekend als *tiles*). - -Om een object te maken voor een platform: - -1. In het **Objects** paneel, klik op **Add a new object**. -2. Selecteer **Tiled Sprite**. -3. In het **Object name** veld, typ "GrassPlatform". -4. Klik op **Select an image**. -5. Klik op **Choose a file**. -6. Selecteer het bestand "grassHalfMid" en het venster dat opent. -7. Klik op **Apply**. - -Sleep vervolgens enkele instanties van het object naar de scène en varieer de breedte van deze instanties om platforms van verschillende lengtes te creëren. - -![](/gdevelop5/tutorials/platformer/grass-platform-resize.gif) - -## Stap 2: Voeg een behavior toe aan het object - -Alleen het toevoegen van een platform aan de scène is niet genoeg. Je moet ook een behavior aan het object toevoegen om ervoor te zorgen dat het speelbare personage er op kan lopen. Handig is dat GDevelop een behavior met de naam **Platform**-behavior heeft dat hier voor zorgt. - -![](/gdevelop5/tutorials/platformer/platform-behavior.jpg) - -Om het **Platform** behavior toe te voegen aan het object: - -1. Open de **Behaviors** tab voor het "GrassPlatform" object. -2. Selecteer **Platform behavior**. -3. Klik op **Apply**. - -![](/gdevelop5/tutorials/platformer/grass-platform-add-behavior.jpg) - -Als je een voorbeeld van het spel bekijkt, kan de speler over het het platform lopen. - -![](/gdevelop5/tutorials/platformer/grass-platform-behavior.gif) - -## Stap 3: Een ander type platform maken - -GDevelop biedt ook het **Jumpthru-platform** behavior. Dit behavior creëert een platform waarop de speler van onderaf kan springen. Dit zorgt voor meer variatie in het level. - - -Om een platform het het **Jumpthru platform** behavior te maken: - -1. Maak een **Tiled sprite** object met de naam "SmallBridge". -2. Gebruik de asset "bridgeLogs.png" als de afbeelding van het object. -3. Open de **Behaviors** tab. -4. Selecteer **Platform behavior**. -6.In het **Type** menu, selecteer **Jumpthru platform**. -7. Klik op **Apply**. - -Sleep vervolgens enkele exemplaren van het object naar de scène. - -![](/gdevelop5/tutorials/platformer/jump-thru-platform-preview.gif) - -## De volgende stap - -Read [Platformer Tutorial, Part 4](/gdevelop5/tutorials/platformer/part-4). \ No newline at end of file diff --git a/docs/nl/gdevelop5/tutorials/platformer/part-4.md b/docs/nl/gdevelop5/tutorials/platformer/part-4.md deleted file mode 100644 index 3c22c43ad23..00000000000 --- a/docs/nl/gdevelop5/tutorials/platformer/part-4.md +++ /dev/null @@ -1,139 +0,0 @@ ---- -title: Platformer Tutorial, Deel 4 - Animeer het speelbare personage ---- -# Platformer Tutorial, Deel 4: Animeer het speelbare personage - -In dit deel van de tutorial wordt uitgelegd hoe je het speelbare personage kunt animeren. - -Je leert het volgende: - -- Een animatie toevoegen aan een object. -- Events gebruiken om animaties te activeren - - -## Reeks - -Je leest **Deel 4** van de [Platformer Tutorial](/nl/gdevelop5/tutorials/platformer). - -1. [Platformer Tutorial, Deel 1](/nl/gdevelop5/tutorials/platformer) -2. [Platformer Tutorial, Deel 2](/nl/gdevelop5/tutorials/platformer/part-2) -3. [Platformer Tutorial, Deel 3](/nl/gdevelop5/tutorials/platformer/part-3) -4. Platformer Tutorial, Deel 4 -5. [Platformer Tutorial, Deel 5](/gdevelop5/tutorials/platformer/part-5) -6. [Platformer Tutorial, Deel 6](/gdevelop5/tutorials/platformer/part-6) -7. [Platformer Tutorial, Deel 7](/gdevelop5/tutorials/platformer/part-7) -8. [Platformer Tutorial, Deel 8](/gdevelop5/tutorials/platformer/part-8) - - -## Stap 1: Voeg een spring animatie toe aan de speler - -In GDevelop kun je animaties aan een object toevoegen en die animaties activeren wanneer er iets gebeurt (zoals wanneer een speler springt). - -### Voeg de "Jumping" animatie toe aan het "Player" object - -Om een jumping animatie toe te voegen aan het "Player" object: - -1. In het **Objects** paneel, klik met de rechter muisknop op het "Player" object. -2. Selecteer **Edit object**. -3. Klik op **Add an animation**. -4. Geef de animatie de naam "Jumping". -5. Klik op **Add**. -6. Selecteer het bestand "p1_jump.png" in het venster dat opent. - -![](/gdevelop5/tutorials/platformer/part-4-01.jpg) - -De animatie is nu wel toegevoegd aan het object, maar deze wordt pas afgespeeld als iets de animatie activeert. - -### Activeer de "Jumping" animatie - -Om de "Jumping" animatie te activeren: - -1. Ga naar de Events editor. -2. Maak een nieuw event. -3. Voeg de **Is jumping** conditie toe aan het "Player" object. -4. Voeg de **Change the animation (by name)** actie toe aan het event. -5. Voer in het veld **Animation name** de naam "Jumping" in. Je moet deze naam tussen dubbele aanhalingstekens plaatsen (bijv. "Jumping"). -6. Klik op **OK**. - -![](/gdevelop5/tutorials/platformer/part-4-02.jpg) - -Deze aanpassing zorgt ervoor de de animatie wordt geactiveerd wanneer je springt. - -![](/gdevelop5/tutorials/platformer/part-4-03.gif) - -## Stap 2: Een idle animatie toevoegen aan de speler - -Er is een probleem met de jumping animatie: deze wordt niet gereset wanneer de speler klaar is met springen. Om dit op te lossen geen we de animatie "Idle" activeren wanneer de speler weer op het platform staat. - -### Detecteren wanneer de speler op de vloer staat - -GDevelop verwijst naar het oppervlak van een platform als de _vloer_. - -Om te detecteren wanneer een object op vloer staat: - -1. Voeg een nieuw event toe. -2. Voeg de **Is on floor** conditie toe aan het "Player" object. - -![](/gdevelop5/tutorials/platformer/part-4-04.jpg) - -### Detecteren wanneer de speler niet beweegt - -Het heeft alleen zin om de animatie "Idle" te activeren wanneer de speler stil staat. Wanneer de spelen beweegt willen we namelijk de animatie "Running" activeren (Dit wordt uitgelegd in de volgende stap. - -Om te detecteren wanneer de speler niet beweegt: - -1. Voeg de **Is moving** conditie toe aan het "Player" object. -2. Zet de optie **Invert condition** in de _on_ positie. - -De optie **Invert condition** keert de manier waarop een conditie werkt om. Dit betekent dat de conditie **Is moving** de conditie **Is not moving** wordt. - -![](/gdevelop5/tutorials/platformer/part-4-05.jpg) - -### Activeer de "Idle" animatie - -Wanneer aan beide condities is voldaan activeert dan de "Idle" -animatie van het object: - -1. Voeg de **Change the animation (by name)** actie toe. -2. Voer in het veld **Animation name** de naam van de "Idle"-animatie in. Je moet deze naam tussen dubbele aanhalingstekens plaatsen (bijv. `"Idle"`). - -![](/gdevelop5/tutorials/platformer/part-4-06.jpg) - -Als je een voorbeeld van het spel bekijkt, wordt het object "Player" na het springen teruggezet naar de animatie "Idle". - -![](/gdevelop5/tutorials/platformer/part-4-jumping-with-idle-animation.gif) - -## Stap 3: Voeg de animatie running toe aan de speler - -### Voeg de "Running" animatie toe aan het "Player" object - -1. Voeg een animatie toe met de naam "Running" aan het "Player" object. -2. Kies de volgende bestanden In het venster om bestanden te selecteren: - - - p1_walk03.png - - p1_walk04.png - - p1_walk05.png - - p1_walk06.png - - p1_walk07.png -3. Vink de **Loop** optie aan.Wanneer de optie wordt aangezet wordt de animatie continu afgespeeld zolang deze actief is (in plaats van één keer te spelen en te stoppen). -4. Klik op **Apply**. - -![](/gdevelop5/tutorials/platformer/part-4-07.jpg) - -### Activeer de "Running" animatie - -1. Maak een nieuw event. -2. Voeg de **Is on floor** conditie toe aan het "Player" object. -3. Voeg de **Is moving** conditie toe aan het "Player" object. -4. Voeg de **Change the animation (by name)** actie toe aan het event. -5. Voer in het veld **Animation name** de naam van de "Running"-animatie in. Je moet deze naam tussen dubbele aanhalingstekens plaatsen (bijv. `"Running"`). -6. Klik op **OK**. - -![](/gdevelop5/tutorials/platformer/part-4-08.jpg) - -Als je een voorbeeld van het spel bekijkt, wordt de animatie "Running" afgespeeld terwijl de speler beweegt. - -![](/gdevelop5/tutorials/platformer/part-4-running-animation.gif) - -## De volgende stap - -Read [Platformer Tutorial, Part 5](/gdevelop5/tutorials/platformer/part-5). \ No newline at end of file diff --git a/docs/nl/gdevelop5/tutorials/platformer/part-5.md b/docs/nl/gdevelop5/tutorials/platformer/part-5.md deleted file mode 100644 index 3d5312c4be7..00000000000 --- a/docs/nl/gdevelop5/tutorials/platformer/part-5.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: Platformer Tutorial, Deel 5 - Verzamelbare munten aan de game toevoegen ---- -# Platformer Tutorial, Deel 5: Verzamelbare munten aan de game toevoegen - -In dit deel van de tutorial wordt uitgelegd hoe je munten aan de game kunt toevoegen. - -Je leert het volgende: - -- Verwijder een object(en speel een geluid af) wanneer de speler er tegen botst -- Hou data bij met variabelen -- Voeg tekst toe aan de scène. - -## Reeks - -Je leest **Deel 5** van de [Platformer Tutorial](/gdevelop5/tutorials/platformer). - -1. [Platformer Tutorial, Deel 1](/nl/gdevelop5/tutorials/platformer) -2. [Platformer Tutorial, Deel 2](/nl/gdevelop5/tutorials/platformer/part-2) -3. [Platformer Tutorial, Deel 3](/nl/gdevelop5/tutorials/platformer/part-3) -4. [Platformer Tutorial, Deel 4](/nl/gdevelop5/tutorials/platformer/part-4) -5. Platformer Tutorial, Deel 5 -6. [Platformer Tutorial, Deel 6](/gdevelop5/tutorials/platformer/part-6) -7. [Platformer Tutorial, Deel 7](/gdevelop5/tutorials/platformer/part-7) -8. [Platformer Tutorial, Deel 8](/gdevelop5/tutorials/platformer/part-8) - - -## Stap 1: Voeg een munten toe die je kan verzamelen - -De eerste stap is om een munt te maken die de speler kan verzamelen. Je kunt deze stap in twee delen splitsen: een object voor de munt maken en de munt vervolgens verzamelbaar maken door een event te gebruiken om te kijken wanneer de speler ermee in botst. - -### Maak een object voor de munt - -1. Maak een object met de naam "Coin". -2. Gebruik het bestand "coin.png". -3. Sleep een of meer instanties van het object in de scène. - -![](/gdevelop5/tutorials/platformer/05-01-coin-object.jpg) - -!!! note - - Om een kopie te maken van een munt die al in de scène staat kun je de 'CTR' toets(of `CMD` op macOS) indrukken. Klik daarna op de munt en sleep de kopie in de scène. - -### Maak de munt verzamelbaar - -1. Maak een nieuw event. -2. Voeg een **Collision** conditie toe aan het event die kijkt of het "Player" object botst met het "Coin" object. -3. Voeg een **Delete an object** actie toe aan het event en stel de actie in zodat het "Coin" object verwijderd wordt. -4. Voeg een **Play a sound** actie toe aan het event zodat een geluid wordt afgespeeld wanneer de speler een munt verzameld. (Je kan het bestand "coin.wav" gebruiken voor het geluid.) - -![](/gdevelop5/tutorials/platformer/05-02-coin-collectible.jpg) - -Als je een voorbeeld van de game bekijkt en je raakt een munt wordt deze nu verwijderd en wordt het geluid afgespeeld. - -![](/gdevelop5/tutorials/platformer/05-02-collect-coin-preview.gif) - -## Stap 2: Hou het aantal verzamelde munten bij - -Elke keer dat de speler een munt verzamelt, moet het spel bijhouden hoeveel munten de speler heeft verzameld. Om dit te doen, heeft het spel een [variable](/gdevelop5/all-features/variables) nodig. - -Een variabele is een plek waarin data kan worden bewaard. Als je ooit algebra hebt gedaan, dan ben je bekend met variabelen, omdat letters als "x" en "y" vaak als variabelen worden gebruikt. - -In GDevelop zijn er drie sooren variabelen: - -* Object variabelen -* Scène variabelen -* Globale variabelen - -Een uitleg van elk type variabele slaan we voor nu even over, maar meer uitleg kun je vinden in [Scope of variables](http://wiki.compilgames.net/doku.php/gdevelop5/all-features/variables#scope_of_variables). In dit geval zijn scène variabelen het meest handig. Dit zijn variabelen die bestaan binnen een scène. - -Om een scène variabele toe te voegen om het aantal verzamelde munten bij te houden: - -1. Voeg een **Value of a scene variable** actie toe aan het eerder toegevoegde event. -2. In het **Variable** veld, typ "Score". Dit is de naam van de variabele. -3. In het **Modification's sign** menu selecteer **+ (add)**. -4. In het **Value** veld, type "1" (zonder de dubbele quotes). -5. Klik op **OK**. - -![](/gdevelop5/tutorials/platformer/05-03-scene-variable.jpg) - -Dit houdt het aantal munten bij dat de speler heeft verzameld maar dit kun je nu nog niet op het scherm zien. - -## Stap 3: Laat het aantal verzamelde munten op het scherm zien - -Om het aantal verzamelde munten te laten zien heeft de game een object nodig dat de tekst laat zien en een event dat de waarde van deze tekst bijwerkt. - -### Maak een object dat de tekst toont op het scherm - -1. Maak een **Text** object met de naam "Score". -2. In het **Initial text to display** veld, type "Score: 0". Dit is de standaard waarde die de tekst heeft. -3. Klik op **Apply**. -4. Sleep een instantie van het object in de scène. - -![](/gdevelop5/tutorials/platformer/05-04-text-object.jpg) - -### Het "Score" object bijwerken met het aantal verzamelde munten - -Voordat je de weergegeven tekst kunt bijwerken met het aantal verzamelde munten, is het belangrijk om te snappen hoe [expressions](/gdevelop5/expressions) werken. - -In GDevelop lijken expressions op spreadsheetformules of functies in een programmeertaal. Je kunt een waarde doorgeven aan een expression en een waarde ontvangen. - -De expression `Variable` kan bijvoorbeeld de waarde van de "Score" variabele ophalen: - -``` -Variable(Score) -``` - -Omdat de variabele "Score" een getal bevat, geeft deze expression een getal terug. Je kan dat getal omzetten in een string met de uitdrukking `ToString`: - -``` -ToString(Variable(Score)) -``` - -Expressions zijn een van de meest geavanceerde -- en een van de krachtigste -- concepten in GDevelop, dus maak je geen zorgen als het even duurt om te begrijpen hoe dit werkt. De truc is om de tutorials te volgen en ze te gebruiken in je games zodat je er meer ervaring mee krijgt. - -Om het "Score" object bij te werken met het aantal verzamelde munten: - -1. Maak een nieuw event. -2. Voeg de **Modify the text** actie toe aan het "Score" object zonder een conditie aan toe te voegen. Wanneer je geen conditie opgeeft wordt de actie elk frame uitgevoerd. Hiermee zorg je ervoor dat altijd de juiste score op het scherm staat. -3. In het **Modification's sign** menu selecteer **= (set)**. -4. In het **Value** veld, typ `"Score: " + ToString(Variable(Score))`. Deze waarde gebruikt de `ToString` en `Variable` expressions om het aantal verzamelde munten in een string te veranderen. Het gebruikt ook de `+` operator om twee strings in een enkele string te veranderen. -5. Klik op **OK**. - -![](/gdevelop5/tutorials/platformer/05-05-modify-text-object.jpg) - -Wanneer je een voorbeeld van de game bekijkt wordt nu het aantal verzamelde munten op het scherm getoond. - -![](/gdevelop5/tutorials/platformer/05-06-score-preview.gif) - -!!! tip - - Je vind meer _expressions_ in de _expression editor_ door op het blauwe icoon naast het value veld te klikken: - - ![](/gdevelop5/tutorials/platform-game/expression-icon.png) - - Wanneer je op het blauwe icoon klikt kun je zoeken op de beschikbare expressions gesorteerd op categorie. - - ![](/gdevelop5/tutorials/platform-game/expression-editor.png) - - -### Verplaats de tekst naar een andere layer - -Er is een probleem met het "Score" object: het aantal verzamelde munten is alleen zichtbaar als de speler op de juiste plek staat. - -Om dit op te lossen gaan we het "Score" object verplaatsen naar een andere layer: - -1. Klik op het **Open the layers editor** icoon. -2. Klik op **Add a layer**. -3. Geef de layer de naam "UI". -4. Selecteer het "Score" object. -5. In het **Layer** meu selecteer "UI". - -![](/gdevelop5/tutorials/platformer/05-07-change-layer.gif) - -Als je een voorbeeld van de game bekijkt blijft de score nu op een vast plek staan. - -![](/gdevelop5/tutorials/platformer/05-08-score-ui-layer-preview.gif) - -## De volgende stap - -Lees [Platformer Tutorial, Deel 6](/gdevelop5/tutorials/platformer/part-6). \ No newline at end of file diff --git a/docs/nl/gdevelop5/tutorials/platformer/part-6.md b/docs/nl/gdevelop5/tutorials/platformer/part-6.md deleted file mode 100644 index 4f80ba81723..00000000000 --- a/docs/nl/gdevelop5/tutorials/platformer/part-6.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -title: Platformer Tutorial, Deel 6 - Vijanden toevoegen aan de game ---- -# Platformer Tutorial, Deel 6: Vijanden toevoegen aan de game - -In dit deel van de tutorial wordt uitgelegd hoe je vijanden aan het spel kunt toevoegen die langs een vaste route heen en weer bewegen. In het volgende deel van de tutorial wordt uitgelegd hoe de speler deze vijanden kan doden en er door gedood kan worden. - -## Reeks - -Je leest **Deel 6** van de [Platformer Tutorial](/gdevelop5/tutorials/platformer). - -1. [Platformer Tutorial, Deel 1](/nl/gdevelop5/tutorials/platformer) -2. [Platformer Tutorial, Deel 2](/nl/gdevelop5/tutorials/platformer/part-2) -3. [nl:[gdevelop5:tutorials:platformer:part-3|Platformer Tutorial, Deel 3]] -4. [Platformer Tutorial, Deel 4](/nl/gdevelop5/tutorials/platformer/part-4) -5. [Platformer Tutorial, Deel 5](/nl/gdevelop5/tutorials/platformer/part-5) -6. Platformer Tutorial, Deel 6 -7. [Platformer Tutorial, Deel 7](/gdevelop5/tutorials/platformer/part-7) -8. [Platformer Tutorial, Deel 8](/gdevelop5/tutorials/platformer/part-8) - - -## Stap 1: Maak een object voor de vijand - -1. Maak een sprite object met de naam "Slime". -2. Voeg een animatie toe aan het object. Gebruik hiervoor de volgende bestanden: - - - slimeWalk1.png - - slimeWalk2.png -3. Vink de **Loop** optie aan. -4. Sleep een instantie van het object toe aan de scène. - -![](/gdevelop5/tutorials/platformer/06-01.jpg) - -Als je een voorbeeld van de game bekijkt zie je een geanimeerde vijand op het scherm. - -![](/gdevelop5/tutorials/platformer/06-02.gif) - -## Stap 2: Laat de vijand naar rechts bewegen - -In het vorige deel van de tutorial werd uitgelegd dat er drie type variabelen zijn: - -- Object -- Scene -- Global - -Een _object_ variabele is gekoppeld aan een specifiek object. Dit betekend dat de variabele een waarde bevat die alleen beschikbaar is voor het object waar die aan gekoppeld is. - -Om een variabele aan een object toe te voegen: - -1. Klik met de rechter muisknop op het "Slime" object. -2. Selecteer **Edit object variables**. -3. Voer een variabele toe met de naam "direction" en de waarde "right". Dit is de standaard waarde van de variabele. -4. Klik op **Apply**. - -Deze variabele "direction" houdt de huidige richting van de vijand bij. In een latere stap kunt je de richting van de vijand wijzigen door de waarde van de variabele te wijzigen. - -![](/gdevelop5/tutorials/platformer/06-03.jpg) - -Voeg een event toe om de vijand naar rechts te laten bewegen: - -1. Open de Events editor. -2. Maak een nieuw event. -3. Voeg de **Text of an object's variable** conditie toe aan het "Slime" object. -4. In het **Variable** veld, typ "direction". -5. In het **Sign of the test** veld, selecteer **= (equal to)**. -6. In het **Value to compare** veld, typ "right" (inclusief de dubbele quotes). -7. Klik op **OK**. - -![](/gdevelop5/tutorials/platformer/06-04.jpg) - -Voeg vervolgens een actie toe aan het event: - -1. Voeg de **Add a force (angle)** actie toe aan het event. -2. In het **Object** veld, selecteer "Slime". -3. In het **Angle** veld, typ "0". -4. In het **Speed** veld, typ "100". -5. Vink de optie **Instant** aan. -6. Klik op **OK**. - -![](/gdevelop5/tutorials/platformer/06-05.jpg) - -Dit is hoe het event eruit ziet: - -![](/gdevelop5/tutorials/platformer/06-06.jpg) - -Dit event zorgt er nu voor dat zolang de waarde van de "direction" variabele "right" is het "Slime" object naar rechts beweegt. Omdat het object nu nog niet van richting veranderd valt het uiteindelijk van het platform af. - -![](/gdevelop5/tutorials/platformer/06-07.gif) - -## Stap 3: Verander de richting van de vijand - -To make the enemy change direction, add two invisible objects to the scene -- one called "Left" and one called "Right" -- and place them on other side of the enemy. - -Then, when the enemy collides with one of the objects, you can flip them around and move them in the other direction. This creates the illusion of the enemy following a set route. - -This step focuses on creating the "Left" object. When the enemy collides with this object, they'll change direction from left to right. (The step that follows focuses on the "Right" object.) - -### Create the "Right" object - -1. Create a Sprite object named "Left". -2. As the default sprite, use the "left.png" asset. -3. Drag an instance of object into the scene (to the right of the enemy). - -![](/gdevelop5/tutorials/platformer/06-08.jpg) - -### Detect when the enemy collides with the "Left" object - -1. Create a new event. -2. Add a **Collision** condition that checks if the "Slime" object is colliding with the "Left" object. - -![](/gdevelop5/tutorials/platformer/06-09.jpg) - -### Change the value of the "direction" variable - -1. Add the **Modify the text of a variable of an object** action to the event. -2. In the **Variable** field, type "direction". -3. From the **Modification's sign** dropdown, select **= (set to)**. -4. In the **Value** field, type "left" (with quotation marks). - -![](/gdevelop5/tutorials/platformer/06-10.jpg) - -### Flip the "Slime" object - -1. Add the **Flip the object horizontally** action to the event. -2. Set the **Activate flipping** option as **Yes**. - -This ensures that the "Slime" object changes *and* faces a different direction, rather than just changing directions. - -### Change the enemy's direction - -1. Add the **Add a force (angle)** action to the event. -2. In the **Object** field, select "Slime". -3. In the **Angle** field, type "180". -4. In the **Speed** field, type "100". -5. Enable the **Instant** option. -6. Click **OK**. - -If you preview the game, the enemy changes direction when they collide with the "Left" object. - -![](/gdevelop5/tutorials/platformer/06-12.gif) - -### Hide the "Left" object - -1. Create a new event. -2. Add the **At the beginning of the scene** condition to the event. -3. Add the **Hide** action to the "Left" object. - -![](/gdevelop5/tutorials/platformer/06-11.jpg) - -If you preview the game, the enemy appears to change direction by their own "choice". - -![](/gdevelop5/tutorials/platformer/06-13.gif) - -## Step 4: Change the enemy's direction (again) - -After the enemy collides with the "Left" object, they start moving right and never stop moving right. To ensure they change direction again, create an object named "RIght". This object should be the same as the "Left" object, except for the following details: - -- Use the "right.png" asset. -- When the "Player" object collides with the "Slime" object, set the "direction" variable to "right". -- For the **Flip the object horizontally** action, set **Activate flipping** to **No**. - -Then drag an instance of the "Right" object into the scene, to the left of the enemy. - -![](/gdevelop5/tutorials/platformer/06-14.jpg) - -If you preview the game, the enemy moves back and forth between the invisible markers. - -![](/gdevelop5/tutorials/platformer/06-15.gif) - -## Next step - -Read [Platformer Tutorial, Part 7](/gdevelop5/tutorials/platformer/part-7). \ No newline at end of file diff --git a/docs/nl/gdevelop5/tutorials/platformer/part-7.md b/docs/nl/gdevelop5/tutorials/platformer/part-7.md deleted file mode 100644 index 04ce2819b20..00000000000 --- a/docs/nl/gdevelop5/tutorials/platformer/part-7.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: Platformer Tutorial, Deel 7 - Laat vijanden de speler doden (en de speler de vijanden doden) ---- -# Platformer Tutorial, Deel 7: Laat vijanden de speler doden (en de speler de vijanden doden) - -In dit deel van de tutorial wordt uitgelegd hoe de speler de vijanden van het spel kan doden, en kan worden gedood door de vijanden. - -## Reeks - -Je leest **Deel 7** van de [Platformer Tutorial](/gdevelop5/tutorials/platformer). - -1. [Platformer Tutorial, Deel 1](/gdevelop5/tutorials/platformer) -2. [Platformer Tutorial, Deel 2](/gdevelop5/tutorials/platformer/part-2) -3. [Platformer Tutorial, Deel 3](/gdevelop5/tutorials/platformer/part-3) -4. [Platformer Tutorial, Deel 4](/gdevelop5/tutorials/platformer/part-4) -5. [Platformer Tutorial, Deel 5](/gdevelop5/tutorials/platformer/part-5) -6. [Platformer Tutorial, Deel 6](/gdevelop5/tutorials/platformer/part-6) -7. Platformer Tutorial, Deel 7 -8. [Platformer Tutorial, Deel 8](/gdevelop5/tutorials/platformer/part-8) - - -## Stap 1: Dood de speler - - -Wanneer de speler in botsing komt met een vijand, moet de speler dood gaan. Een gemakkelijke manier om de speler te "doden" is door het "Player"-object te verwijderen als het in botsing komt met een vijand. - -Om het "Player" object te verwijderen als het botst met een vijand: - -1. Maak een nieuw event. -2. Voeg een **Collision** conditie toe die kijkt of het "Player" object botst met het "Slime" object. -3. Voeg de **Is on floor** conditie toe aan het "Player" object. Dit zorgt ervoor dat de speler alleen dood gaat wanneer die op een platform staat (bijv. niet aan het springen is) -4. Voeg de **Delete an object** actie toe aan het event dat het"Player" object verwijderd. - -![](/gdevelop5/tutorials/platformer/07-01-kill-player.jpg) - -If you preview the game, running into the enemy will kill you. - -![](/gdevelop5/tutorials/platformer/07-02-killing-player-preview.gif) - -## Step 2: Kill the enemy - -If a player jumps on an enemy, the enemy should die. Similar to the previous step, "death" in this case means deleting the "Slime" object. - -To delete the "Slime" object when a player jumps on it: - -1. Create a new event. -2. Add a **Collision** condition that checks if the "Player" object is colliding with the "Slime" object. -3. Add the **Is falling** condition to the "Player" object. This ensures that the enemy only dies if the player is jumping (i.e. not on the platform). -4. Add the **Delete an object** action to the event that deletes the "Slime" object. - -![](/gdevelop5/tutorials/platformer/07-03-kill-enemy.jpg) - -If you preview the game, you can jump on the enemy to kill them. - -![](/gdevelop5/tutorials/platformer/07-04-killing-enemy-preview.gif) - -## (Optional) Step 3: Bounce on the enemy's head - -In a lot of platforming games, when the player jumps on an enemy, the player bounces on the enemy's head. This is makes killing an enemy feel more fluid. - -To make the player bounce on the enemy's head: - -1. Add the **Allow again jumping** action to the "Player" object. -2. Add the **Simulate jump key press** action to the "Player" object. - -![](/gdevelop5/tutorials/platformer/07-05-bounce-kill.jpg) - -If you preview the game, you'll bounce on the enemy's head when killing them. - -![](/gdevelop5/tutorials/platformer/07-06-killing-enemy-bounce-preview.gif) - -## Next step - -Read [Platformer Tutorial, Part 8](/gdevelop5/tutorials/platformer/part-8). \ No newline at end of file diff --git a/docs/pl.png b/docs/pl.png deleted file mode 100644 index d413d010b5b..00000000000 Binary files a/docs/pl.png and /dev/null differ diff --git a/docs/pl/gdevelop5/index.md b/docs/pl/gdevelop5/index.md deleted file mode 100644 index 4606d9f19f5..00000000000 --- a/docs/pl/gdevelop5/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: start ---- -![](/logocompleteeffecttranparent400x100.png) - -# GDevelop 5 - -GDevelop jest wieloplatformowym o otwartym kodzie źródłowym kreatorem gier, zaprojektowany do użytkou przez wszystkich - do korzystania z oprogramowania nie są wymagane umiejętności programistyczne. Jeśli nie masz GDevelop, [wypróbuj online](https://4ian.github.io/GD) lub [pobierz wersję desktop](http://compilgames.net)! - -Ta Wiki jest tutaj, aby uczyć Cię o programie i zaopatrywać w samouczki, jak z niego korzystać: zapraszam do udziału! - -# Getting Started - -Na początek GDevelop 5, przeczytaj [Getting Started page](/gdevelop5/getting_started). diff --git a/docs/pl/index.md b/docs/pl/index.md deleted file mode 100644 index 4c40c38dab6..00000000000 --- a/docs/pl/index.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: start ---- - -![](/logocompleteeffecttranparent400x100.png) - -# GDevelop Wiki - -GDevelop jest wieloplatformowym o otwartym kodzie źródłowym kreatorem gier, zaprojektowany do użytkou przez wszystkich - do korzystania z oprogramowania nie są wymagane umiejętności programistyczne. Jeśli nie masz GDevelop, [pobierz teraz](https://gdevelop.io/download)! - -Ta Wiki jest tutaj, aby uczyć Cię o programie i zaopatrywać w samouczki, jak z niego korzystać: zapraszam do udziału! - -## Tutoriale i Wideo - -Naucz się używać GDevelop z **[tutoriali](/gdevelop/tutorials)**. - -## Pełna Dokumentacja - -Przeczytaj **[GDevelop 4 documentation](/gdevelop/documentation)** dla pełnego odniesienia. -!!! note - - Jesli używasz **GDevelop 5**, nowa dokumentacja jest pisana tu: [GDevelop 5 Wiki](/gdevelop5/start) - -## Wiki w innych językach - -Kliknij flagę u góry dowolnej strony, aby przełączać się między językami. -Twoja pomoc jest mile widziana przy tworzeniu wiki dla tych języków: - -- ![](/pl.png)[⇒ Polska Wiki](/pl/start) -- ![](/gb.png)[⇒ Angielska Wiki](/start) -- ![](/fr.png)[⇒ Francuska Wiki](/fr/start) -- ![](/ru.png)[⇒ Rosyjska Wiki](/ru/start) -- ![](/de.png)[⇒ Niemiecka Wiki](/de/start) -- ![](/pt.png)[⇒ Portugalska Wiki](/pt/start) -- ![](/es.png)[⇒ Hiszpańska Wiki](/es/start) -- ![](/zh.gif)[⇒ Chińska Wiki](/zh/start) - Po prostu utwórz konto na wiki i użyj górnego menu do stworzenia lub edycji strony. Możesz również [pomóc w tłumaczeniu GDevelop i stronę internetową](http://crowdin.com/project/gdevelop). diff --git a/docs/pt.png b/docs/pt.png deleted file mode 100644 index ece79801506..00000000000 Binary files a/docs/pt.png and /dev/null differ diff --git a/docs/pt/gdevelop5/all-features/storage.md b/docs/pt/gdevelop5/all-features/storage.md deleted file mode 100644 index e5837f23a7a..00000000000 --- a/docs/pt/gdevelop5/all-features/storage.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: ---- -##Armazenamento - -Jogos podem guardar informações, como o progresso do jogador. Veja [este guia](/gdevelop5/tutorials/storage-action-explained) para explicações mais detalhadas e exemplos. - -!!! note - - A ação de Armazenamento irá armazenar todos os dados dentro do **internal storage (Armazenamento Interno)** (gravado após o jogo ser fechado). Se você quiser escrever ou ler a partir de arquivos, leia [a pagina sobre Sistema de Arquivos](/gdevelop5/all-features/filesystem) (somente para Windows, macOS, Linux). - -## Limpe o armazenamento durante o preview - -A informação e armazenada permanentemente no armazenamento interno da janela de preview, que é persistido entre os previwes e mesmo depois do GDevelop ser fechado(com em um jogo exportado). - -Quando fazemos o preview do nosso jogo pode ser algo útil conseguir fazer o reset dos dados, como se fosse a primeira vez que o jogo é rodado. Para fazer isso, você pode limpar o Armazenamento: - - - Na barra superior da janela de preview selecione **Visualizar** -> **Exibir ferramentas de desenvolvedor**. - - As ferramentos de desenvolvedor geralmente abrem a aba 'Console' selecionada mostrando algumas mensagens. - - Clique na aba '**Aplicação**'. Esta pode não estar visível dependendo do tamanho da sua janela de preview. Você pode redimensionar a janela de preview até que consiga ver a aba 'Aplicação' no topo. - - Após você ter selecionado a aba 'Aplicação', você pode achar os dados armazenados do lado esquerdo em **Storage** -> **Local Storage** -> **file:** - - Se você clicar no 'file:' com o botão esquerdo do mouse, você pode ver mais detalhes sobre os dados armazenados. - - Para limpar os dados, clique em 'file:' com o botão direito do mouse e escolha '**Clear**' - -Você pode agora fechar a janela de preview. Quando rodar o preview novamente, os dados armazenados terão sido eliminados. diff --git a/docs/pt/gdevelop5/behaviors/events-based-behaviors.md b/docs/pt/gdevelop5/behaviors/events-based-behaviors.md deleted file mode 100644 index d9c75199eaf..00000000000 --- a/docs/pt/gdevelop5/behaviors/events-based-behaviors.md +++ /dev/null @@ -1,156 +0,0 @@ ---- -title: events-based-behaviors ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -# Comportamentos personalizados: crie seus próprios comportamentos com eventos. - -Os comportamentos são muito úteis para adicionar rapidamente alguns recursos pré-determinados aos objetos. Eles são fáceis de usar e permitem adicionar recursos complexos aos seus objetos sem ter que recriar tudo com eventos, o que pode ser complicado e tornaria a planilha de eventos desordenada (mesmo que [groups](/gdevelop5/events/group), [functions](/gdevelop5/events/functions) e [external events](/gdevelop5/interface/project-manager) possam ajudar). - -Agora no GDevelop você pode criar seus próprios **comportamentos personalizados**. Como os habituais comportamentos internos, eles podem ser anexados a objetos. Eles irão então * interagir com o objeto automaticamente *. Eles podem **mover o objeto**, alterar suas **variáveis**, alterar as animações (para objetos Sprite), alterar o texto (para objetos de texto) e mais geralmente, fazer qualquer coisa que você normalmente pode fazer com eventos. - -!!! note - - Se você quiser ver um exemplo de como os comportamentos podem ser usados em seu jogo, leia [How to make a behavior for an object](/gdevelop5/tutorials/how-to-make-behavior). É uma explicação passo a passo e um bom guia sobre como arquitetar seu jogo com comportamentos. - -## Crie um novo comportamento - -Os comportamentos são agrupados em "extensões". Eles funcionam de forma semelhante a [extensions que você pode escrever](/gdevelop5/extending-gdevelop) para o GDevelop, exceto que eles são inteiramente compostos de funções ou comportamentos impulsionados por eventos. Você pode ver a lista de todas as extensões que o jogo tem no [Project Manager](/gdevelop5/interface/project-manager), bem como adicionar uma nova extensão: - -![](/gdevelop5/events/project-manager-functions-extensions.png) - -Clique no botão **+ **na parte inferior para criar uma nova extensão. Você pode clicar com o botão direito do mouse para renomeá-la. É uma boa ideia ter funções e comportamentos relacionados à mesma coisa em uma única extensão. - -Clique na extensão da lista para abrir seu editor. Por padrão, não há funções nas extensões. Adicione uma clicando em **Add a new behavior**, no lado esquerdo: - -![](/gdevelop5/behaviors/add-events-based-behavior.png) - -O novo comportamento é adicionado. Você deve renomeá-lo para dar um nome de acordo com o que você quer fazer. Por exemplo, se seu comportamento será usado para fazer um inimigo se mover para a esquerda e para a direita em uma plataforma, você pode chamá-lo de `HorizontalMovement` (apenas caracteres alfanuméricos e sublinhados são permitidos nos nomes). Se o seu comportamento está rastreando automaticamente os danos e excluindo objetos que estão muito danificados, você pode chamá-lo de `Destructible`. - -Você também deve editar a configuração do comportamento clicando com o botão direito sobre ele e escolhendo "Propriedades". Você pode inserir a descrição, o nome exibido no editor e especificar se deve ser restrito a algum tipo de objeto: - -![](/gdevelop5/behaviors/setup-destructible-behavior.png) - -Os comportamentos também podem incorporar propriedades, que são números, strings ou booleanos que são armazenados dentro do comportamento. Confira a seção abaixo sobre como adicionar e usar propriedades. - -### Add functions to your behavior - -Click on the behavior in the list to see the list of functions composing the behavior. It will appear on the right side panel. - -![](/gdevelop5/behaviors/empty-behavior-functions-list.png) - -By default, a behavior is empty and **does nothing**. To add interactivity, you can add a new function (also called "method"). You'll be given the choice between some predefined functions, called lifecycle methods, or a custom function. Lifecycle methods will be called by the game engine automatically at some key moment during the game. Custom functions will be available as conditions or actions (like [usual functions](/gdevelop5/events/functions)). - -![](/gdevelop5/behaviors/behavior-choose-method.png) - -### Lifecycle methods - -Predefined lifecycle methods are as such: - -* **onCreated**: events inside the function will be run when **a new instance of an object** with the behavior is created. * **onStepPreEvents**: will be run every time a frame is rendering on the screen **before the "traditional" events** of the scene. Typically in most games, this is done 60 times per second. This is called for **every single object** having the behavior if the behavior is not deactivated. * **onDestroy**: events that will be run when an instance of the object having the behavior is **deleted** (if multiple objects are removed at the same time, events will be run for each object). This is done even if the behavior is deactivated. * **onDeActivate**: events that will be run once, after the behavior is deactivated on an object. * **onActivate**: events that will be run once, after the behavior is activated again on an object. * **onStepPostEvents**: events that will be run for every single object having the behavior, **after** the "traditional" events of the scene, if the behavior is not deactivated. Typically in most games, this is done 60 times per second. As possible, we recommend to prefer onStepPreEvents, to run your logic before events and give the events in the scene a chance to react to changes that happen on the objects. - -This is an example of some events inside onStepPreEvents in the case of behavior that automatically deletes objects that are too damaged: - -![](/gdevelop5/behaviors/behavior-lifecycle-method-example.png) - -### Custom action, condition or expression - -If you choose to create a custom function for your behavior, you can then configure your function like a traditional function, by choosing if it's an action, condition or expression, entering a name, description and a sentence to be displayed in the events sheet. - -For example, this creates a new action that can be used to add damage to the object: - -![](/gdevelop5/behaviors/behavior-custom-function-example.png) - -## Use the behavior on an object - -### 1) Add the behavior to an object - -Once your behavior is created, you can start attaching it to objects. The best part about this is that your event based behavior will be listed like any other "[built-in behavior](/gdevelop5/behaviors)" that is bundled with GDevelop. - -Here, you can see the "Destructible Object" behavior for example (that was created in the previous screenshots): - -![](/gdevelop5/behaviors/choose-custom-behavior-in-list.png) - -The custom behavior that you created is then displayed in the list of the behaviors attached to the object: - -![](/gdevelop5/behaviors/screenshot_2019-05-07_23.48.04.png) - -You can run the game and see that the events in "doStepPreEvents" function (or "doStepPostEvents") will be executed. In the example of the Destructible behavior that was created, if the "Damage" variable is set to a number greater or equal to 100, the object will be destroyed automatically. - -To test this, we've added the "Destructible" behavior to object "Platform". Then, when using the debugger, we can inspect "Platform" instances and see that they have a "Damage" variable (set to 0). If we use the debugger (or an event) to set it to 100, the object is removed from the scene: - -![](/gdevelop5/behaviors/example-test-destructible-behavior-debugger.png) - -### 2) Use actions/conditions/expressions - -Like any other "built-in behavior", you can also use actions/conditions (or expressions) if you have declared functions as such in the behavior. For example, in the "Destructible" behavior, we created an action to cause some damage to the object. We can find it and use it in the events sheet: - -![](/gdevelop5/behaviors/custom-behavior-action.png) - -It is displayed in the events sheet: ![](/gdevelop5/behaviors/custom-behavior-action-events-sheet.png) - -As you can see, this allows creating very expressive and easy-to-read events. You can then make the behavior more complex or reuse it on other objects. - -## Add and use properties in a behavior - -What is interesting with behaviors is that they can hold information inside of them, much like variables of an object. These information are called properties. They can be a number, a string (text) or a boolean (which is like a virtual checkbox, either checked or unchecked). - -You can use these properties to make your behavior customizable (for example, you can have the speed, an amount of damage, the life points, the power points, the mana, etc... as properties of your behavior - depending on what your behavior is doing). - -To show and add properties to your behavior, edit it and click on the "Properties" tab. In this example, you can see a behavior called "Health", that has properties to store the health of the object and the minimum time between two hits on the object: - -![](/gdevelop5/behaviors/health-behavior-properties.png) - -Properties can be: - -* Number, string or booleans (will be displayed as a checkbox) -* They have a default value, that will be used if the value is not changed when adding the behavior to an object. -* They can be visible in the editor, when added to an object, or invisible. -* Finally, they have a label that will be displayed in the editor. - -### Use actions and conditions to manipulate the properties - -Once you have created some properties on your behavior, conditions and actions will be automatically added in the events sheet. For each property, there will be a condition to compare its value, and an action for changing it. Strings and numbers will also have an expression to get their values. - -!!! note - - If you rename your properties, the actions/conditions/expressions will be updated automatically. - -!!! note - - These actions/conditions/expressions won't be usable from outside of the behavior. Properties are said to be "private", they can only be manipulated by the behavior. If you want to have them modified by the scene events, create new actions/conditions for this in your behavior. - -## A word about the advantages of behaviors - -Creating your own behaviors has multiple advantages: - -* *Encapsulation*: by adding logic inside a custom behavior, you can keep a clear events sheet, with fewer events so it's easier to read and maintain. Behaviors can have actions/conditions and expressions that run logic, so you don't have to repeat long instructions in the events sheet. You can just use the action/condition the behavior providing as you would normally do with any other behavior. * *Reusability*: let's say that you created a behavior to have an enemy move and lose a life if hit by the player. If you want to create a slightly different enemy, but based on the same principles, you can create a new object, then add the same behavior with different properties. In a few clicks, you can have a new enemy in your game. * *Collaboration*: let's say you are working in a team or would like to make your project open-source and invite people to contribute with new features and gameplay. Custom behavior makes it possible for anyone to design and create self-contained features and game logic that we can easily import into a project and used by anyone without prior knowledge required including level and game designers who don't normally work on game logic or at least prefer not to. - -!!! note - - Encapsulation and reusability are core concepts in programming. In other game engines, like Unity, objects and behaviors might be named entities and components. - -In the future, updates will also ease the *composability* of behaviors. - -## Examples/ideas for custom behaviors - -You can imagine tons of different behaviors. Here are a few examples: - -* A behavior to **manage the health of an enemy or a boss**. - -- There can be an action "Hit the object", a condition "Is the object dead?". The behavior will take care of updating the object variables to track the life of the enemy (for example, when the enemy is hit, you remove some life. -- Then, life is regenerated progressively at each frame of the game) and the condition "Is the object dead?" will be able to check if the life reached 0 or not. - -* Another idea can be to put the events to make **an enemy move following a complex pattern** on the screen inside a behavior. - -- You can add actions/conditions to change the movement, change the speed, etc... All of this will be in a behavior that can be added to any other object in a few clicks. - -* A behavior can **automatically update the Score** in your game when enemies are destroyed, or items collected. - -- You can create a behavior that increases the "Score" variable when the object is destroyed. You can then create items, collectibles or enemies that have this behavior, and when they are collected or killed, the score will automatically increase. - -!!! note - - New extensions are being created by the community all the time! If you are interested in helping with this, start by looking at the [GDevelop Extension Team](https://trello.com/b/AftjL2v1/gdevelop-extensions) (on Trello). You can also start discussing your ideas for extensions on the [GDevelop Discord](https://discordapp.com/invite/JWcfHEB) channel named \#extension. diff --git a/docs/pt/gdevelop5/behaviors/index.md b/docs/pt/gdevelop5/behaviors/index.md deleted file mode 100644 index dcce7a83403..00000000000 --- a/docs/pt/gdevelop5/behaviors/index.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Comportamentos (behaviors) ---- -# Comportamentos (behaviors) - -No GDevelop, _comportamentos_ adicionam funcionalidades a [objetos](/pt/gdevelop5/objects) em poucos cliques. - -Por exemplo, comportamentos podem: - -* Remover objetos de uma cena automaticamente quando eles sairem das bordas da tela. -* Fazer objetos se moverem de forma realista seguindo as leis da física. -* Permite jogadores moverem objetos com as teclas de setas. - -Você também pode customizar comportamentos para fazer a sensação de jogabilidade ser única e usar [eventos](/gdevelop5/events) para manipular comportamentos. - -
- -
- -## Lista de comportamentos - -Esta seção lista os diferentes tipos de comportamentos, onde cada um é útil para adicionar diferentes tipos de funcionalidades a objetos. - -- [Anchor](/gdevelop5/behaviors/anchor) -- [Bounce](/gdevelop5/behaviors/bounce) -- [Destroy outside screen](/gdevelop5/behaviors/destroyoutside) -- [Draggable](/gdevelop5/behaviors/draggable) -- [Pathfinding](/gdevelop5/behaviors/pathfinding) -- [Physics 2](/gdevelop5/behaviors/physics2) -- [Platformer objects and platforms](/gdevelop5/behaviors/platformer) -- [Top-down movement](/gdevelop5/behaviors/topdown) -- [Tween](/gdevelop5/behaviors/tween) - -Siga as páginas vinculadas para aprender mais sobre cada tipo de comportamento. - -### Comportamentos descontinuados - -- [Old Physics](/gdevelop5/behaviors/physics) - -## Adicionando comportamentos a um objeto - -1. Clique com o botão direito em um objeto no painel **Objects**. -2. Selecione **Edit behaviors**.. -3. Clique no botão **Add a behavior to the object**. -4. Selecione o comportamento da lista. -5. Personalize o comportamento. As configurações disponíveis dependem do comportamento. -6. Clique em **Apply**. - -![](/gdevelop5/behaviors-demo-create.gif) - -## Instalando novos comportamentos - -Qualquer pessoa pode [criar comportamentos personalizados](/gdevelop5/behaviors/events-based-behaviors) e compartilhá-los com a comunidade GDevelop. - -![](/gdevelop5/search-new-behavior.png) - -Para buscar e instalar comportamentos criados pela comunidade: - -1. Clique direito em um objeto no painel **Objects**. -2. Selecione **Edit behaviors**. -4. Clique o ícone **Add a behavior to the object**. -5. Acesse a aba **Search new behaviors**. -6. Procure pelo comportamento -7. Selecione o comportamento -8. Clique em **Install in project**. - -Comportamentos instalados irão aparecer na aba **Installed behaviors**. - -![](/gdevelop5/behaviors-demo-find-new.gif) \ No newline at end of file diff --git a/docs/pt/gdevelop5/documentation.md b/docs/pt/gdevelop5/documentation.md deleted file mode 100644 index 18c4eee66fa..00000000000 --- a/docs/pt/gdevelop5/documentation.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: documentation ---- -![](/logocompleteeffecttranparent400x100.png) - -# GDevelop 5 - -O GDevelop é um criador de jogos de código aberto e multiplataforma, projetado para ser usado por todos - não são necessárias habilidades de programação para usar o programa Se você nunca usou o GDevelop, [experimente online](https://editor.gdevelop.io) ou [baixar a versão desktop](http://gdevelop-app.com/baixar)! - -Este **Wiki **está aqui para lhe ensinar sobre o software e fornecer tutoriais sobre como usá-lo: você pode contribuir! - -# Começando - -➡️Para começar com o GDevelop 5, leia a**[Página de introdução](/gdevelop5/getting_started), os **[conceitos básicos de criação de jogos](/gdevelop5/tutorials/basic-game-making-concepts)** e navegue nos [tutoriais](/gdevelop5/tutorials). diff --git a/docs/pt/gdevelop5/getting_started.md b/docs/pt/gdevelop5/getting_started.md deleted file mode 100644 index f65fce5af63..00000000000 --- a/docs/pt/gdevelop5/getting_started.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: Começando ---- -# Começando - -## Experimente o GDevelop online ou faça o download da versão desktop - -* Para começar, você pode [experimentar o GDevelop online](https://editor.gdevelop.io). -* Para criar seu próprio jogo, salvar e publicar [faça o download da versão para desktop no site do GDevelop](https://gdevelop.io). - -Após você baixar o GDevelop, abra o instalador e instale o software: - -* Nas máquinas com Windows, após *iniciar o instalador*, clique no *ícone do GDevelop* na área de trabalho para iniciá-lo. Você também pode *descompactar* o arquivo do instalador (como um arquivo .zip) e colocar o software em qualquer pasta. -* No MacOS, inicie o arquivo *DMG*, arraste o GDevelop para a pasta *Aplicativo* e abra o GDevelop na pasta Aplicativos. -* No Linux, *descompacte* o arquivo e inicie o executável. - -Depois que o aplicativo for iniciado, você será apresentado à página inicial. A página inicial permite abrir um projeto existente ou criar um novo projeto. - -![](/gdevelop5/start_page.png) - -## Criando um novo projeto - -Para criar um novo projeto, selecione "Criar um novo projeto" na página inicial. - -Uma nova janela se abrirá. Apresentará-se uma lista de opções, permitindo escolher modelos/exemplos ou criar um projeto em branco. Os exemplos estão mostrando como usar um recurso específico, enquanto os iniciantes são jogos mais avançados que você pode tentar, estudar e modificar. - -A seleção do projeto em branco não inclui ativos, eventos ou cenas - é um jogo totalmente vazio. - -![](/gdevelop5/create-new-project-window.png) - -Na parte inferior da janela, você pode selecionar o local onde gostaria de armazenar seu novo projeto. -![](/gdevelop5/project-default-location.png) - -Depois de selecionar o local padrão para o seu projeto, clique no nome de um modelo inicial ou em um exemplo para abrir o jogo. - -!!! note - - Por padrão, os novos jogos que você cria são salvos em uma pasta chamada "GDevelop Projects", localizada na pasta "Documentos". - -## Abrir um projeto existente - -Para reabrir um projeto existente, selecione "Abrir um projeto" na página inicial. - -Em seguida, procure seu sistema de arquivos local para selecionar o arquivo do projeto. Os arquivos de projeto do GDevelop 5 são salvos por padrão como arquivos ".json". - -![](/gdevelop5/project-file.png) - -O ícone desse arquivo depende se você possui ou não um aplicativo padrão instalado no seu computador para editar arquivos ".json". - - -*Nota:* Usuários do GDevelop 4, você pode [aprender aqui como salvar seu projeto para abri-lo com o GDevelop 5.](/gdevelop5/getting_started/open-gdevelop-4-project). - -## Próxima etapa: comece com os tutoriais - -Continue lendo **[os conceitos básicos para saber como usar o Gdevelop](/pt/gdevelop5/tutorials/basic-game-making-concepts)**. - -Os tutoriais, juntamente com a documentação, são as melhores maneiras de aprender. É altamente recomendável que você leia e siga o [tutorial](/gdevelop5/tutorials)! - -## Saiba mais sobre o GDevelop - -Para mais informações sobre como usar o GDevelop, visite as seguintes páginas, onde tudo é explicado em mais detalhes: - - * [interface](/gdevelop5/interface) - * [objects](/gdevelop5/objects) - * [behaviors](/gdevelop5/behaviors) - * [events](/gdevelop5/events) - * [all features](/gdevelop5/all-features) - * [publishing](/gdevelop5/publishing) - -Certifique-se de verificar também **os exemplos** incluídos no GDevelop! Eles são uma boa maneira de aprender sobre os diferentes recursos do software. \ No newline at end of file diff --git a/docs/pt/gdevelop5/index.md b/docs/pt/gdevelop5/index.md deleted file mode 100644 index d53c14d8059..00000000000 --- a/docs/pt/gdevelop5/index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: GDevelop 5 ---- -# GDevelop 5 - -GDevelop é uma ferramenta de criação de jogos multi-plataforma gratuita e de código aberto que qualquer pessoa pode usar _sem_ conhecimentos de programação. Esta wiki contêm tudo que você precisa saber para criar jogos com GDevelop — mesmo se você nunca criou um jogo antes. - -![](https://wiki.gdevelop.io/_media/gdevelop5/interface/scene-editor/pasted/20200628-132624.png) - - -# Próximos passos - - * [Baixe GDevelop](https://gdevelop.io/) e leia o guia [Começando](/pt/gdevelop5/getting_started) - * Se você nunca fez um jogo antes, leia o guia [Conceitos básicos de criação de jogos](/pt/gdevelop5/tutorials/basic-game-making-concepts) - * Se você está pronte para fazer um jogo, [navegue pelos tutoriais](/pt/gdevelop5/tutorials) \ No newline at end of file diff --git a/docs/pt/gdevelop5/publishing/publishing-to-itch-io.md b/docs/pt/gdevelop5/publishing/publishing-to-itch-io.md deleted file mode 100644 index 062a63c3951..00000000000 --- a/docs/pt/gdevelop5/publishing/publishing-to-itch-io.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: publishing-to-itch-io ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -##Publish your game to itch.io - -Before we start, I would like to take the time to explain the reason why I recommend [Itch.io](https://itch.io) - -Itch.io is the most "hobbyist friendly" among all online stores in all possible ways: - -- it is completely free -- easy to prepare the content for upload and to be published on itch.io -- easy to update the uploaded files -- you can share a dev vlog -- you can set up a community forum or allow comments only or none -- no quality requirements, anything can be shared -- SEO friendly, anything you upload can be easily found on Google within days. -- you can share downloadable games for Windows, Linux, Mac, Android and also HTML5 games played in the browser -- you can make money without starting your own business and pay taxes, itch.io can collect the money, deal with refund requests and pay the required taxes on your behalf and you can request a payout any time. -- in case you do want to start your own business, itch.io can take care of the transaction for you and transfer each purchase directly to you, but then you need to take care of refunds and taxes -- you can set a fixed price for your content or share it freely and accept donation only or the most unique one, you can set only that you require payment but you can let the people decide how much they want to pay. -- revenue share is also flexible which makes itch.io the most unique, you can decide how much revenue share you want to pay to itch.io and yes you can set this value to 0 if you want and pay nothing yet itch.io still happy to host your content for free and hope if you are successful you are going to consider to pay something to them. -- no annoying ads on browser games - -First let prepare our game for upload, in case of itch.io it is really simple, the only thing you need to do is get the folder containing your game and archive it into a ZIP file. Make sure the index.html file is in the root folder and not in a sub-folder inside. The folder we used to export our game into from GDevelop should be fine. - -To archive your game folder, you are going to need an archiving tool. The one I'm using is called [7-Zip](http://www.7-zip.org) I have been using 7-Zip for ages, to be honest I can't even remember using anything else so this is what I recommend. After downloading and installing it, just right click on the folder containing your game and we should have 7-Zip in your list with the option to add to the archive. ![](/gdevelop5/7zip-add-to-archive.png) - -After selecting the add to archive option, there are many different options we can tweak, but the only one we are interested in right now is the OK button on the bottom. This will create our ZIP archive, ready to upload to itch.io - -If you don't have the quick option in your list, you can launch 7-Zip manually, browse the folder you want to archive, select it and then click the Add button on the top ![](/gdevelop5/7zip-add-button.png) It will bring up the same window as the quick option where you need to press OK. - -Next, you need to create an account at itch.io that I won't explain in detail as the steps should be no different from other places you have registered before. Once you have an itch.io account, you want to login and you want to go to your Dashboard. Here you should find a Create new project button ![](/gdevelop5/itchio-create-new-project-button.png) - -After clicking the button, you can setup your project, I go through only the most important options required to share your game. - -- **Title:** this is the title of your game -- **Project URL:** this is the URL where your game can be found at itch.io, it normally takes the form of yourname.itch.io/your-game-title. The game title in the URL can be anything, it is up to you what you going to choose but it must be unique, can not be the same as other game titles in your library. -- **Classification:** here you can choose what kind of content you want to upload, a game or a book maybe. we obviously want to select game here -- **Kind of project:** here you can select what kind of project you want to upload, is it downloadable or a HTML or Flash game, in this case we want to choose the HTML. Later you can add downloadable files that can be purchased or downloaded for free -- **Pricing**: this is where you can set if your game needs to be purchased or you accept a donation or you don't want any payment. If you do want payment, you can set how much your game cost or how much donation you recommend -- **Uploads:** this is the section where you can actually upload your project and you want to click on the Upload files button - -![](/gdevelop5/itchio-upload-files-button.png) Once you clicked the button, you want to browse and select the ZIP file we have created earlier and it is going to be uploaded to itch.io. Once the upload is done, you can choose from several options ![](/gdevelop5/ithio-upload-file-options.png) - -You can choose if the file you have just uploaded is an executable, a book, source code or a mod. You can also set a platform, the price for each file you upload if you want, but the most important option for us "This file will be played in the browser". ![](/gdevelop5/itchio-play-in-browser-option.png) By ticking the box we mark our file to be played in the browser. - -Finally, you want to click on the save and view page button ![](/gdevelop5/itchio-save-view-page-button.png) - -After it should load a preview of the page of our game and if we did it right, our browser game should start playing. Now the only thing left to do, we need to set our project to be public so anyone can play it. In order to do that, click on the Edit game button on the top or go back to the Dashboard where our game should be listed now and click Edit in the list. - -It will take us back to the project creation page with the option available on the bottom to set our project to be public ![](/gdevelop5/itchio-set-public.png) - -Select the public option and click the Save button. - -Now anyone should be able to find and play your browser game on itch.io. We can also share a link to the game and even embed the game in to your website if you have one. diff --git a/docs/pt/gdevelop5/tutorials/basic-game-making-concepts.md b/docs/pt/gdevelop5/tutorials/basic-game-making-concepts.md deleted file mode 100644 index e6e1d660599..00000000000 --- a/docs/pt/gdevelop5/tutorials/basic-game-making-concepts.md +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: Conceitos básicos de criação de jogos - O que você precisa saber para começar com o GDevelop ---- -# Conceitos básicos de criação de jogos: O que você precisa saber para começar com o GDevelop - -Os conceitos básicos do GDevelop são simples. Leia as seguintes informações para começar a usar o software. Se você não possui o GDevelop, [baixe a última versão aqui](https://gdevelop.io/download)! - -## Mostrando coisas na tela: os objetos - -Tudo o que é *exibido na tela* é chamado de **"Objeto"**. Diferentes tipos de objetos podem ser usados para exibir diferentes elementos do jogo na tela. Por exemplo, a maioria dos gráficos do jogo são objetos "Sprite", os textos podem ser exibidos com objetos "Texto" e efeitos especiais, como fogo ou faíscas, podem ser criados com "Particle Emitters" (_Emissores de Partículas_). - -## Posicionando objetos no mundo: coordenadas - -Objetos na tela/cena do GDevelop têm coordenadas X e Y. Essas coordenadas correspondem à posição horizontal (eixo X) e à posição vertical (eixo Y) no _plano cartesiano_. - -A coordenada X _diminui_ à medida que você vai para a esquerda e _aumenta_ à medida que você vai para a direita. A coordenada Y _aumenta_ à medida que você desce e _diminui_ à medida que você sobe. - -![](/wiki/pres_coord1.png) - -Para mover ou girar objetos, você precisará especificar o ângulo desejado em graus. A ilustração abaixo demonstra como o GDevelop entende o ângulo de rotação: - -![](/wiki/pres_coord2.png) - -Se você usar funções trigonométricas como **seno** ou **cosseno**, precisará expressar os ângulos em **radianos**. (1 radiano = 180/PI graus e 1 grau = PI/180 radianos. PI é o número aproximadamente igual a 3,14159). - -## Eventos e como os objetos são selecionados para estes Eventos - -Os eventos que você usa para criar as regras do seu jogo são compostos de condições e ações. A maioria das condições e ações se refere a objetos: - -* As condições executam um **teste** nos objetos. -* Ações **manipulam** o objeto. Eles podem mudar a posição do objeto, aparência, etc ... - -Uma ação, sem uma condição, refere-se a todos os objetos. Se você usar um objeto pela primeira vez em um evento, o GDevelop testará ou modificará **todos os objetos** com esse nome na cena. - -Se você usar o objeto no mesmo evento novamente, o GDevelop testará ou modificará apenas os objetos que foram escolhidos pelas condições anteriores. - -Por exemplo, este evento não tem condição. Ele excluirá todos os objetos chamados "Square": - -![](/gdevelop5/tutorials/delete-square.png) - -O evento abaixo tem uma condição. Ele excluirá apenas os objetos "Square" com uma posição X menor que 100 pixels: - -![](/gdevelop5/tutorials/delete-square-condition.png) - -!!! tip - - **Veja em ação!** 🎮 Abra este exemplo online: https://editor.gdevelop.io/?project=example://object-selection - -[![](/gdevelop5/tutorials/objectselection-pickobject.png)](https://editor.gdevelop.io/?project=example://object-selection) - -## Eventos: a ordem é importante - -A ordem dos eventos **importa**! - -Eventos no topo são executados primeiro. Os eventos são executados toda vez que seu jogo é exibido. Essa tela é chamada de quadro. Ele executa cerca de 60 vezes por segundo. Os exemplos a seguir **não** são equivalentes: - -![](/gdevelop5/tutorials/create-then-delete-square.png) - -![](/gdevelop5/tutorials/delete-then-create-square.png) - -* As ações do primeiro par de eventos criam um objeto "Square" nas coordenadas X: 100. Y: 200 (100; 200). Em seguida, o evento exclui o square criado imediatamente. "**No** Square" é exibido na tela. É excluído logo após ser criado. -* O segundo par de ações de eventos exclui todos os objetos "Square" da cena/tela. Em seguida, cria um "Square" nas coordenadas da cena / tela X: 100, Y: 200 (100; 200). Este evento mostra que um quadrado é **visível** na cena (antes de ser excluído no próximo quadro. Ele será recriado imediatamente). - -##Comportamentos: regras predefinidas e lógica para objetos - -**Comportamentos** permitem aprimorar um objeto com alguma *lógica predefinida*. Os comportamentos podem ser bastante simples, automatizando tarefas simples ou muito mais avançadas. Por exemplo: - -* Um comportamento pode ser usado para remover automaticamente um objeto do jogo quando ele sai da tela (limitando o uso de memória do jogo). - -* O comportamento da física é um exemplo de comportamento avançado que faz com que seus objetos se movam de maneira realista, seguindo as leis da física. - -Objetos e comportamentos podem ser manipulados usando eventos. Você pode ler as páginas sobre [Objetos](/pt/gdevelop5/objects) e [Comportamentos](/pt/gdevelop5/behaviors) para saber mais sobre eles. - -## Movendo objetos: usando as forças internas - -Objetos em movimento podem ser alcançados com ** forças**. Forças são usadas para "empurrar" objetos. - -Você pode especificar: - - * as coordenadas de uma força no eixo X e Y, em pixels, - * ou suas coordenadas polares (o ângulo da força, em graus e comprimento, em pixels), - * se a força for instantânea (apenas empurrará "um pouco" o objeto) ou contínua (continuará empurrando o objeto até que seja removido). - -### Exemplo - -Digamos que você queira mover um objeto para baixo: - -![](/wiki/pres_vector.png) - -Você pode adicionar uma força usando as coordenadas X / Y especificando 0 para a coordenada X e, digamos, 150 pixels para a coordenada Y. Você também pode usar coordenadas polares e adicionar uma força com um ângulo de 90° e um comprimento de 150 pixels. - -### Outras maneiras de mover objetos - -Alguns "comportamentos", como o mecanismo de física ou o _Pathfinding_ (Pesquisa de rota), podem mover os objetos sozinhos. Nesse caso, é melhor não usar o sistema de forças internas e, em vez disso, confiar apenas nas ações fornecidas por esses comportamentos. - -!!! tip - - **Veja em ação!** 🎮Abra o exemplo online: https://editor.gdevelop.io/?project=example://move-object-with-physics - -[![](/gdevelop5/tutorials/moveobjectwithphysics.png)](https://editor.gdevelop.io/?project=example://move-object-with-physics) - -## Armazenando qualquer informação na memória: Variáveis - -Uma variável permite armazenar **dados**. Por exemplo, uma variável pode armazenar um número ou um texto. Podemos compará-los com gavetas ou caixas onde podemos registrar notas. Qualquer dado pode ser armazenado em uma variável, desde que esteja no formato _text_ ou _number_. Coisas como o número de vidas restantes de um jogador, a pontuação mais alta de um jogador, o número de balas restantes e/ou o número de inimigos mortos são exemplos do que pode ser armazenado em uma variável. Você provavelmente irá armazenar números em variáveis como uma prática comum. - -![](/wiki/pres_variable.png) - -Ações e condições testam ou alteram uma variável de _valor_. - -### Onde as variáveis são armazenadas? (variável "escopo") - -O _escopo_ de uma variável determina o local em que uma variável pode ser acessada. No GDevelop, existem três variáveis escopos disponíveis: - -* As variáveis **Globais** são acessíveis em todas as cenas do jogo. Por exemplo, eles podem ser usados para armazenar a pontuação do jogador em diferentes níveis / cenas. -* As variáveis de **Cena** são acessíveis apenas a partir da cena em que foram criadas. Elas podem ser usadas para dados que dizem respeito apenas a uma cena. Uma variável de cena poderia acessar o tempo restante para concluir o nível / cena. -* As variáveis **Objeto** dizem respeito apenas a um objeto. Por exemplo, um herói pode ter uma variável "Saúde" ou "Munição". - -!!! note - - Leia mais sobre variáveis na página [Variáveis](/pt/gdevelop5/all-features/variables) . As variáveis são muito usadas em jogos: a maioria dos exemplos as utiliza e os tutoriais também as utilizam. - -!!! tip - - Deseja ver como as variáveis são usadas em um tutorial em vídeo? Verifique este tutorial: [Variáveis explicadas para não programadores (em inglês)](https://www.youtube.com/watch?v=SRfpBTgx-PY). - -## Uma noção avançada: o "tempo decorrido" desde o último quadro (TimeDelta) - -O jogo avalia eventos e redesenha a tela várias vezes por segundo: dizemos que o jogo é _atualizado_, _atualizada_ durante um "tick". A frequência com que isso acontece depende dos recursos do computador: um computador lento pode render 25 quadros por segundo, um rápido 60. O GDevelop geralmente pode garantir que esse valor seja o mesmo em todos os computadores. No entanto, a velocidade de algumas operações pode mudar de computador para computador, por exemplo, operações matemáticas e a renderização de movimentos. - -Para tornar a velocidade das alterações constante, use a expressão _TimeDelta ()_, que retorna o tempo em segundos desde o último quadro. -Por exemplo, não faça isso: - -![](/gdevelop5/tutorials/update-life-no-timedelta.png) - -Mas faça isso: - -![](/gdevelop5/tutorials/update-life-timedelta.png) - -* O primeiro evento adiciona 20 à variável toda vez que o jogo é atualizado (ou seja, o máximo possível, até 60 vezes por segundo). **Não é correto** usar esse evento, pois a velocidade de aumento da variável não será a mesma de computador para computador: não podemos prever o valor da variável após 10 segundos, por exemplo - pois depende do número de quadros do jogo pintado. - -* O segundo evento é **correto e confiável**: o número 300 é multiplicado por TimeDelta (). Assim, a variável será aumentada ao mesmo tempo em todos os computadores. Como TimeDelta () retorna um tempo em segundo, permite quantificar exatamente a quantidade: No nosso caso, a variável aumentará em 300 unidades / segundo. Assim, podemos predizer que a vida aumentará em 3000 unidades em 10 segundos - qualquer que seja o número de quadros pintados durante esse período. - -** Regra geral: ** Use _TimeDelta ()_ quando desejar adicionar continuamente alguma quantia a um valor. Se a sua ação for lançada apenas uma vez (por exemplo, durante uma colisão em que você exclui o objeto), não há problema em usar um valor discreto sem o TimeDelta - pois isso não depende da velocidade do jogo. - -!!! danger - - Quando você está movendo um objeto usando forças, não há necessidade de usar TimeDelta (), pois o GDevelop o usa automaticamente. - -## E ... isso é quase tudo que você precisa saber - -➡️ Você pode continuar lendo **[os tutoriais](/pt/gdevelop5/ tutorials)** para saber mais sobre a criação de jogos reais com o GDevelop! \ No newline at end of file diff --git a/docs/pt/gdevelop5/tutorials/index.md b/docs/pt/gdevelop5/tutorials/index.md deleted file mode 100644 index 4b9cb59a76c..00000000000 --- a/docs/pt/gdevelop5/tutorials/index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Tutoriais do GDevelop 5 ---- -# Tutoriais do GDevelop 5 - -Estes tutoriais são guias passo a passo que explicam como criar um jogo a partir do zero: - -!!! note - - Se você estiver usando o GDevelop pela primeira vez, é recomendável começar com estes tutoriais - -- **[Conceitos básicos de criação de jogos: O que você precisa saber para começar com o GDevelop](/pt/gdevelop5/tutorials/basic-game-making-concepts)** -- **[Crie um jogo de plataforma](/pt/gdevelop5/tutorials/platform-game/start)** -- **[Monstro da geometria: um jogo móvel completo e simples](/pt/gdevelop5/tutorials/geometry-monster)** - -Tutoriais da comunidade: - -- [Crie um jogo simples de atirador de tanques](/pt/gdevelop5/tutorials/tank-shooter) -- [Crie um jogo simples do Endless Runner](/pt/gdevelop5/tutorials/endless-runner) (corrida infinita) -- [Crie um jogo de carros sem fim](/pt/gdevelop5/tutorials/roadrider) - ------------------------------------------------------------------------- - -# GDevelop guias curtos ("como") Os seguintes guias fornecem explicações para certas partes do GDevelop. Eles também mostram algumas mecânicas avançadas para projetar seus jogos: - -- [Como lidar com lógica complexa - A máquina de estados finitos (FSM)](/gdevelop5/tutorials/finite_state_machine) -- [Como animar o salto e a queda de um personagem em um jogo de plataformas](/gdevelop5/tutorials/how-to-animate-jump-fall-platformer) -- [Como exibir um grande plano de fundo no seu jogo](/gdevelop5/tutorials/how-to-display-big-background) -- [Como depurar um desempenho ruim do jogo](/gdevelop5/tutorials/how-to-debug-poor-performance) -- [Ação de armazenamento explicada](/gdevelop5/tutorials/storage-action-explained) -- [Como reduzir o tamanho do seu jogo](/gdevelop5/tutorials/reduce-size-game) - ------------------------------------------------------------------------- - -# Outros guias Os guias abaixo fornecem explicações relacionadas ao desenvolvimento de jogos. Eles não são específicos para o GDevelop. - -* [Publicando seu jogo no itch.io](/gdevelop5/publishing/publishing-to-itch-io) -* [Publicando seu jogo na Amazon App Store](/gdevelop5/publishing/publishing-to-amazon-app-store) -* [Publicando seu jogo no Game Jolt](/gdevelop5/publishing/publishing-to-gamejolt-store) -* [Publicando seu jogo no Kongregate](/gdevelop5/publishing/publishing-to-kongregate-store) - ------------------------------------------------------------------------- - -# Tutoriais em vídeo do GDevelop - -- Veja a [lista de tutoriais em vídeo criados pela comunidade](/gdevelop5/tutorials/videos) - ------------------------------------------------------------------------- - -# Recursos Links para sites de terceiros, onde você pode encontrar sprites, músicas e efeitos sonoros para seus jogos, exemplos de modelos, modelos e software para ajudá-lo no desenvolvimento de jogos. - -- [Lista de recursos](/gdevelop5/tutorials/resources) diff --git a/docs/pt/gdevelop5/tutorials/platform-game/index.md b/docs/pt/gdevelop5/tutorials/platform-game/index.md deleted file mode 100644 index a8383dfc711..00000000000 --- a/docs/pt/gdevelop5/tutorials/platform-game/index.md +++ /dev/null @@ -1,176 +0,0 @@ ---- -title: start ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -# Como criar um jogo de plataforma - -Esse tutorial ajudará você a utilizar **GDevelop**: Você criará um jogo simples de plataforma onde o jogador poderá pular sobre plataformas e coletar moedas. - -Note que você poderá ler a página [Getting Started](/gdevelop5/getting_started) para obter uma visão geral do software: a explicação dos principais conceitos e interface do GDevelop. - -## Baixar GDevelop - -Se você não tiver o **GDevelop 5**, faça o download do \[website oficial\](). Está disponível para Windows, macOS e Linux. - -Sempre baixe o GDevelop desta página para ter certeza de ter a versão mais recente. Instale (ou extraia) o GDevelop e inicie-o. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_22.57.02.png) - -## Crie um novo jogo - -Clique em `Create a new project (Criar um novo projeto)` na página inicial. Na janela, escolha uma pasta para o seu projeto e selecione `Empty project (Projeto vazio)` para iniciar um novo jogo do zero. - -Para criar nosso jogo, precisamos ter os *assets* que possamos usar (o personagem do jogador, algumas plataformas, itens para coletar ...). Você pode baixar recursos aqui: . - -Depois de baixar esse arquivo, extraia seu conteúdo para dentro da pasta em que você criou o projeto. - -## Adicione uma cena - -Cenas são partes do seu jogo. Normalmente, cada tela diferente do seu jogo é uma cena: o menu principal, o menu de pausa e os níveis são cenas. - -Cenas contêm objetos, que são exibidos na tela. Esses objetos podem ser colocados em cena para criar os níveis (esses objetos são chamados de "instâncias"). As cenas também contêm os eventos que são executados para animar a cena. - -No gerenciador de projetos (que é aberto à esquerda), clique no botão `+` e em "*Scenes*": - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.26.09.png) - -Uma nova cena, chamada "Nova cena", é adicionada à lista. Clique nele para abri-lo. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.30.40.png) - -## Create the player object - -The player will be controlling a character that can jump and move on platforms. We're going to create this object. - -On the right, you can see a panel called "Objects". Click on the `+` button to add an object. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.32.40.png) - -A window will pop up displaying different types of objects you can choose from. - -![](/gdevelop5/tutorials/platform-game/gd5_object_types1.png) - -Different kinds of objects provide specific features. For most of our objects, we will use the Sprite objects, which are animated objects that can be used for a lot of elements (player, platforms, enemies, items...). - -Click on `Sprite` in the list. The new object is added to the scene and the object editor is opened: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.34.34.png) - -The object is empty for now. Sprite objects are composed of animations, and each animation can contain one or more images. Let's add an animation! Click on the `+` button. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.35.50.png) - -The animation is added but still empty with no images. To add an image, click on the `+` in the blank thumbnail. - -Choose the image called `p1_stand` in the project folder. The image is added to the object: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.44.56.png) - -You can now close the editor by clicking the "Apply" button in the bottom right corner. - -## Put the object on the scene - -To display the player in our level, we place it in the scene. Each object we add to the scene is called an "instance" of the object. - -Our player instance will be unique as we are going to have only one in our level, but other objects (like platforms, coins, enemies...) can have multiple instances living on the scene. - -To add the object, simply click on it in the list. It is then selected and displayed on a blue background: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.47.57.png) - -You can then click anywhere on the scene to add the instance of this object: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.48.05.png) - -## Give the object a proper name - -To make it easier to refer to our object, give it a name rather than using the default name. Right click on it (or click on the `⋯` icon) and choose rename. You can then type "Player" and click anywhere on the screen or press Enter to rename the object. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.53.10.png) - -## Add platforms - -The level is still empty for now without any platforms. Let's add some. - -Create a new object by clicking on the `+` button in the Objects list. This time, choose `Tiled Sprite` when asked for the type of object: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.54.52.png) - -The object editor is opened. It's a bit different compared to the editor of the Sprite object, as Tiled Sprite objects are not animated. Click on `Select an image` and then on `Choose a new image`. This time, choose the image called `grassHalfMid`. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.57.28.png) - -Close the editor by clicking on the "Apply" button in the bottom right corner. Click on the object in the list to select it, and click on the scene to place it in the level: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.59.05.png) - -The object is added to our scene but it is very tiny. Click on it and use the handles to resize so that it looks like a platform: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.00.01.png) - -Also, don't forget to rename the object to be called "GrassPlatform" instead of the default name. - -### Time to save! - -Let's not lose what we've done so far: in the application "File" menu, click on "Save" (or press Ctrl+S/Cmd+S) to save your changes. - -## Add behaviors to objects - -### The player - -The movement of the player could be created using the events of GDevelop, but it would be a quite long and difficult task to recreate a good platformer engine. Luckily, GDevelop already comes with a complete platformer engine built-in that we can use. For this, we need to use the "platformer behaviors", which allow us to access and use the built-in platformer engine. - -Open the "Player" object editor: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.02.34.png) - -Switch to the `Behaviors` tab and click on the `+` button to add a behavior to the object. Choose `Platformer character` in the list of available behaviors. You can then see the behavior in the editor, with a lot of parameters that you can tweak: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.04.41.png) - -You can change some properties like the jump speed. Set it for example to 800 so that the jump is more powerful. - -### Platforms - -We also need to set objects to be platforms. so the player can walk and jump on them. Otherwise, the player will fall through the object as we didn't tell to our character what to do when they land on it. By setting an object to be a platform, the platformer character will collide with it and be able to walk on it. - -To set the GrassPlatform object to be a platform, open the GrassPlatform object editor. Switch to the Behaviors tab, then add a behavior: this time, choose the `Platform` behavior. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.09.42.png) - -There are also a few options that you can change. For example, the option "Can grab platform ledges" is there to allow the platformer character to grab the edge of the platform. If we enable this option right now, the result will look strange though, as we don't have an animation to be displayed when the character grabs the edge. Let's keep this unchecked. - -## Start a preview - -At this point, you should be able to test your game by pressing the "Preview" button at the top of the screen in the toolbar. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.13.25.png) - -When you press the button, a preview is generated and just after, a new window is opened. - -You should be able to walk and jump around using the default keys: move the character with the arrows keys, and press `Shift` or `Space` to jump! Feel free to add a few other platforms to the scene as we did before. Make sure you added the behaviors to the platforms, to avoid the character falling through. - -For now, the object has no animations, we'll add some later. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.14.18.png) - -If the object is not moving, be sure that you've added the proper behaviors. - -## Change the background color - -The grey background is a bit boring. Later we can add an image, but for now, let's keep things simple. In the editor, right click on the grey background and choose "Scene properties": - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.16.03.png) - -In the new window that opened, click on `Scene background color` and select a nice color for the background: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.18.08.png) - -## Next step: animate the player - -Our game is very basic at the moment, the player is not animated when jumping or running. The next part of the tutorial will show how to add different animations and how to use events to change the animations when the state of the player is changing. - -➡️ Read **[the next part of the tutorial here](/gdevelop5/tutorials/platform-game/2-player-animations)**! diff --git a/docs/pt/index.md b/docs/pt/index.md deleted file mode 100644 index 2f507bdceb8..00000000000 --- a/docs/pt/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: start ---- - -![](/logocompleteeffecttranparent400x100.png) - -# GDevelop Wiki - -GDevelop é um ambiente para jogos multiplataforma de código aberto que pode ser utilizado por qualquer um, mesmo que não tenha conhecimentos de programação, se você ainda não tem o GDevelop, [baixe-o](https://gdevelop.io/download)! - -Esta wiki foi criada para solucionar dúvidas e ajudar no uso do GDevelop: Sinta-se livre para contribuir! - -## Tutoriais e Vídeos - -Aprenda a utilizar o Game Develop com os **[tutoriais](/pt/gdevelop/tutorials)**. - -## Documentação Completa - -Leia a **[documentação do GDevelop](/pt/gdevelop/documentation)** para uma referência completa. - -===== Wiki em outros Idiomas ===== ![](/fr.png)[⇒ Wiki em Francês](/fr/start) - -Clique na bandeira ou no título de cada página para acessar a wiki em outras línguas. -Sua ajuda será muito bem vinda para traduzir esta wiki para outros idiomas: - -![](/zh.gif)[⇒ Wiki em Chinês](/zh/start) -![](/de.png)[⇒ Wiki em Alemão](/de/start) -![](/ru.png)[⇒ Wiki em Russo](/ru/start) -![](/es.png)[⇒ Wiki em Espanhol](/es/start) -Crie uma conta na wiki e use o menu no topo da página para poder criar ou editar uma página, veja: [ajude a traduzir o GDevelop e o seu website](http://crowdin.com/project/gdevelop). diff --git a/docs/ru.png b/docs/ru.png deleted file mode 100644 index 47da4214fd9..00000000000 Binary files a/docs/ru.png and /dev/null differ diff --git a/docs/ru/gdevelop5/all-features/expressions.md b/docs/ru/gdevelop5/all-features/expressions.md deleted file mode 100644 index e42523d3dba..00000000000 --- a/docs/ru/gdevelop5/all-features/expressions.md +++ /dev/null @@ -1,166 +0,0 @@ ---- -title: Выражения ---- -# Выражения - -При добавлении условия или действия в [событие](/gdevelop5/events), рядом с некоторыми полями есть следующие значки: - -![](/gdevelop5/all-features/number_expression.png) - -![](/gdevelop5/all-features/text_expression.png) - -Эти значки показывают, что поле принимает _выражение_. - -Есть несколько типов выражений: - -- [Числа](/gdevelop5/all-features/expressions#numbers) -- [Текст](/gdevelop5/all-features/expressions#text) -- [Функции](/gdevelop5/all-features/expressions#functions) - -!!! note - - Вы можете переключаться с чисел на текст или с текста на числа с функциями. - -!!! tip - - Полный список функциональных выражений, которые GDevelop предоставляет по умолчанию, см. в [expressions reference](/gdevelop5/all-features/expressions-reference). - -## Числа - -Когда рядом с полем появляется следующий значок, это поле принимает _числовое_ выражение: - -![](/gdevelop5/all-features/number_expression.png) - -Числовое выражение - это число. - -Следующие значения являются примерами числовых выражений: - -- `0` -- `-10` -- `25.5` - -Вы также можете использовать математические операторы для сложения, вычитания, умножения и деления чисел: - -- `2+2` -- `3-1` -- `10*10` -- `99/3` - -Это полный список операторов: - -- `+` (добавить) -- `-` (вычесть) -- `*` (умножить) -- `/` (подилить) - -!!! tip - - В одном выражении можно использовать несколько операторов. - -## Текст - -Когда рядом с полем появляется следующий значок, это поле принимает выражение _текста_: - -![](/gdevelop5/all-features/text_expression.png) - -Текстовое выражение - это строка текста. - -Следующие значения являются примерами текстовых выражений: - -- `"Привет мир!"` -- `"Это текстовое выражение"` -- `"GDevelop это круто!"` - -Все текстовые выражения должны быть заключены в двойные кавычки. Без двойных кавычек GDevelop предполагает, что значение является функцией, что, скорее всего, приведет к ошибке. - -Вы можете использовать оператор `+` для объединения двух или более строк текста. Например, «Привет» + «Мир» превращается в «ПриветМир». Остальные операторы недопустимы при работе с текстом. - -## Функции - -Часто необходимо вычислять сложные значения, с которыми математические операторы не могут справиться. Например, если событие влияет на положение игрока, игра должна динамически вычислять координаты X и Y игрока. - -Вот здесь и пригодятся _функции_. - -Вы можете использовать функции для динамического вычисления комплексных значений во время игры. Например, функции `X` и` Y` вычисляют координаты [объекта](/gdevelop5/objects): - -``` -ИмяОбъекта.X() -ИмяОбъекта.Y() -``` - -Использование функции часто называют *вызовом* функции. - -!!! tip - - Если вы знакомы с формулами в электронных таблицах, функциями в языках программирования или функциями в математике, знайте, что функции в GDevelop ведут себя аналогичным образом. - -### Синтаксис - -Есть три типа функций: - -- Функции без объектов -- Функции с объектами -- Функции с объектами и поведением - -Каждый тип функции немного отличается синтаксисом. - -#### Функции без объектов - -Некоторые функции существуют независимо от объектов и [поведений](/gdevelop5/behaviors). Для вызова этих функций ваша сцена не нуждается в каких-либо объектах или поведениях. - -Вот несколько примеров функций без объектов: - -- `CurrentSceneName()` - Получите название текущей сцены. -- `FileSystem::DesktopPath()` - Получите путь к каталогу «ПК». -- `ToNumber()` - Преобразуйте строку в число. - -!!! note - - GDevelop использует синтаксис `::` для функций, связанных с * пространством имен *. Например, все функции файловой системы имеют префикс FileSystem ::. Это помогает организовать связанные функции. Синтаксис `::` не влияет на поведение функции. - -#### Функции с объектами - -Некоторые функции вызываются для объектов. Это означает, что функция влияет на конкретный объект или извлекает данные о нем. - -Вот несколько примеров функций с объектами: - -- `.Angle()` - Получите угол объекта (в градусах). -- `.Layer()` - Получите имя слоя, на котором находится объект. -- `.ObjectName()` - Получите название объекта. - -####Функции с объектами и поведением - -Некоторые функции вызываются для поведения объекта. Это означает, что функция влияет или извлекает данные о конкретном поведении, связанном с объектом. - -Вот несколько примеров функций с объектами и поведениями: - -* `<объект>.Pathfinding::Speed()` -* `<объект>.Physics2::Friction()` -* `<объект>.PlatformerObject::Gravity()` - -### Arguments - -Некоторые функции принимают _аргументы_. аргумент - это значение, которое: - -- можно передать в функцию -- влияет на вывод функции - -Например, функция `ToString` преобразует число в строку, но ничего не может сделать, если вы не предоставите ей число. Это число - аргумент. В следующем примере аргументом является число 42: - -``` -ToNumber(42) -``` - -Некоторые функции, такие как функция MouseX, принимают несколько аргументов: - -``` -MouseX(слой, камера) -``` - -Если функция принимает несколько аргументов, каждый аргумент должен быть разделен запятыми и предоставлен в указанном порядке. - -### Возвращаемые значения - -Когда функция вычисляет значение, она возвращает это значение. Это значение является выходом функции. Например, если координата X объекта равна `42`, функция` ObjectName.X () `возвращает` 42`. - -Функции могут возвращать числа или строки. Тип значения, возвращаемого функцией, определяет, можно ли использовать функцию в поле. Например, функция ToString возвращает строку, поэтому ее нельзя использовать в поле, которое ожидает число, а функция ToNumber возвращает число, поэтому ее нельзя использовать в поле, которое ожидает текст. \ No newline at end of file diff --git a/docs/ru/gdevelop5/all-features/firebase/analytics.md b/docs/ru/gdevelop5/all-features/firebase/analytics.md deleted file mode 100644 index b665f48830a..00000000000 --- a/docs/ru/gdevelop5/all-features/firebase/analytics.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: Аналитика ---- -# Аналитика - -Firebase Analytics позволяет собирать и обрабатывать информацию о пользователях. Аналитика за день обычно занимает около 24 часов, чтобы отобразиться на панели управления. - -Чтобы начать работу с аналитикой Firebase, используйте действие **Активировать аналитику** в событии. - -## Учёт пользовательских событий - -Для отправки пользовательских данных, например, об игроке, который завершил уровень, можно использовать «событие журнала». Вот пример: - - - Когда игроки покидают уровень, перед переключением сцен: - - Создайте новое событие или обновите существующее событие с помощью ** действия журнала событий ** - - Убедитесь, что «level1_finished» указан как имя события. - - Пользователи, прошедшие уровень 1, теперь будут отображаться на панели инструментов. -Оценки также могут быть переданы путем отправки события, называемого «оценка», с дополнительными данными - значением переменной, содержащей оценку. - -## Использование свойств - -Свойства - это то, что полезно для различения групп игроков. Например, в начале игры игрок указывает свой любимый цвет, затем он задается как настраиваемое свойство и регистрируется как часть счета с помощью настраиваемых событий. После этого Firebase сможет отображать средний балл людей, которые выбрали синий как любимый цвет, и разницу со средним баллом людей, выбравших красный. - -Это может быть полезно для сбора данных о пользователях и использования с помощью [удаленной настройки](/ru/gdevelop5/all-features/firebase/rc) чтобы например масштабировать сложность (или другие параметры) в зависимости от свойств пользователя. - -## Как отлаживать / тестировать настраиваемые события и свойства - -Аналитика Firebase не отображается сразу на панели инструментов. Это может затруднить проверку работоспособности интеграции. Вы можете использовать расширение Google Chrome, чтобы убедиться, что данные отправляются правильно. - - - Установите [Расширение отладки Google Analytics для Chrome](https://chrome.google.com/webstore/detail/google-analytics-debugger/jnkmfdileelhofjcijamephohjechhna). - - Запустите функцию предварительного просмотра в сети или экспортируйте игру как игру HTML5 и разместите ее на любом веб-сервере (удаленном или локальном). - - Перейдите в консоль Firebase и откройте панель DebugView: ![](/gdevelop5/all-features/firebase/analytics1.png) - - Наконец, перейдите на страницу веб-сервера (или URL-адрес предварительного просмотра сети) и щелкните значок расширения, чтобы включить режим отладки. Игра должна перезагрузиться, и теперь каждый раз, когда что-то регистрируется или изменяется свойство пользователя, вы будете видеть это в DebugView с небольшой задержкой. diff --git a/docs/ru/gdevelop5/all-features/firebase/authentication.md b/docs/ru/gdevelop5/all-features/firebase/authentication.md deleted file mode 100644 index c268eae8022..00000000000 --- a/docs/ru/gdevelop5/all-features/firebase/authentication.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Аутентификация ---- -# Аутентификация - -Аутентификация - это процесс проверки личности человека. Люди часто называют это «входом в учетную запись» или чем-то подобным. -Firebase предоставляет инструменты, которые помогут вам создавать учетные записи пользователей, аутентифицировать (входить) в учетную запись, используя популярные способы (пароль электронной почты, аутентификация Google, ссылка электронной почты и т. Д.), -и привязать эту учетную запись к данным с помощью Firestore. - -## Процесс аутентификации -Первое и самое важное - это процесс аутентификации. Это та часть, где пользователь доказывает, кто он есть. Обычно это делается через _экран входа в систему_. - -Firebase предоставляет несколько способов аутентификации: - -- **Анонимно**: вы можете использовать это, чтобы предоставить ограниченный доступ к предварительному просмотру служб, требующих аутентификации. Таким образом, вы также можете назначить данные этому временному профилю. Возможно, в будущем можно будет обновить анонимную учетную запись до постоянной, но GDevelop еще не поддерживает это. -- Через **электронную почту**: вы заставляете пользователя вводить адрес электронной почты и пароль, а обо всем остальном позаботится Firebase. -- Использование **внешние сервисы**: пользователь может идентифицировать себя через сторонний веб-сайт, используя, например, свои учетные записи *Facebook* или *Google*. - -!!! danger - - На момент написания внешние сервисы работают только в браузере, они не будут работать в экспорте или превью на ПК. - -## Идентификация пользователя -Как только вы уверены в личности пользователя, Firebase предоставляет вам удобный идентификатор пользователя, который связывает вашего пользователя с его данными. -Все, что связано с этим пользователем, должно храниться с этим идентификатором, чтобы иметь возможность отслеживать его право собственности на данные и предоставлять их им. -как только им это понадобится. - -Например, если вы составляете таблицу лидеров, постарайтесь сохранить не только счет и имя пользователя, но и его идентификатор пользователя. Туда, -люди могут проверить, действительно ли **этот человек** получил высокий балл, так как люди могут иметь такое же отображаемое имя, -или чтобы иметь возможность исключить пользователя из списков лидеров, если он оказался жульничеством. - -Этот идентификатор останется уникальным для каждого пользователя и никогда не изменится для пользователя. Вот почему это идеальный вариант для идентификации пользователя. - -!!! tip - - Помните: используйте **ID** для // **ID** подтверждения // пользователя! - -## Получение и установка основных пользовательских данных - -Вы можете установить основные пользовательские данные и получить их позже. Эти данные пользователя могут быть адресом электронной почты, паролем, номером телефона, отображаемым именем, URL-адресом фотографии и т. Д. -Это все, что вам нужно для базового профиля в большинстве случаев. -Чтобы хранить больше данных, вам нужно будет использовать что-то вроде [Firestore](/gdevelop5/all-features/firebase/firestore). -!!! tip - - Чтобы использовать URL-адрес фотографии, взгляните на пример [загрузки изображения из URL в спрайт](https://editor.gdevelop.io/?project=example://load-image-from-url). - -## Опасные действия - -Некоторые действия называются опасными: они могут сделать учетную запись недоступной для пользователя в случае неправильного использования. -Например, изменение адреса электронной почты или пароля учетной записи опасно, поскольку, если пользователь потеряет один из них, им будет сложно получить доступ к своей учетной записи. -Таким образом, эти действия потребуют повторной аутентификации, чтобы убедиться, что пользователь действительно запрашивает действие, а не какой-то одноранговый узел пытается захватить учетную запись. -Пожалуйста, сделайте вход пользователя еще раз и не сохраняйте его учетные данные в переменной для повторной аутентификации без их ведома, так как это может привести к захвату учетной записи. \ No newline at end of file diff --git a/docs/ru/gdevelop5/all-features/firebase/firestore.md b/docs/ru/gdevelop5/all-features/firebase/firestore.md deleted file mode 100644 index 3da0ebb44a8..00000000000 --- a/docs/ru/gdevelop5/all-features/firebase/firestore.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: Firestore ---- -# Firestore - -Firestore - это база данных в реальном времени, она позволяет быстро и надежно хранить данные в Интернете, а также работает, если устройство отключено. - -!!! note - - Если вы не уверены что лучше использовать Firestore или Realtime Database, прочтите [официальное сравнение](https://firebase.google.com/docs/firestore/rtdb-vs-firestore). - -## Документы и коллекции - -База данных Firestore упорядочена по документам и коллекциям. Документ содержит данные, а коллекция содержит документы. -Документы также могут содержать коллекции, называемые вложенными коллекциями. - -Преимущество коллекций в том, что они не требуют, чтобы вы загружали их полностью при доступе к ним. -Например, если вы хотите сохранить для каждого пользователя структуру, содержащую его друзей, -вы можете либо структурировать базу данных, поместив ее в документ, либо превращая его в подколлекцию (где каждый дочерний элемент - это документ). -Если вы поместите его в документ, вы сделаете документ больше, и каждый раз, когда вы захотите взять какие-то данные -из документа вы снова загрузили все данные только для одного поля, и вы также увеличиваете его -чтобы получить другие данные из документа. Если вы поместите его как вспомогательную коллекцию, вы можете получить каждого друга -список друзей индивидуально, и вы можете получать данные игрока, не собирая всех друзей каждый раз, когда вы это делаете. - -!!! tip - - - Другое преимущество коллекций заключается в том, что они очень хорошо и быстро фильтруют / упорядочивают данные перед отправкой их игроку. - К сожалению, GDevelop еще не поддерживает отправку запросов к коллекциям. - - -Для получения дополнительной информации о модели данных Firestore прочтите -[руководство по модели данных](https://firebase.google.com/docs/firestore/data-model) и -[руководство по структурированию данных](https://firebase.google.com/docs/firestore/manage-data/structure-data). - -## Регулирование доступа - -Возможно, вы не захотите позволять всем писать все. -В противном случае каждый может изменять данные другого человека! Чтобы выбрать, кто и как может получать доступ, в Firebase есть система правил. -Он взаимодействует с [firebase аутентификацией](/ru/gdevelop5/ all-features/ firebase/ authentication), поэтому вы можете написать это правило, чтобы разрешить аутентифицированным игрокам получать доступ к базе данных: -![](/ gdevelop5/ all-features/ firebase/ firestore/ pasted/ 20201205-202545.png) - -У вас также может быть набор пользователей, и в каждом документе (названном в честь uid пользователя) есть их разрешения. -Здесь, например, вы можете разрешить каждому пользователю с подтвержденным разрешением получить доступ к собственному документу в коллекции userdata, и каждый администратор для доступа к документам в коллекции globaldata: -![](/ gdevelop5/ all-features/ firebase/ firestore/ pasted/ 20201205-203628.png) - -Чтобы узнать подробнее, как писать правила, прочтите -[руководство по синтаксису](https://firebase.google.com/docs/rules/rules-language) и -[руководство по интеграции аутентификации](https://firebase.google.com/docs/rules/rules-and-auth). \ No newline at end of file diff --git a/docs/ru/gdevelop5/all-features/firebase/functions.md b/docs/ru/gdevelop5/all-features/firebase/functions.md deleted file mode 100644 index a032a868668..00000000000 --- a/docs/ru/gdevelop5/all-features/firebase/functions.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Firebase Функции ---- -# Firebase Функции - -!!! danger - - - Эта функция предназначена для опытных разработчиков JavaScript. - - [Также обратите внимание, что для этой функции требуется план Blaze с 15 марта 2021 г.] (https://firebase.google.com/support/faq#expandable-13). - - -Firebase предназначена для самостоятельной замены всего внутреннего сервера. Однако иногда вам нужно самому написать логику сервера: вот тут-то и пригодятся функции firebase. - -Firebase позволяет кодировать логику на стороне сервера, которая запускается при определенных событиях. Чтобы увидеть всю документацию, перейдите на https://firebase.google.com/docs/functions/callable. - -Одно из таких событий - "вызовы https". Вы можете вызвать их с помощью действия GDevelop. Используйте действие функции триггера с вызываемым именем https. Вы можете передавать аргументы и позволять вызываемому https возвращать объект. \ No newline at end of file diff --git a/docs/ru/gdevelop5/all-features/firebase/index.md b/docs/ru/gdevelop5/all-features/firebase/index.md deleted file mode 100644 index a2e1ed73f79..00000000000 --- a/docs/ru/gdevelop5/all-features/firebase/index.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Firebase ---- -# Firebase - -Чтобы начать использовать Firebase, узнайте, как его настроить в [quickstart](/ru/gdevelop5/all-features/firebase/quickstart). - -!!! warning - - Вы должны быть знакомы с GDevelop [Переменные обратного вызова](/ru/gdevelop5/events/callback-variables) чтобы использовать это расширение, т.к. это будет часто использоваться - -Firebase - это набор бесплатных сервисов для разработчиков: аналитика, аутентификация пользователей, хранилище ... Большинство сервисов бесплатны, но для некоторых может потребоваться оплата подписки Firebase, если вы превышаете ограничения бесплатной подписки. - -В услуги входят: - - * [Аналитика](/ru/gdevelop5/all-features/firebase/analytics) - * [Удалённая настройка](/ru/gdevelop5/all-features/firebase/rc) - * [Аутентификация](/ru/gdevelop5/all-features/firebase/authentication) - * [Документоориентированная база данных (Firestore)](/ru/gdevelop5/all-features/firebase/firestore) - * [База данных, ориентированная на ключ-значение(Realtime Database)](/ru/gdevelop5/all-features/firebase/realtime_database) - * [Облачное хранилище(Firebase Storage)](/ru/gdevelop5/all-features/firebase/storage) - * [Firebase функции](/ru/gdevelop5/all-features/firebase/functions) (требуется знания JavaScript) - * [Удаленное измерение производительности](/ru/gdevelop5/all-features/firebase/perfomance) \ No newline at end of file diff --git a/docs/ru/gdevelop5/all-features/firebase/perfomance.md b/docs/ru/gdevelop5/all-features/firebase/perfomance.md deleted file mode 100644 index 1001db1eac7..00000000000 --- a/docs/ru/gdevelop5/all-features/firebase/perfomance.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Измерение производительности ---- -# Измерение производительности - -Firebase включает в себя инструмент, который автоматически измеряет производительность на устройствах игроков. -Таким образом, вы можете узнать, вызывает ли обновление задержки в кадрах, которые вы не заметили на своем устройстве. -Для начала добавьте в любом месте действие «Включить измерение производительности». - -## Пользовательские показатели - -Набор инструментов для измерения производительности также включает способ проверки производительности для определенной группы событий или в определенный период времени с помощью трассировщиков. -Все, что вам нужно сделать, это запустить трассировщик, когда вы хотите начать запись производительности, и остановить его, когда закончите. -Вы также можете записывать производительность в течение определенного количества миллисекунд. -!!! warning - - Результаты не отправляются на сервер, пока вы не остановите трассировщик, поэтому не забудьте остановить их после завершения записи. \ No newline at end of file diff --git a/docs/ru/gdevelop5/all-features/firebase/quickstart.md b/docs/ru/gdevelop5/all-features/firebase/quickstart.md deleted file mode 100644 index f9720a22408..00000000000 --- a/docs/ru/gdevelop5/all-features/firebase/quickstart.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: Настройка Firebase ---- -## Настройка Firebase - -Чтобы использовать Firebase, вам необходимо подключить GDevelop к учетной записи Firebase. На этой странице объясняется, как это сделать. - -!!! note - - В этом руководстве будут использоваться скриншоты на английском языке, если где-то запутались, поменяйте на время язык в Firebase. - -### Шаг 1. Создание проекта Firebase - -Сначала перейдите на . У вас должен быть список проектов. Создадим новый: ![](/gdevelop5/all-features/firebase/quickstart1.jpg) - -Введите название для вашего проекта. В этом руководстве мы назовём его"Tutorial-GDevelop". ![](/gdevelop5/all-features/firebase/quickstart2.jpg) - -Затем выберите, включать или отключать Google Analytics. В этом примере мы включим его, так как хотим продемонстрировать каждую функцию Firebase, но решать вам, будете вы это использовать или нет. Вы всегда сможете изменить это позже. - -![](/gdevelop5/all-features/firebase/bandicam_2020-05-07_17-25-40-916.jpg) - -![](/gdevelop5/all-features/firebase/bandicam_2020-05-07_17-25-55-986.jpg) - -Теперь у вас должна отобразиться панель управления Firebase. - -![](/gdevelop5/all-features/firebase/bandicam_2020-05-07_17-26-34-404.jpg) - -### Шаг 2. Зарегистрируйте приложение для своей игры GDevelop - -Чтобы зарегистрировать игру, создайте в Firebase новое «веб-приложение». Для этого нажмите третью кнопку, чтобы добавить «веб-приложение» (см. Следующий скриншот). - -![](/gdevelop5/all-features/firebase/bandicam_2020-05-07_17-27-51-338.jpg) - -Введите любое имя еще раз и снимите флажок «Настроить хостинг Firebase». - -!!! note - - На момент написания нет поддержки хостинга Firebase, но он может быть добавлен в GDevelop позже. - -Firebase теперь покажет вам код, который вы бы использовали, если бы создавали код для веб-приложения (нам понадобится только фрагмент). - -![](/gdevelop5/all-features/firebase/quickstart4.png) - -Вам понадобится только конфигурационная часть Firebase. Скопируйте и вставьте часть между {}, включая {}. Например, на этом снимке экрана нам нужно скопировать: ``` - - { - apiKey: "AIzaSyCbFhG_bCyAvnxlmVSgIgn7Em0XOYE9YXA", - authDomain: "tutorial-gdevelop.firebaseapp.com", - databaseURL: "https://tutorial-gdevelop.firebaseio.com", - projectId: "tutorial-gdevelop", - storageBucket: "tutorial-gdevelop.appspot.com", - messagingSenderId: "386980638073", - appId: "1:386980638073:web:b00afc0ecb3ed7ca4f53a8", - measurementId: "G-R0KBN0HPQ8" - } - -``` - -Теперь откройте проект GDevelop, в который вы хотите интегрировать Firebase, и перейдите в свойства проекта. В поле «Firebase Configuration» вставьте скопированную конфигурацию. Вы заметите, что появляется сообщение об ошибке, в котором говорится, что это недопустимый JSON: ![](/gdevelop5/all-features/firebase/quickstart5.png) Это нормально, потому что формат, используемый GDevelop, более строг, чем код, отображаемый Firebase. Вам нужно заключить все ключи в кавычки. Примером может стать: - -``` - - { - "apiKey": "AIzaSyCbFhG_bCyAvnxlmVSgIgn7Em0XOYE9YXA", - "authDomain": "tutorial-gdevelop.firebaseapp.com", - "databaseURL": "https://tutorial-gdevelop.firebaseio.com", - "projectId": "tutorial-gdevelop", - "storageBucket": "tutorial-gdevelop.appspot.com", - "messagingSenderId": "386980638073", - "appId": "1:386980638073:web:b00afc0ecb3ed7ca4f53a8", - "measurementId": "G-R0KBN0HPQ8" - } - -``` Теперь ошибки быть не должно: - -![](/gdevelop5/all-features/firebase/quickstart6.png) - -Теперь вы можете начать использовать [Сервисы Firebase](/ru/gdevelop5/all-features/firebase). diff --git a/docs/ru/gdevelop5/all-features/firebase/rc.md b/docs/ru/gdevelop5/all-features/firebase/rc.md deleted file mode 100644 index a6e605d64c2..00000000000 --- a/docs/ru/gdevelop5/all-features/firebase/rc.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: настройка с помощью Firebase ---- -#Удаленная настройка с помощью Firebase - -!!! tip - - Перед использованием любой функции Firebase не забудьте [настроить его правильно с помощью краткого руководства](/ru/gdevelop5/all-features/firebase/quickstart). - -Firebase RC (сокращение от Remote Configuration) позволяет создавать [переменные](/gdevelop5/ all-features/ variables), которые можно изменять в панели управления Firebase без необходимости обновлять игру. -Вы также можете изменить их для определенной группы людей. -Например, вы можете изменить цену на что-то в магазине для активных пользователей удаленно во время проведения рекламной акции. -Вы также можете использовать это для удаленного включения и отключения экспериментальных функций, если они слишком нестабильны и их требуется отключить, -без необходимости публиковать обновление с исправленной настройкой. -!!! note - - Указание групп людей может потребовать аутентификацию и аналитику, чтобы Firebase могла различать группы игроков. - -## Подготовка - -В этой статье объясняется, как установить RC в проект и как это использовать. -Вот с чего мы начинаем: -![](/gdevelop5/all-features/firebase/rc1.png) -![](/gdevelop5/all-features/firebase/rc2.png) - -Это простой кликер где вы можете получать и тратить деньги. Теперь мы можем начать добавлять RC для динамической настройки. - -## Добавление значений по умолчанию - -Прежде всего, мы должны установить некоторые значения по умолчанию. -Эти значения по умолчанию должны содержать значение по умолчанию для каждой из настраиваемых переменных. -Они используются, когда нет сети для обновления значения переменных или когда они еще не завершили загрузку. - -!!! warning - - - Это не обязательный шаг, но всё же рекомендуется это сделать, чтобы избежать ошибки у игроков у которых конфигурация ещё не загрузилась или у игроков у которых нету доступа к интернету. - - -Мы можем сделать это, создав структуру, содержащую значения по умолчанию: -![](/gdevelop5/all-features/firebase/rc3.png) -А затем установив его по умолчанию: -![](/gdevelop5/all-features/firebase/rc4.png) -Как видите, в этом примере мы используем 2 переменные: одну, чтобы решить, сколько денег вы выиграете, а другую - сколько вы проиграете при нажатии кнопок. - -## Настройка Firebase - -Теперь нам нужно также настроить Firebase. Перейдите на панель инструментов приложений, а затем на удаленную настройку: -![](/gdevelop5/all-features/firebase/rc5.png) -Теперь вы можете установить некоторые переменные. Установите те, которые вы назначили по умолчанию: -![](/gdevelop5/all-features/firebase/rc6.png) -!!! danger - - - Не забудьте сохранить изменения! - ![](/gdevelop5/all-features/firebase/rc7.png) - - -## Добавление синхронизации - -Это расширение позволяет вам управлять синхронизацией удаленной конфигурации, как вы хотите. -Лучше всего использовать действие «принудительная синхронизация» для события, которое будет происходить регулярно. -Для этого вы можете использовать таймер или сделать это в начале сцены, на которую часто переключают. - -!!! danger - - - Хотя вы, вероятно, хотите часто синхронизировать конфигурацию, не синхронизируйте ее слишком часто! - В противном случае Firebase отключит вас по тайм-ауту, чтобы предотвратить DDoS-атаки по всем выполненным запросам. - - -!!! note - - - Вы также можете использовать действие «установить интервал автоматического обновления», но, согласно некоторым тестам, оно не очень надежно. - - -Мы можем, например, использовать здесь нажатия кнопок, поскольку они будут происходить часто, но не слишком часто: -![](/gdevelop5/all-features/firebase/rc8.png) - -## Замените статические значения конфигурацией - -Теперь нам просто нужно заменить ранее статические значения на значения из удаленной конфигурации: -![](/gdevelop5/all-features/firebase/rc9.png) - -### Адаптируйте остальную игру к модульности - -Не забывайте, что некоторые вещи, которые могли быть статичными, теперь являются динамическими, и для поддержки этой модульности необходимо добавить некоторые действия. -В нашем примере был статический текст, показывающий, сколько денег вы теряете, покупая «зелья». Теперь вы можете обновить этот текст, чтобы показать правильное значение: -![](/gdevelop5/all-features/firebase/rc10.png) - -## Используйте консоль Firebase, чтобы изменить значения - -Теперь вы должны закончить настройку. -Вам нужно только изменить значения в консоли Firebase, чтобы увидеть, как они обновляются в реальном времени (или, точнее, всякий раз, когда игра синхронизирует удаленную конфигурацию) в вашей игре. \ No newline at end of file diff --git a/docs/ru/gdevelop5/all-features/firebase/realtime_database.md b/docs/ru/gdevelop5/all-features/firebase/realtime_database.md deleted file mode 100644 index 4b5c2f59c95..00000000000 --- a/docs/ru/gdevelop5/all-features/firebase/realtime_database.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: Realtime Database ---- -# Realtime Database - -Realtime Database позволяет хранить данные в виде большой сетевой структурной переменных. - -!!! note - - Если вы не уверены, что следует использовать: Firestore или Realtime Database, прочтите [официальное сравнение](https://firebase.google.com/docs/firestore/rtdb-vs-firestore). - - ## Сравнение со структурными переменными - - Все данные хранятся в дереве JSON, которое можно сравнить с [структурной переменной](/gdevelop5/ all-features/ variables # структура). - Однако есть несколько ключевых отличий: - - #### Доступ детей(child variable) - В отличие от переменных GDevelop, где вы получаете дочерний элемент через `. `, в базе данных Realtime вы получаете его через косую черту: - `<переменная структуры> / <имя переменной ребенка>`. Это означает, что для динамического доступа вы должны написать имя пути как - `" structure / "+ VariableString (dynamicVariableAccess) +" / specificProperty "`, в отличие от структур GDevelop, где вы пишете это так: - `Переменная (структура [VariableString (dynamicVariableAccess)]. SpecificProperty)` - - #### Глубина вложенности дочерних элементов - Хотя в GDevelop нет фиксированного ограничения на глубину вложенности дочерних элементов, Realtime Database не позволяет вам иметь глубина больше 32. - - ## Структурирование данных - - Вы должны структурировать данные таким образом, чтобы обеспечить наименьшую возможную вложенность, поскольку вложенность данных может вызвать проблемы в нескольких ситуациях: - - - Получение данных. Всякий раз, когда вы получаете данные с сервера, вы также загружаете все вложенные данные. Если много, это может занять время и вызвать отставание. - - Наследование разрешений. Если вы создадите правило безопасности, разрешающее доступ к полю, всем вложенным полям будет предоставлен один и тот же уровень доступа, и невозможно переопределить доступ для отдельных вложенных полей. - - Предел вложенности. Если вы слишком много вкладываете данные, вы можете застрять с ними, чтобы продолжать поддерживать более старые версии вашей игры, но при этом сохраните целостность структуры. Если вы достигли максимального уровня вложенности (32), вы не можете добавлять новые вложенные свойства и, следовательно, не можете поддерживать согласованную структуру без изменения структуры базы данных в менее вложенном виде, что означает потерю поддержки всех старых версий и тонны работай. - - Помимо попыток избежать вложенности, вы должны иметь возможность спроектировать структуру своей базы данных по своему усмотрению. - - Для получения дополнительной информации о моделировании данных в базе данных реального времени прочтите - [руководство по структурированию данных](https://firebase.google.com/docs/database/web/structure-data). - - ## Регулирование доступа - - Возможно, вы не захотите позволять всем писать все. - В противном случае каждый может изменять данные других людей! Чтобы выбрать, кто и как может получать доступ, в Firebase есть система правил. - Он взаимодействует с [Firebase аутентификацией](/ru/gdevelop5/ all-features/ firebase/ authentication), поэтому вы можете написать это правило, чтобы разрешить аутентифицированные пользователям записывать переменную authonly базы данных: - ```json - { - "rules": { - "users": { - "$uid": { - ".read": true, - ".write": "auth != null" - } - } - } - } - ``` - - Вы также можете иметь переменную со всеми пользователями и иметь для каждого дочернего элемента (названного в честь uid пользователя) свои разрешения в виде карты. - Здесь, например, вы можете разрешить каждому пользователю с подтвержденным разрешением получить доступ к собственному документу в переменной userdata, и каждый администратор для доступа к документам в коллекции globaldata: - ```json - { - "rules": { - "userdata": { - "$uid": { - ".read": true, - ".write": "auth != null && root.child('permissions').child(auth.uid).child("verified").val() == true" - } - }, - "globaldata": { - "$uid": { - ".read": true, - ".write": "auth != null && root.child('permissions').child(auth.uid).child("admin").val() == true" - } - } - } - } - ``` - - Чтобы узнать подробнее, как писать правила, прочтите - [руководство по синтаксису](https://firebase.google.com/docs/database/security/core-syntax), - [руководство по написанию условий](https://firebase.google.com/docs/database/security/rules-conditions) и - [справочный документ](https://firebase.google.com/docs/reference/security/database). \ No newline at end of file diff --git a/docs/ru/gdevelop5/all-features/firebase/storage.md b/docs/ru/gdevelop5/all-features/firebase/storage.md deleted file mode 100644 index aa097b73788..00000000000 --- a/docs/ru/gdevelop5/all-features/firebase/storage.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Firebase Хранилище ---- -# Firebase Хранилище -!!! note - - GDevelop не поддерживает двоичные данные (файлы) как тип переменной (пока?), поддержка этой функции очень слабая. - -В настоящее время мало что можно сделать с хранилищем. -Вы можете получить URL-адрес загрузки онлайн-файла и позволить пользователю загрузить его, что может быть полезно, например, для размещения и загрузки обновлений. -!!! tip - - Вы также можете комбинировать его с [the load image from url](https://editor.gdevelop.io/?project=example://load-image-from-url) примером. \ No newline at end of file diff --git a/docs/ru/gdevelop5/all-features/network.md b/docs/ru/gdevelop5/all-features/network.md deleted file mode 100644 index 9c86bfc17d9..00000000000 --- a/docs/ru/gdevelop5/all-features/network.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: Сеть ---- -# Сеть - -GDevelop предоставляет сетевые функции, которые позволяют играм связываться с удаленными серверами, API или веб-сайтами, а так же взаимодействовать с JSON. - -# Отправить запрос на сервер / API / веб-страницу - -Все в Интернете использует HTTP-запросы. Когда вы посещаете веб-страницу, ваш браузер отправляет запрос на адрес веб-страницы, а сервер веб-сайта отправляет ответ с содержанием веб-страницы. - -Игры и приложения работают аналогично для отправки данных на сервер или их получения: - - * они отправляют запрос на определенный адрес (также называемый конечной точкой). При желании запрос может включать параметры. - * сервер отправляет ответ. Набор всех запросов, которые обрабатываются сервером, иногда называют API. - -В дополнение к адресу и параметрам, HTTP-запросы также могут иметь связанный "verb". Запросы на получение данных или веб-страницы обычно являются запросами "GET". Запросы на публикацию данных обычно являются запросами "POST". - -GDevelop предоставляет действие под названием «Отправить запрос на веб-страницу». Вы можете указать хост и путь к вызываемой API / веб-странице (например, если ваша «конечная точка» - `https: // mygame.com / api / store-score`, хост -` https: / / mygame.com`, а путь - `/ api / store-score` (не забудьте косую черту /)). Вы также можете указать содержание запроса (параметр, который будет получен сервером). - -Когда сервер отправляет ответ, он сохраняется в переменной, чтобы вы могли прочитать то, что было отправлено. - -## Как отформатировать контент - -* Для запросов GET параметры должны быть отправлены в содержимом в формате «строки запроса».: -`parameter1=value1¶meter2=value2¶meter3=value3`... - -Вы можете отправлять данные из переменной, например: -`"score=" + VariableString(Score) + "&playerName=" + VariableString(Name)` - -* Для запросов POST это зависит от того, что ожидает сервер, но в большинстве случаев сервер ожидает текст в формате JSON. - -Вы можете построить его самостоятельно: -`"{\"score\": " + VariableString(Score) + " }"` (обратите внимание на использование обратной косой черты перед кавычкой `\" `, чтобы цитата могла использоваться внутри текста) или используйте выражение для преобразования структуры переменной в JSON: `ToJSON(VariableWithData)` (подробнее об этом ниже). - -## Преобразование переменных в JSON и обратно в переменные - -### Переменная в JSON - -JSON - это текстовый формат, который можно использовать для описания структуры данных, содержащей числа, строки, объекты и массивы. -Например, JSON, содержащий счет и имя игрока, будет выглядеть: `{ "name": John, "score": 45 }`. - -Переменные в GDevelop могут содержать числа, строки или быть «структурой», содержащей дочерние элементы, которые также являются переменными, содержащими число, строки или дочерние элементы. - -> Дочерними элементами можно управлять, используя обычные действия, связанные с переменными, путем ввода их имени после точки после имени родительской переменной (например, если переменная, содержащая дочерние элементы, называется Progress: `Progress.Level`, `Progress.Score`...). - -!!! note - - Узнайте больше о структурах на странице о [переменных](/gdevelop5/all-features/variables). - -Структуры полезны, поскольку они могут хранить все данные о чем-либо, которые затем могут быть отправлены на сервер. Для этого вы можете преобразовать структурную переменную в JSON, используя выражение под названием `ToJSON`. Например: - -![](/ru/gdevelop5/all-features/network/pasted/20210818-123314.png) - -![](/ru/gdevelop5/all-features/network/pasted/20210818-123530.png) - -Если у переменной-структуры Progress есть дочерние элементы «Level» со значением 4 и «Score» со значением 1500, результирующий JSON будет выглядеть: `{"Level": 4, "Score": 1500}`. - -Вы можете использовать его как содержимое запроса, отправленного на сервер или при передаче данных P2P или даже для хранения данных в local storage, оптимизируя код и затраченное место. - -### JSON в переменную - -Вы так же можете преобразовать JSON обратно в переменную. Это полезно, если вы получили ответ от сервера, который также обычно имеет формат JSON. - -Используйте действие"**Преобразовать JSON в переменную**" (или «Преобразовать JSON в глобальную переменную», или «Преобразовать JSON в переменную объекта»). Укажите JSON для преобразования (который сам будет сохранен в переменной) и переменную, в которой вам нужно сохранить полученную структуру. -Например: - -![](/ru/gdevelop5/all-features/network/pasted/20210818-124132.png) \ No newline at end of file diff --git a/docs/ru/gdevelop5/all-features/network/pasted/20210818-123314.png b/docs/ru/gdevelop5/all-features/network/pasted/20210818-123314.png deleted file mode 100644 index 497005040e3..00000000000 Binary files a/docs/ru/gdevelop5/all-features/network/pasted/20210818-123314.png and /dev/null differ diff --git a/docs/ru/gdevelop5/all-features/network/pasted/20210818-123530.png b/docs/ru/gdevelop5/all-features/network/pasted/20210818-123530.png deleted file mode 100644 index 64a4d2f9078..00000000000 Binary files a/docs/ru/gdevelop5/all-features/network/pasted/20210818-123530.png and /dev/null differ diff --git a/docs/ru/gdevelop5/all-features/network/pasted/20210818-124132.png b/docs/ru/gdevelop5/all-features/network/pasted/20210818-124132.png deleted file mode 100644 index 4d578971824..00000000000 Binary files a/docs/ru/gdevelop5/all-features/network/pasted/20210818-124132.png and /dev/null differ diff --git a/docs/ru/gdevelop5/all-features/p2p.md b/docs/ru/gdevelop5/all-features/p2p.md deleted file mode 100644 index 178b2a120b1..00000000000 --- a/docs/ru/gdevelop5/all-features/p2p.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Peer-to-peer ---- -# Peer-to-peer - -!!! warning - - Это экспериментальная функция, она может быть изменена и может содержать ошибки. Мы будем рады вашим отзывам об улучшении этой функции. - -GDevelop поддерживает одноранговые (P2P) соединения для обеспечения возможности создания основных многопользовательских игр. Это работает через концепцию *удаленных событий*. Подключите несколько экземпляров игры, используя их ** ID **, перед удаленным запуском событий на других экземплярах. - -!!! danger - - Это расширение подходит не для всех типов многопользовательских игр и потенциально небезопасно от читерства. Поскольку все экземпляры игры напрямую связаны друг с другом, нет машины, которая будет просчитывать действия игроков. - - Таким образом, сложно проверить, читерит ли кто-то (в отличие от выделенных серверов). P2P поддерживает до 250 одновременных подключений и поэтому также не подходит для крупных многопользовательских игр, таких как MMO. - -## Выбор брокерского сервера - -Работающая игра, называемая ** клиентом **, должна подключиться к другим клиентам, прежде чем сможет отправлять данные. Для этого ему нужен способ самоидентификации и поиска других клиентов. Для этого необходимо настроить ** сервер-брокер **. Это сервер с фиксированным хорошо известным адресом, который хранит все адреса подключенных клиентов и передает их каждому клиенту, чтобы они могли подключаться друг к другу. - -Есть два варианта настройки брокерского сервера: - - * Настройка собственного сервера (рекомендуется), который можно запустить на локальном компьютере в качестве теста. - * Использование общедоступного сервера по умолчанию. - -#### Настроить собственный (локальный) сервер - -Локальный сервер можно легко настроить.[Node.js] (https://nodejs.org/en/download/) для начала необходимо будет установить Node.js. Рекомендуется версия LTS. - -Откройте командную строку. Для этого в Windows: - - - Нажмите клавиши **Windows** и ** R **. Откроется окно ** Выполнить ** - - Введите **cmd** во всплывающем окне. - - Нажмите клавишу ** Enter **. - -После открытия командной строки выполните следующие действия: - - - Если эти шаги выполняются впервые, для установки сервера введите ** npm install peer -g ** - - После установки сервера и каждый раз (для запуска сервера) вводите ** peerjs -p <порт> ** - * Можно использовать любой порт, который еще не используется компьютером. -На сервер PeerJS можно передать и другие параметры, см. [Его веб-сайт] (https://github.com/peers/peerjs-server#config--cli-options) для получения дополнительной информации. -После выполнения вышеуказанного действия используется для подключения к серверу действие ** Использовать настраиваемый брокер сервер **. - - * **localhost** можно использовать в качестве адреса хоста для указания на локальный сервер. - -!!! tip - - Обратите внимание, что это локальный сервер, поэтому он будет работать только в пределах вашей локальной сети. При выпуске игры вам нужно будет развернуть ее на хостинге, совместимом с Node.js, например Heroku. - -#### Использовать сервер по умолчанию - -!!! warning - - Не рекомендуется использовать этот сервер, по возможности следует использовать собственный. Сервер по умолчанию не управляется GDevelop, и команда GDevelop не несет ответственности, если что-то пойдет не так с использованием этого сервера. - -Вы также можете использовать сервер по умолчанию, предоставленный PeerJS. -Чтобы использовать этот сервер, используйте действие «Использовать сервер по умолчанию». - -## Подключение - -Чтобы подключить экземпляры между собой, вам нужно ввести ID одного экземпляра в другом. Идентификатор можно найти с помощью выражения `P2P :: GetID ()`. Для подключения используйте действие «Подключиться к другому экземпляру» и передайте в качестве параметра идентификатор другого экземпляра. Оба экземпляра подключатся автоматически. Затем вы можете отправить событие из одного экземпляра в другой, чтобы убедиться, что соединение установлено. - -## Взаимодействие с подключенными играми - -После подключения вы можете запускать действия удаленно. Вы можете выбрать другой конкретный экземпляр игры (используя его идентификатор) или отправить событие всем подключенным экземплярам. - -### Выбор режима (с потерей данных и без) - -* В режиме *no dataloss* каждое удаленное событие ставится в очередь, и на каждом кадре, если оно есть в очереди, мы берем самое старое и обрабатываем его. ** Это гарантирует, что все данные будут обработаны / приняты во внимание. ** -* При активированном *режиме dataloss* данные не ставятся в очередь, а сохраняются только последние удаленные события. ** Это означает, что обрабатываются только самые свежие данные, а устаревшие данные удаляются. ** - - -Вот два примера: - -* если вы используете синхронизированный счетчик очков, вы не хотите терять какие-либо данные, так как отсутствие только одного значения счетчика приведет к *десинхронизации* счетчиков, поэтому режим потери данных будет деактивирован. -* Если вы хотите синхронизировать позиции, актуальна только последняя отправленная позиция, а не более старые позиции. В этом случае вы должны активировать режим потери данных , *чтобы предотвратить задержки / ошибки*. \ No newline at end of file diff --git a/docs/ru/gdevelop5/events/callback-variables.md b/docs/ru/gdevelop5/events/callback-variables.md deleted file mode 100644 index cfccac0175b..00000000000 --- a/docs/ru/gdevelop5/events/callback-variables.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Переменные обратного вызова ---- -# Переменные обратного вызова - -## Что это такое? - -Переменные обратного вызова - это ** переменные **, переданные **действию** для передачи результата пользователю. - -## Зачем они нужны? - -Бытовой пример– когда отправляешь в письме на радиостанцию пустой конверт со своим же адресом и марками, чтобы в нём прислали ответ. Нужно время, чтобы, во-первых письмо дошло до радиостанции, во-вторых чтобы был прислан ответ. - -Обычно это нужно при **асинхронном** выполнении — когда строчки кода не последовательно выполняются одна за другой (60 раз в секунду), а запускается (и завершается) какая-то долгая задача и ещё неизвестно, когда она закончится. -Обычно вы должны использовать ** [выражения](/ru/gdevelop5/ all-features/ expressions) ** для получения значения, -но асинхронные действия **не могут** этого сделать, поскольку они **ничего не вернут для нескольких кадров** (время, необходимое для их выполнения). -Таким образом, они принимают в качестве аргумента переменную и **устанавливают ее значение** на возвращаемое значение ** после завершения **. -Обычно у вас есть две переменные обратного вызова: одна, чтобы сказать, успешно ли выполнено асинхронное действие, -и одна с фактическим возвращаемым значением действия. \ No newline at end of file diff --git a/docs/ru/gdevelop5/getting_started/index.md b/docs/ru/gdevelop5/getting_started/index.md deleted file mode 100644 index 77ecdf48bbc..00000000000 --- a/docs/ru/gdevelop5/getting_started/index.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Начало работы с GDevelop ---- -# Начало работы с GDevelop - -GDevelop - бесплатный инструмент с открытым исходным кодом для создания кроссплатформенных игр, который может использоваться *без* навыков программирования. - -Это руководство объясняет, как начать работу с GDevelop. - -## Шаг 1: Установка GDevelop - -GDevelop доступен для всех основных операционных систем, включая последние версии Windows, macOS и Linux. Чтобы скачать GDevelop, посетите [gdevelop.io/download](https://gdevelop.io/download/). - -!!! note - - Если вы пользуетесь телефоном, планшетом или не можете установить GDevelop на свое устройство (Chromebooks), используйте онлайн версию GDevelop, доступную по адресу [editor.gdevelop.io](https://editor.gdevelop.io/). Хотя в ней нет сторонних редакторов, таких как Piskel, вы все равно сможете использовать ее для создания полноценных игр с сохранением своих проектов в облаке. - -Инструкции по установке зависят от операционной системы. - -**Windows**: - - - Двойной клик по файлу exe. - - Несколько раз нажмите на кнопку Next. Это установит GDevelop, запустит приложение и добавит значок на рабочий стол. - -**macOS**: - - - Откройте DMG файл. - - Перетащите "GDevelop.app" в каталог "~/Applications". - -**Linux (flatpak)**: - - - Откройте терминал. - - Следуйте инструкциям командной строки в нижней части страницы [GDevelop Flathub](https://flathub.org/apps/details/io.gdevelop.ide) - -**Linux (AppImage)**: - - - Откройте терминал. - - Сделайте файл AppImage исполняемым, набрав `chmod a+x GDevelop*.AppImage`. - - Запустите его: `./GDevelop*.AppImage` (или дважды щелкните по файлу). - -**Телефон, планшет или Chromebook**: - - - Откройте браузер и перейдите по ссылке [editor.gdevelop.io](https://editor.gdevelop.io). - - Если вы используете Android или Chromebook, выберите опцию "Добавить на домашний экран". - -!!! tip - - Вы администратор, пытающийся установить GDevelop на множество машин (например, для компании или университета)? Программа установки для Windows основана на *NSIS*, поэтому вы можете найти в интернете материалы, позволяющие использовать ее из скрипта. Прочитайте эту страницу, чтобы узнать о [установке GDevelop на несколько компьютеров в сети](/ru/gdevelop5/getting_started/batch-install-gdevelop-company-university). Вы также можете получить [портативную версию GDevelop, распаковав ее с помощью 7zip](/ru/gdevelop5/getting_started/windows-portable-version-gdevelop). - -## Шаг 2: Создайте новый проект - -1. Запустите GDevelop. -2. Выберите **Шаблон** в качестве отправной точки или нажмите **Создать пустой проект**, чтобы начать с нуля. -3. Выберите местоположение и название проекта. - -![](/gdevelop5/home-page-new.png) - -## Шаг 3: Предварительный просмотр игры - -Если в проекте есть хотя бы одна сцена (имеется во всех стартовых проектах), на панели инструментов доступна кнопка **Предпросмотр**. Эта кнопка запускает предварительный просмотр игры. - -![](/gdevelop5/preview-buttons.png) - -## Следующий шаг - -В зависимости от ваших предпочтений, перейдите по одной из двух приведенных ниже ссылок. - -### Читать -Начните с чтения страницы [Основные концепции создания игр](/ru/gdevelop5/tutorials/basic-game-making-concepts). - -Затем изучите [Пример игры "Астероиды"](/ru/gdevelop5/tutorials/asteroids). Вы узнаете, как с нуля создать игру "Астероиды", основанную на физических законах, и познакомитесь со многими фундаментальными понятиями GDevelop, такими как объекты, события и поведение. - -### Смотреть - -Начните с [Официальных вводных видеоуроков](https://www.youtube.com/watch?v=bR2BjT7JG0k&list=PL3YlZTdKiS89Kj7IQVPoNElJCWrjZaCC8). - -Затем посмотрите [Пример игры "Астероиды"](https://www.youtube.com/watch?v=w1SCpQ-mRCk) и попробуйте создать свою собственную игру. \ No newline at end of file diff --git a/docs/ru/gdevelop5/getting_started/open-gdevelop-4-project.md b/docs/ru/gdevelop5/getting_started/open-gdevelop-4-project.md deleted file mode 100644 index 013dc4ada82..00000000000 --- a/docs/ru/gdevelop5/getting_started/open-gdevelop-4-project.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Открытие игры созданной в GDevelop 4 ---- -# Открытие игры созданной в GDevelop 4 - -GDevelop 5 основан на том же движке, что GDevelop 4 и их игры совместимы. Но вы все равно должны убедится, что: - - * Ваша GDevelop 4 игра основана на **HTML5 платформе**. Нативные игры пока не поддерживаются в GDevelop 5. - * **Несколько расширений/функций** не поддерживаются в GDevelop 5. - -Чтобы открыть игру в GDevelop 5, откройте ее в GDevelop 4 и сохраните как json файл: - - * В меню выберите **File > Save as...**. - * Выберите папку и введите имя файла, которое заканчивается **.json**. Например: - -![](/gdevelop5/getting_started/screenshot_2017-12-25_23.14.09.png) - -Нажмите сохранить. Теперь вы можете открыть этот файл в GDevelop 5. - -Убедитесь, **что все работает** прежде чем продолжить создавать вашу игру в GDevelop 5. \ No newline at end of file diff --git a/docs/ru/gdevelop5/index.md b/docs/ru/gdevelop5/index.md deleted file mode 100644 index 9c1257f9ee8..00000000000 --- a/docs/ru/gdevelop5/index.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: start ---- -![](/logocompleteeffecttranparent400x100.png) ![learn_create_play-book.png)](/htmlmetatags>metatag-robots=() -metatag-title=(Документация GDevelop) -metatag-keywords=(GDevelop, game, making, app, nocode, open source, создание игр, простой игровой движок) -metatag-description=(Редактор с открытым исходным кодом для создания игр.) -metatag-og/title=(Документация GDevelop) -metatag-og/description=(Редактор с открытым исходным кодом для создания игр.) -metatag-media-og/image=(/gdevelop5/learn_create_play-book.png)) - -# GDevelop 5 - -GDevelop - бесплатный инструмент с открытым исходным кодом для создания кроссплатформенных игр, который может использоваться *без* навыков программирования. Эта вики содержит все, что вам нужно знать о GDevelop - создавайте игры даже если вы никогда раньше не делали этого. - -![](/gdevelop5/interface/scene-editor/pasted/20200628-132624.png) - -## Следующие шаги - -* [Скачайте GDevelop](https://gdevelop.io) и прочитайте [Руководство для начала работы](/ru/gdevelop5/getting_started). -* Если вы никогда раньше не создавали игры прочитайте [Основные концепции создания игр](/ru/gdevelop5/tutorials/basic-game-making-concepts). -* Если вы готовы приступить к созданию игры, посмотрите [Официальные вводные видеоуроки](https://www.youtube.com/watch?v=bR2BjT7JG0k&list=PL3YlZTdKiS89Kj7IQVPoNElJCWrjZaCC8) или [посмотрите учебные материалы](/ru/gdevelop5/tutorials). diff --git a/docs/ru/gdevelop5/interface/index.md b/docs/ru/gdevelop5/interface/index.md deleted file mode 100644 index ab9ac0ab507..00000000000 --- a/docs/ru/gdevelop5/interface/index.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Интерфейс GDevelop ---- -# Интерфейс GDevelop - -![](/gdevelop5/screen_shot_2017-09-18_at_01.30.20.png) - -Интерфейс GDevelop основан на различных редакторах, отображаемых во вкладках, которые позволяют редактировать части вашей игры. - -## Стартовая страница - -Стартовая страница появляется при запуске GDevelop. В ней вы можете создать новый проект или открыть существующий. - -При старте, GDevelop проверяет есть ли новые обновления и автоматически загружает их. [Вы можете следить за процессом нажав на About GDevelop](/ru/gdevelop5/interface/updates). - -## Менеджер проекта - -Когда открыт проект, вы можете нажать на верхнюю-левую кнопку, чтобы получить доступ к менеджеру проекта. - -![](/gdevelop5/project-manager-button.png) - -Менеджер проекта отображает структуру вашей игры: - -![](/gdevelop5/project-manager-tab.png) - -С помощью менеджера проекта, вы можете добавлять новые элементы в вашу игру и открывать редакторы. -Узнайте больше о [содержимом менеджера проектов](/ru/gdevelop5/interface/project-manager). - -## Редактор сцены - -При открытии сцены (или внешнего макета), запустится редактор сцены. В нем можно проектировать и изменять уровни и меню вашей игры, создавая и добавляя объекты на сцену. - -[Узнайте больше о том, как использовать редактор сцены](/ru/gdevelop5/interface/scene-editor). - -## Редактор событий - -При открытии сцены (или внешних событий) также открывается редактор событий. Здесь вы можете добавлять различные события, чтобы создать реальный игровой процесс, который позволит игрокам взаимодействовать с вашей игрой. Редактор событий - инструмент, который позволяет визуально запрограммировать игру без каких либо знаний о языках программирования или опыта в них. Так что любой человек может сделать игру в GDevelop. - -Узнать больше о [работе с ним можно на этой странице](/ru/gdevelop5/interface/events-editor) или посмотрите [статью о событиях](/ru/gdevelop5/events). - -## Верхнее меню - -Меню в верхней части экрана (только в декстопной версии) позволяет открыть, сохранить и [опубликовать игру](/ru/gdevelop5/publishing). - -Также вы можете открыть настройки GDevelop или посмотреть [профиль связанный с вашим аккаунтом GDevelop](/ru/gdevelop5/interface/profile). \ No newline at end of file diff --git a/docs/ru/gdevelop5/interface/project-manager.md b/docs/ru/gdevelop5/interface/project-manager.md deleted file mode 100644 index e45d021a192..00000000000 --- a/docs/ru/gdevelop5/interface/project-manager.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Менеджер Проекта ---- -# Менеджер Проекта - -Когда открыт проект, вы можете нажать на верхнюю-левую кнопку, чтобы получить доступ к менеджеру проекта. -![](/gdevelop5/project-manager-button.png) - -Менеджер проекта отображает структуру вашей игры. - -![](/gdevelop5/interface/projectmanager2.png) - -Вы можете разворачивать и сворачивать каждую категорию, нажимая маленькую стрелку. - - * **Game settings** _(Настройки игры)_: здесь вы можете настроить глобальные параметры вашей игры, такие как размер окна игры по умолчанию или имя пакета для Android и iOS. Так же вы можете [выбрать иконку для вашей игры](/ru/gdevelop5/interface/project-manager/icons). - - * **Scenes** _(Сцены)_: обычно, сцены это разные уровни вашей игры, но не только они. В GDevelop все является [сценами](/ru/gdevelop5/interface/scene-editor) - главное меню, заставка, экран кредитов, все это сцены. - - * **External events** _(Внешние события)_: чтобы сделать разработку игры более гибкой, можно использовать [внешние события](/ru/gdevelop5/interface/events-editor) и связываться с ними каждый раз, когда они будут нужны. Думайте о них, как о методах в программировании. Но если вам не знаком этот термин, просто помните: если часто в разных местах нужно использовать одинаковый набор событий, можно сделать их внешними и вызывать их, когда они будут нужны. - - * **External layouts** _(Внешние макеты)_: подобно событиям, вы можете создавать часто и многократно используемые внешние макеты для загрузки нескольких мест в вашей сцене. - -## Меню File -В **декстоп** версии, меню File позволяет сохранить игру, открыть другую или закрыть ее. Вы также можете [экспортировать вашу игру](/ru/gdevelop5/publishing). -![](/gdevelop5/file-menu.png) - -В **онлайн** версии, эти опции находятся в верху менеджера проекта. -![](/gdevelop5/web-project-manager-tab.png) \ No newline at end of file diff --git a/docs/ru/gdevelop5/interface/updates.md b/docs/ru/gdevelop5/interface/updates.md deleted file mode 100644 index a694e303d4a..00000000000 --- a/docs/ru/gdevelop5/interface/updates.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Проверка обновлений ---- -# Проверка обновлений - -При запуске, GDevelop автоматически ищет новые обновления. Вы можете увидеть процесс нажав `About GDevelop` на [стартовой странице](/ru/gdevelop5/interface) или в меню. - -В окне About, вы увидите загружается ли обновление: - -![](/gdevelop5/interface/update-being-downloaded.png) - -Когда это будет сделано, GDevelop сообщит вам, что обновление готово: - -![](/gdevelop5/interface/update-downloaded.png) - -Также может появится уведомление: - -![](/gdevelop5/interface/update-notification-macos.png) - -Теперь можно закрыть GDevelop и открыть его снова: все обновления будут установлены. Снова проверьте окно About, вы увидите обновленный номер версии. - -## Появились проблемы? Снова скачайте GDevelop с сайта - -Если по какой-то причине не получилось обновится или GDevelop после обновления стал работать неправильно, просто [снова скачайте программу с сайта и установите](http://gdevelop-app.com). Ваши настройки не будут потеряны. diff --git a/docs/ru/gdevelop5/publishing.md b/docs/ru/gdevelop5/publishing.md deleted file mode 100644 index 64c65f3b54f..00000000000 --- a/docs/ru/gdevelop5/publishing.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Публикация игр ---- -# Публикация игр - -GDevelop позволяет публиковать ваши игры на любой современной платформе! Однако сначала необходимо экспортировать игру. - -Чтобы экспортировать игру, нажмите «Файл» в строке меню над интерфейсом GDevelop. Выберите параметр «Экспорт» в появившемся всплывающем списке. -![](/gdevelop5/file-export-menu.png) - -Далее вам будет предложено несколько вариантов на выбор: -![](/gdevelop5/export-options.png) - - * **[Android (скоро появится iOS)](/gdevelop5/publishing/android_and_ios):** это подготовит вашу игру для Android (скоро появится поддержка iOS). Он строит его онлайн, используя онлайн-сервисы GDevelop. Затем отправляет вам ссылку, чтобы вы могли установить его на Android и [опубликовать в Play Store](/gdevelop5/publishing/android_and_ios/play-store) (или App Store позже для iOS) или в [Amazon App Store](/gdevelop5/publishing/publishing-to-amazon-app-store). - * **[Facebook Instant Games (Messenger)](/gdevelop5/publishing/publishing-to-facebook-instant-games):** подготовьте свою игру, чтобы ее можно было загрузить в Мгновенные игры Facebook и играть в Messenger, поделиться с друзьями и затем опубликовать во всем мире. - * **[Web (загрузка онлайн)](/gdevelop5/publishing/web)**: этот вариант позволяет загрузить вашу игру на хостинг GDevelop бесплатно. Затем вы можете поделиться им с кем угодно одним нажатием кнопки. - * **[Windows, macOS & Linux](/gdevelop5/publishing/windows-macos-linux)**: этот вариант объединяет вашу игру в виде приложения для Windows, macOS или Linux, создает ее онлайн с помощью онлайн-сервисов GDevelop, а затем отправляет вам ссылку, чтобы вы могли распространять игру. - -Также есть экспорт для продвинутых пользователей: - - * **[Экспорт в локальную папку](/gdevelop5/publishing/html5_game_in_a_local_folder):** эта опция позволяет вам экспортировать игру в папку и загружать ее вручную на любой хост, который вы хотите, или перенести игру на настольное или мобильное приложение вручную, используя любой инструмент, который вы предпочитаете, например, Electron. Это идеальное решение для публикации вашей игры на [Game Jolt](/gdevelop5/publishing/publishing-to-gamejolt-store), [Kongregate](/gdevelop5/publishing/publishing-to-kongregate-store) или [Itch.io](/gdevelop5/publishing/publishing-to-itch-io). - * **[iOS & android (вручную)](/gdevelop5/publishing/android_and_ios_with_cordova):** эта опция экспортирует вашу игру, готовую для использования в качестве проекта Cordova. Затем вы можете использовать инструменты командной строки Cordova для создания своей игры для Android и iOS. - * **[Windows, macOS and Linux (вручную)](/gdevelop5/publishing/windows-macos-linux-with-electron):** эта опция экспортирует вашу игру, готовую для использования в качестве проекта Electron. Затем вы можете использовать инструменты командной строки для создания игры для Windows, macOS или Linux. - -Другие варианты выпуска: - - * **[Ubuntu Touch (мобильная версия)](/gdevelop5/publishing/ubuntu-touch-packaging):** это руководство проведет вас через процесс упаковки вашей игры в виде пакета Click для Ubuntu Touch. \ No newline at end of file diff --git a/docs/ru/gdevelop5/tutorials/basic-game-making-concepts.md b/docs/ru/gdevelop5/tutorials/basic-game-making-concepts.md deleted file mode 100644 index 03bfd197abe..00000000000 --- a/docs/ru/gdevelop5/tutorials/basic-game-making-concepts.md +++ /dev/null @@ -1,160 +0,0 @@ ---- -title: basic-game-making-concepts ---- -FIXME **This page is not fully translated, yet. Please help completing the translation.** - -*(remove this paragraph once the translation is finished)* - -# Основные концепции создания игр: что нужно знать, чтобы начать с GDevelop - -Основные концепции создания игр в GDevelop просты. Для начала прочитайте ниже следующую информацию. Если у вас нет GDevelop, [скачайте последнюю версию здесь](https://gdevelop.io/download). - -## Отображение вещей на экране: Объекты - -Всё, что *отображается на экране* называется **"Объект"**. Для отображения игровых элементов на экране могут использоваться разные типы объектов. Например, большинство игровой графики являются объектами "Спрайт", тексты могут отображаться с помощью объектов "Текст" , а специальные эффекты, такие как огонь или искры, могут создаваться с помощью "Излучателей частиц". - -## Позиционирование объектов: Координаты - -Объекты экрана/сцены GDevelop имеют **координаты X и Y**. Эти координаты соответствуют горизонтальной позиции (Ось X) and the vertical position (Ось Y) на *Декартовой плоскости*. - -Координата X *уменьшается* при движении влево и *увеличивается* при движении вправо. Координата Y *увеличивается* при движении вниз и *уменьшается* при движении вверх. - -![pres_coord1.png](/wiki/pres_coord1.png) - -In order to move or rotate objects, you will need to specify the desired angle in degrees. The illustration below demonstrates how GDevelop understands the angle of rotation: - -![pres_coord2.png](/wiki/pres_coord2.png) - -If you use trigonometric functions like the **sine** or the **cosine**, you will need to express the angles in **radians**. (1 radian = 180/PI degrees and 1 degree = PI/180 radians. PI is the number which is approximately equal to 3.14159). - -## Events and how objects are selected by these Events - -Events, that you use to create the rules of your game, are composed of conditions and actions. Most conditions and actions refer to objects: - -* Conditions run a **test** on the objects. * Actions **manipulate** the object. They can change the object position, appearance, etc... - -An action, without a condition, refers to all objects. If you use an object for the first time in an event, GDevelop will test or modify **all objects** with this name in the scene. If you use the object in the same event again, GDevelop will test or modify only the objects which have been picked by the previous conditions. - -For example, this event has no condition. It will delete **all** objects called "Square": - -![](/gdevelop5/tutorials/delete-square.png) - -The event below has a condition. It will delete **only** the "Square" objects with an X position that is less than 100 pixels: - -![](/gdevelop5/tutorials/delete-square-condition.png) - -!!! note - - **See it in action!** 🎮Open this example online: - -[![](/gdevelop5/tutorials/objectselection-pickobject.png)](https://editor.gdevelop.io/?project=example://object-selection) - -## Events: the order is important - -The order of events **does matter**! - -Events at the top are executed first. Events are executed every time your game is displayed. This display is called a frame. It executes about 60 times per second. The following examples are **not** equivalent: - -![](/gdevelop5/tutorials/create-then-delete-square.png) - -![](/gdevelop5/tutorials/delete-then-create-square.png) - -* The first pair of events actions create a "Square" object at coordinates X: 100. Y: 200 (100;200). Then the event deletes the created square immediately. **No** "Square" is displayed on the screen. It's deleted just after being created. * The second pair of events actions deletes all the "Square" objects from the scene/screen. It then creates one "Square" at the scene/screen coordinates X: 100, Y: 200 (100;200). This event shows a square is **visible** on the scene (before being deleted at the next frame. It will, then, be recreated immediately. - -## Behaviors: pre-defined rules and logic for objects - -**Behaviors** allow to enhance an object with some *pre-defined logic*. Behaviors can be fairly simple, automating simple tasks or much more advanced. For example: - -* A behavior can be used to *automatically* remove an object from the game when it *goes out of the screen* (limiting the game memory usage). * Another behavior can be used to *move objects on the screen with the keyboard arrows*. * Yet another behavior can be used to allow the object to be *dragged on screen* with the mouse or by touching the object. * The *Physics* behavior is an example of an advanced behavior which make your objects move in a realistic way, following the laws of physics. - -**Objects** and **Behaviors** can be manipulated using events. You can read the pages about [Objects](/gdevelop5/objects) and [Behaviors](/gdevelop5/behaviors) to know more about them. - -!!! note - - You can create *custom behaviors* for your objects. It's even recommended when your game grows. This allow you to put logic about what your objects are doing in the custom behaviors, rather than bloating the events sheet of the scene. You can [read more in this article](/gdevelop5/tutorials/how-to-make-behavior). - -## Moving objects: using the built-in forces - -Moving objects can be achieved with **forces**. Forces are used to "push" objects. - -You can specify: - -- the coordinates of a force on the X and Y axis, in pixels, -- or its polar coordinates (the force angle, in degrees, and length, in pixels), -- if the force is instant (will only push "a bit" the object) or continuous (will keep pushing the object until it's removed). - -### Example - -Say you want to move an object towards the bottom: - -![pres_vector.png](/wiki/pres_vector.png) - -You can add a force using X/Y coordinates by specifying 0 for the X coordinate and, say, 150 pixels for the Y coordinate. You can also use polar coordinates and add a force with an angle of 90° and a length of 150 pixels. - -### Other ways of moving objects - -Some "behaviors", like the Physics engine or Pathfinding, may move the objects by themselves. In this case, it is better not to use the builtin forces system and instead rely only on actions provided by these behaviors. - -!!! note - - **See it in action!** 🎮Open this example online: - -[![](/gdevelop5/tutorials/moveobjectwithphysics.png)](https://editor.gdevelop.io/?project=example://move-object-with-physics) - -!!! note - - These other ways of moving objects are explained in [this how-to page](/gdevelop5/tutorials/how-to-move-objects). - -## Storing any information in memory: Variables - -A Variable allows you to store **data**. For example, a variable can store a number or a text. We might compare them to drawers or boxes where we can file notes. Any data can be stored in a variable, as long as it is in *text* or *number* format. Such things as the number of lives a player has remaining, a player's high score, the number of bullets left, and/or the number of enemies killed are all examples of what can be stored in a variable. You are probably going to store numbers in variables as a common practice. - -![pres_variable.png](/wiki/pres_variable.png) - -Actions and conditions test or change a variable *value*. - -#### Where are variables stored? (variable "scope") - -The *scope* of a variable determines the place a variable can be accessed. In GDevelop, there are three variable scopes are available: - -* **Global** variables are accessible from all the game scenes. For instance, they can be used to store the player's score across different levels/scenes. * **Scene** variables are only accessible from the scene they are created in. They can be used for data that only concerns one scene. A Scene variable would be able to access the time remaining to complete the level/scene. - -* **Object** variables only concern one object. For example, a hero can have a "Health" or "Ammo" variable. - -!!! note - - Read more about variables on the [Variables](/gdevelop5/all-features/variables) page. Variables are used a lot in games: most examples use them and tutorials will make use of them too. - -!!! note - - Want to see how variables are used in a video tutorial? Check this tutorial: [Variables explained for Non-programmers](https://www.youtube.com/watch?v=SRfpBTgx-PY). - -## An advanced notion: the "time elapsed" since last frame (TimeDelta) - -The game evaluates events and repaints the screen several times per second: we say that the game is *refreshed*, *updated* during a "tick". How often this happens depends on your computer resources: a slow computer can render 25 frames per second, a fast one 60. GDevelop can usually make sure that this value is the same on all computers. However, the speed of some operations can change from computer to computer, for example, mathematical operations and the rendering of movements. - -To make the speed of changes constant, use the *`TimeDelta()` expression*, which returns the time in seconds since the last frame. For example, don't do this: - -![](/gdevelop5/tutorials/update-life-no-timedelta.png) - -But do this instead: - -![](/gdevelop5/tutorials/update-life-timedelta.png) - -* The first event is adding 20 to the variable every time the game is refreshed (i.e. as much as possible, up to 60 times per second). It's **not correct** to use such event as the speed of the increase of the variable will not be the same from computer to computer: we cannot predict the value of the variable after 10 seconds for example - as it depends on the number of frames of the game painted. - -* The second event is **correct and reliable** : The number 300 is multiplied by TimeDelta(). Thus, the variable will be increased at the same time on all computers. As TimeDelta() returns a time in second, it allows you to quantify exactly the amount: In our case, the variable will grow at 300 units/second. Thus, we can predicate that life will increase by 3000 units in 10 seconds - whatever the number of frames painted during this time. - -!!! note - - As GDevelop will run your game at a maximum of 60 images per second, you usually won't notice an issue if you're using the first event. It's still a good idea to keep an eye on this and use the version with `TimeDelta()` instead. - -**Rule of Thumb:** Use _TimeDelta()_ when you want to continually add some amount to a value. If your action is meant to be launched only once (for example, during a collision where you then delete the object), it's ok to use a discrete value without TimeDelta - as it does not depend on the speed of the game. - -!!! note - - When you're moving an object using forces, there is no need to use TimeDelta() as GDevelop automatically uses it. - -## And... that's almost all you need to know - -➡️ You can continue to read **[the tutorials](/gdevelop5/tutorials)** to know more about creating real games with GDevelop! diff --git a/docs/ru/gdevelop5/tutorials/index.md b/docs/ru/gdevelop5/tutorials/index.md deleted file mode 100644 index c9f7e278f14..00000000000 --- a/docs/ru/gdevelop5/tutorials/index.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: GDevelop 5 учебных пособий ---- -# GDevelop 5 учебных пособий - -Эти учебные пособия представляют собой пошаговые руководства, объясняющие, как создать игру с нуля: - -!!! tip - - Если вы используете GDevelop в первый раз, рекомендуется начать с этих руководств - - * **[Основные концепции создания игр: что нужно знать, чтобы начать с GDevelop](/gdevelop5/tutorials/basic-game-making-concepts)** - * **[Создать платформенную игру](/gdevelop5/tutorials/platformer)** - * **[Геометрия Монстр: полная и простая мобильная игра](/gdevelop5/tutorials/geometry-monster)** - -Уроки сообщества: - - * [Создайте простую игру Tank Shooter](/gdevelop5/tutorials/tank-shooter) - * [Создайте простую игру Endless Runner](/gdevelop5/tutorials/endless-runner) - * [Создать простую игру Breakout](/gdevelop5/tutorials/roadrider) - ----- - -# GDevelop краткие руководства («как») -В следующих руководствах приведены пояснения для определенных частей GDevelop. Они также показывают вам некоторые продвинутые механизмы для разработки ваших игр: - - * [Как перемещать объекты в вашей игре (все разные решения)](/gdevelop5/tutorials/how-to-move-objects) - * [Как оживить прыжок и падение персонажа в платформерной игре](/gdevelop5/tutorials/how-to-animate-jump-fall-platformer) - * [Как отобразить большой фон в вашей игре](/gdevelop5/tutorials/how-to-display-big-background) - * [Как отладить низкую производительность игры](/gdevelop5/tutorials/how-to-debug-poor-performance) - * [Аукцион хранения объяснил](/gdevelop5/tutorials/storage-action-explained) - * [Как уменьшить размер вашей игры](/gdevelop5/tutorials/reduce-size-game) - * [Как обращаться со сложной логикой - конечный автомат (FSM)](/gdevelop5/tutorials/finite_state_machine) - * [Как использовать GDevelop в команде (несколько разработчиков и товарищей по команде)](/gdevelop5/tutorials/how-to-use-GDevelop-as-a-team) - ----- - -# Другие руководства -Приведенные ниже руководства содержат пояснения, связанные с разработкой игр. Они не являются специфичными для GDevelop. - - * [Опубликуйте свою игру на itch.io](/gdevelop5/publishing/publishing-to-itch-io) - * [Опубликуйте свою игру в Amazon App Store](/gdevelop5/publishing/publishing-to-amazon-app-store) - * [Публикация вашей игры в Game Jolt](/gdevelop5/publishing/publishing-to-gamejolt-store) - * [Публикация вашей игры в Kongregate](/gdevelop5/publishing/publishing-to-kongregate-store) - ----- - -# GDevelop видео-уроки - - * Смотри [список видео-уроков, созданных Сообществом](/gdevelop5/tutorials/videos) - - ----- - -# Ресурсы -Ссылки на сторонние веб-сайты, где вы можете найти спрайты, музыку и звуковые эффекты для ваших игр и примеры игр, шаблоны и программное обеспечение, которые помогут вам в разработке игр. - - * [Список ресурсов](/gdevelop5/tutorials/resources) \ No newline at end of file diff --git a/docs/ru/index.md b/docs/ru/index.md deleted file mode 100644 index 6e31bbddc66..00000000000 --- a/docs/ru/index.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: start ---- - -![](/logocompleteeffecttranparent400x100.png) - -# GDevelop Wiki - -GDevelop это доступный каждому кросс-платформенный инструмент с открытым исходным кодом для создания собственных игр - для этого вовсе не нужно иметь навыки программирования. Если у вас ещё нет GDevelop, [быстрее качайте](https://gdevelop.io/download)! - -Эта wiki поможет вам освоиться с программой, а так же предложит пару уроков по использованию: любые дополнения приветствуются! - -## Уроки и видео - -Изучите как использовать GDevelop при помощи **[уроков](/ru/gdevelop/tutorials)**. - -## Полная документация - -**[Документация GDevelop](/ru/gdevelop/documentation)** содержит полную информацию по всем аспектам. - -## Wiki на других языках - -![](/fr.png)[⇒ Wiki на французском](/fr/start) - -Кликните на флаг вверху любой страницы, чтобы переключить язык. -Вы можете помочь перевести wiki на один из этих языков: - -![](/zh.gif)[⇒ Китайская wiki](/zh/start) -![](/de.png)[⇒ Немецкая wiki](/de/start) -![](/pt.png)[⇒ Португальская wiki](/pt/start) -![](/ru.png)[⇒ Русская wiki](/ru/start) -![](/es.png)[⇒ Испанская wiki](/es/start) -Просто создайте аккаунт на wiki и используйте кнопку с гаечным ключом вверху, чтобы создавать или редактировать страницы. Вы так же можете [помочь с переводом GDevelop и его сайта](http://crowdin.com/project/gdevelop). diff --git a/docs/si.png b/docs/si.png deleted file mode 100644 index 28ab2a407f0..00000000000 Binary files a/docs/si.png and /dev/null differ diff --git a/docs/sl/gdevelop5/create-new-project-window.png b/docs/sl/gdevelop5/create-new-project-window.png deleted file mode 100644 index b1e2a0cfb02..00000000000 Binary files a/docs/sl/gdevelop5/create-new-project-window.png and /dev/null differ diff --git a/docs/sl/gdevelop5/delovni_vmesnik2.png b/docs/sl/gdevelop5/delovni_vmesnik2.png deleted file mode 100644 index 5e75e56033a..00000000000 Binary files a/docs/sl/gdevelop5/delovni_vmesnik2.png and /dev/null differ diff --git a/docs/sl/gdevelop5/getting_started.md b/docs/sl/gdevelop5/getting_started.md deleted file mode 100644 index aa0a870125e..00000000000 --- a/docs/sl/gdevelop5/getting_started.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Za začetek ---- -# Za začetek -## Preizkusite GDevelop na spletu ali prenesite namizno različico - -* Za začetek lahko [preizkusite GDevelop na spletu](https://editor.gdevelop.io). -* Da bi ustvarili svojo igro, jo shranili in objavili, [prenesite namizno različico s spletne strani GDevelop](https://gdevelop.io/sl/). - -Ko ste GDevelop prenesli, odprite namestitveni program in namestite programsko opremo.: - -* V okolju Windows po zagonu namestitve uporabite *GDevelop ikono* na namizju, da ga zaženete. Lahko tudi *razširite* namestitveni program (denimo zip datoteko) in program prenesete v poljuben imenik. -* V MacOS okolju zaženite *DMG datoteko*, povlecite GDevelop v *Applications* in odprite GDevelop iz imenika Applications. -* V Linuxu *razširite* arhiv in zaženite izvršljivo datoteko. - -Ko je program zagnan, se boste znašli na začetni strani. Tu lahko izberete obstoječ projekt ali usvtarite novega. - -![](/sl/gdevelop5/start_page_sl.png) -} -## Ustvarjanje novega projekta - -Da bi ustvarili nov projekt, izberite "Ustvari nov projekt" na začetni strani. - -Odprlo se bo novo okno, ki ponuja seznam možnosti in vam omogoča izbiro predlog/primerov ali ustvarjanje praznega projekta. Primeri prikazujejo, kako uporabljati določene funkcije, medtem ko so začetni projekti bolj napredne igre, ki jih lahko preizkusite, se iz njih učite in jih spremenite. - -Prazen projekt ne vsebuje nobenih elementov, dogodkov ali scen - igra je povsem prazna. - -![](/sl/gdevelop5/create-new-project-window.png) - -Na dnu okna lahko izberete lokacijo, kamor boste shranili svoj nov projekt. -![](/gdevelop5/project-default-location.png) - -Ko ste izbrali privzeto lokacijo za svoj projekt, kliknite na ime začetne predloge ali primer, da odprete igro. - -!!! note - - Privzeto se nove igre shranjujejo v imenik, ki se imenuje "GDevelop Projects", ki se nahaja v vašem imeniku "Dokumenti". - - -## Odpiranje obstoječega projekta - -Za ponovno odpiranje obstoječega projekta na začetni strani izberite "Odpri projekt". - -Potem poiščite v svojem datotečnem sistemu datoteko projekta. GDevelop 5 projekti so privzeto shranjeni kot ".json" datoteke. - -![](/gdevelop5/project-file.png) - -Ikona te datoteke je odvisna od tega ali imate ali nimate na vašem računalniku nameščene privzete aplikacije za urejanje ".json" datotek. - -*Opomba:* Uporabniki GDevelop 4 lahko [tu izvedo kako shraniti svoj projekt in ga odpreti v GDevelop 5](/gdevelop5/getting_started/open-gdevelop-4-project). - -## Naslednji korak: začnite z vodniki - -Nadaljujte z branjem **[osnovnih koncetopv, da spoznate, kako uporabljati GDevelop](/gdevelop5/tutorials/basic-game-making-concepts)**. - -Vodniki so skupaj z dokumentacijo najboljši način za učenje. Priporočljivo je, da preberete in sledite [vodniku](/gdevelop5/tutorials)! - -## Izvedite več o GDevelop-u - -Za več informacij za uporabo GDevelop-a obiščite naslednje strani, kjer je vse bolj podrobno razloženo: - - * [interface](/sl/gdevelop5/interface) - * [objects](/sl/gdevelop5/objects) - * [behaviors](/gdevelop5/behaviors) - * [events](/gdevelop5/events) - * [all features](/gdevelop5/all-features) - * [publishing](/gdevelop5/publishing) - -Preverite tudi **primere**, ki so priloženi GDevelop-u. Predstavljajo dober način za učenje o različnih zmožnostih programa. \ No newline at end of file diff --git a/docs/sl/gdevelop5/index.md b/docs/sl/gdevelop5/index.md deleted file mode 100644 index 7182dcd9dfa..00000000000 --- a/docs/sl/gdevelop5/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: start ---- -![](/logocompleteeffecttranparent400x100.png) - -# GDevelop 5 - -Develop je odprtokodni, večplatformski igralni pogon, oblikovan za vsakogar - za uporabo ne zahteva znanja programiranja. Če ga še niste uporabljali [ga preizkusite na spletu](https://editor.gdevelop.io) ali [prenesite namizno različico](http://gdevelop.io/download)! - -Ta wiki je namenjen učenju o programski opremi in ponuja vodnike za njeno rabo: Vaši prispevki so dobrodošli! - -# Za začetek - -➡️Za začetek uporabe GDevelop 5, preberite [stran Za začetek](http://wiki.compilgames.net/doku.php/sl/gdevelop5/getting_started), **[osnovne koncepte za ustvarjanje iger](/gdevelop5/tutorials/basic-game-making-concepts)** in preglejte [vodnike](/gdevelop5/tutorials). diff --git a/docs/sl/gdevelop5/interface.md b/docs/sl/gdevelop5/interface.md deleted file mode 100644 index d48d16cfeaa..00000000000 --- a/docs/sl/gdevelop5/interface.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: GDevelop vmesnik ---- -# GDevelop vmesnik - -GDevelop delovni vmesnik je zgrajen okoli urejevalnikov, ki so prikazani v zavihkih. Ti urejevalniki omogočajo spreminjanje delov vaše igre. - -![](/sl/gdevelop5/delovni_vmesnik2.png) - -## Začetna stran - -Začetna stran se prikaže, ko prvič zaženete GDevelop. Tukaj ustvarjate projekte, naložite obstoječe ali naložite vodnike. - -![](/sl/gdevelop5/start_page_sl.png) - -Ob zagonu bo GDevelop preveril ali obstajajo nove posodobitve. Če je kakšna na voljo, se bo posodobitev samodejno prenesla. - -Napredek lahko vidite [s klikom na O GDevelop](/gdevelop5/interface/updates). - -## Upravljanik projektov - -Ko je odprt projekt, lahko kliknete na zgornji levi gumb, da odprete upravljalnik projektov. - -![](/gdevelop5/project-manager-button.png) - -Upravljalnik projektov prikazuje strukturo vaše igre: - -![](/sl/gdevelop5/upravljalnik_projektov.png) - -Z upravljalnikom projektov lahko v svojo igro dodajate nove elemente in odpirate urejevalnike. -Izvedite več o [vsebini upravljalnika projektov](/gdevelop5/interface/project-manager). - -## Urejevalnik scen - -Ko odprete sceno (ali zunanjo postavitev), se odpre scenski urejevalnik. -Tukaj lahko oblikujete in gradite nivoje svoje igre in meniju z ustvarjanjem in dodajanjem objektov v sceno. - -[Naučite se več o uporabi urejavlnikov scene](/gdevelop5/interface/scene-editor). - -## Urejevalnik dogodkov - -Ko odprete sceno (ali zunanji dogodek), se pojavi urejevalnik dogodkov. Tukaj lahko uporabljate dogodke ali ustvarite dejansko izvedbo igre in omogočite igralcem interakcijo z vašo igro in njeno igranje. -Urejevalnik dogodokov je orodje, ki omogoča vizualno programiranje vaše igre, brez specifičnega poznavanja programskega jezika ali izkušenj. - -Izvedite več o [rabi urejevalnik dogodkov](/gdevelop5/interface/events-editor) ali preverite [pomoč za dogodke](/gdevelop5/events). - -## Zgornji meniji - -Meni na vrhu zaslona (le v namizni različici) omogoča odpiranje, shranjevanje in [gdevelop5:publishing|objavo igre]]. - -Lahko odprete tudi GDevelop lastnosti ali pogledate [profil svojega GDevelop računa](/gdevelop5/interface/profile). - -## Teme vmesnika - -Lhako izberete želeno temo. Privzeto ima GDevelop dve temi - belo ali **Default White Theme** in temno ali **Dark Theme**. Za zamenjavo na drugo temo pojdite na **Datoteka**->**Nastavitve**. -Lahko ustvarite tudi svoje teme in jih delite z drugimi. Izvedite več o ustvarjanju tem [tukaj](/gdevelop5/all-features/themes). \ No newline at end of file diff --git a/docs/sl/gdevelop5/objects.md b/docs/sl/gdevelop5/objects.md deleted file mode 100644 index 67e30f52719..00000000000 --- a/docs/sl/gdevelop5/objects.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Objekti ---- -# Objekti - -GDevelop igre temeljijo na objektih, ki so prikazani na sceni. Mogoče jih je animirati, premikati in spreminjati na različne načine. Na voljo so različne vrste objektov z različno funkcionalnostjo: - -* [Features for all objects](/gdevelop5/objects/base_object) -* [Sprite objects](/gdevelop5/objects/sprite) -* [Tiled Sprite objects](/gdevelop5/objects/tiled_sprite) -* [Particle emitters](/gdevelop5/objects/particles_emitter) -* [Text objects](/gdevelop5/objects/text) -* [Panel Sprite ("9 patch") objects](/gdevelop5/objects/panel_sprite) -* [Text entry objects](/gdevelop5/objects/text_entry) -* [Shape Painter objects](/gdevelop5/objects/shape_painter) -* [Video objects](/gdevelop5/objects/video) (experimental) - -Obstajajo tudi funkcionalnosti, ki delujejo brez objektov, kot npr. AdMob, ki omogoča prikazovanje oglasov na Android ali iOS napravi. Več o AdMob si lahko preberete [tukaj](/gdevelop5/all-features/admob). - -O ostalih funkcijah [si več preberite tukaj](/gdevelop5/all-features). \ No newline at end of file diff --git a/docs/sl/gdevelop5/start_page_sl.png b/docs/sl/gdevelop5/start_page_sl.png deleted file mode 100644 index 7d45dbd09f7..00000000000 Binary files a/docs/sl/gdevelop5/start_page_sl.png and /dev/null differ diff --git a/docs/sl/gdevelop5/upravljalnik_projektov.png b/docs/sl/gdevelop5/upravljalnik_projektov.png deleted file mode 100644 index 230e51d00b4..00000000000 Binary files a/docs/sl/gdevelop5/upravljalnik_projektov.png and /dev/null differ diff --git a/docs/sl/index.md b/docs/sl/index.md deleted file mode 100644 index 3018adfcf4b..00000000000 --- a/docs/sl/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: start ---- - -![](/logocompleteeffecttranparent400x100.png) - -!!! note - - Verjetno iščete **GDevelop 5** dokumentacijo. [Kliknite sem, da odprete GDevelop 5 Wiki](/gdevelop5/start). - -# GDevelop 4 Wiki - -Develop je odprtokodni, večplatformski igralni pogon, oblikovan za vsakogar - za uporabo ne zahteva znanja programiranja. Če nimate Gdevelop-a, [ga prenesite sedaj](http://gdevelop-app.com/sl/). - -Ta Wiki je namenjen učenju programa in ponuja vodnike za uporabo: vaš prispevek je dobrodošel! - -## Vodniki in videi - -Naučite se uporabljati Gdevelop 4 s pomočjo **[vodnikov](/gdevelop/tutorials)**. - -## Celotna dokumentacija - -Preberite **[GDevelop 4 dokumentacijo](/gdevelop/documentation)** za celotno referenco. -!!! note - - Če uporabljate **GDevelop 5**, je na na voljo nova dokumentacija. [Kliknite tukaj za GDevelop 5 Wiki](/gdevelop5/start). - -## Wiki v drugih jezikih - -Kliknite na zastavo na vrhu katerekoli strani, da preklopite jezik. -Vaša pomoč za oblikovanje wikijev za te jezike je dobrodošla: - -- ![](/fr.png)[⇒ Wiki Français](/fr/start) -- ![](/zh.gif)[⇒ Chinese wiki](/zh/start) -- ![](/de.png)[⇒ German wiki](/de/start) -- ![](/pt.png)[⇒ Portuguese wiki](/pt/start) -- ![](/ru.png)[⇒ Russian wiki](/ru/start) -- ![](/es.png)[⇒ Spanish wiki](/es/start) -- ![](/pl.png)[⇒ Polish wiki](/pl/start) -- ![](/si.png)[⇒ Slovenski wiki](/sl/start) - -Ustvarite račun za wiki in uporabite zgornji meni za ustvarjanje ali urejanje strani. Lahko uporabite tudi [in pomagate prevesti GDevelop in njegovo spletno stran](http://crowdin.com/project/gdevelop). diff --git a/docs/zh.gif b/docs/zh.gif deleted file mode 100644 index b0525309788..00000000000 Binary files a/docs/zh.gif and /dev/null differ diff --git a/docs/zh/gdevelop5/getting_started.md b/docs/zh/gdevelop5/getting_started.md deleted file mode 100644 index 641d40dffd9..00000000000 --- a/docs/zh/gdevelop5/getting_started.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -title: 入门 ---- -# 入门 - -## 在线试用GDevelop或者下载桌面版 - -* 如果您想尝鲜,请[在线试用GDevelop](https://4ian.github.io/GD)。 -* 如果您想创建、保存并发布游戏,请[在GDevelop网站下载桌面版](http://compilgames.net)。 - -当您下载完成之后,请进行安装,之后点击桌面上的GDevelop图标启动该应用程序。 -一旦应用程序加载完成后,您将首先看到启动页,这里您可以打开已有的工程或者创建新工程。 - -![](/gdevelop5/start_page.png) - -#### 打开已有工程 - -要打开已有工程,请在启动页选择对应选项。 - -接下来您需要浏览本地文件系统来打开一个工程。GDevelop 5工程通常保存为“game.json”文件。找到并选择该文件来打开整个工程。 -![](/gdevelop5/project-file.png) - -此文件的图标显示将取决于您是否在计算机上安装了应用程序来默认打开它。 - -!!! note - - game.json将默认保存在: - - * Windows: C:/Users/您的用户名/GDevelop Projects - * macOS and Linux: 您个人文件夹下的GDevelop Projects目录 - - -一旦您打开了工程,编辑器就将显示出来。不过我们会稍后讲解,接下来我们看看如何创建新工程。 - -**注意:** GDevelop 4用户,您可以[在这里学习如何保存工程并在GDevelop 5中打开](/gdevelop5/getting_started/open-gdevelop-4-project)。 - -#### 创建新工程 -要创建新工程,请在启动页选择对应选项。 - -在下一窗口中,您可以从模版选择或者创建空白工程。模版在启动时已经包含了一些物资以及事件,而空板工程则不包括任何内容,您需要从头开始。 -![](/gdevelop5/create-new-project-window.png) -由于本页的目的是教导您开始使用GDevelop,这里让我们来创建空白工程。 - -首先,请选择您将在何处保存新的工程。您可能已经注意到了,在创建工程页面的下方已经出现了默认路径。 -![](/gdevelop5/project-default-location.png) -如果您想要选择其他的路径,请点击路径框旁边的Choose Folder(选择目录)按钮: -![](/gdevelop5/choose-folder-button.png) -下一步,在您本地的文件系统中浏览并选择工程保存路径。 - -当您选择或者决定使用默认路径时,请直接点击Empty game(空白游戏)按钮来创建空白工程。 -![](/gdevelop5/empty-game-button.png) - -接下来无论您创建了空白工程,或者选择了模板,都将看到编辑器。 - -#### 更多 - -有关如何使用GDevelop的进一步信息,我建议您访问如下页面,其中更详细的解释了所有内容: - - * [GDevelop界面](/gdevelop5/interface) - * [GDevelop对象](/gdevelop5/objects) - * [GDevelop 行为](/gdevelop5/behaviors) - - -#### 教程 - -您也可以在本百科上找到教程: - - * [GDevelop 教程](/zh/gdevelop5/tutorials) - -#### 示例 - -您可以在这里找到各种例子和模板,让您从零开始制作自己的游戏: - - * [gametemplates.itch.io](https://gametemplates.itch.io/) - - diff --git a/docs/zh/gdevelop5/index.md b/docs/zh/gdevelop5/index.md deleted file mode 100644 index 22e52b75702..00000000000 --- a/docs/zh/gdevelop5/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: start ---- -![](/logocompleteeffecttranparent400x100.png) - -# GDevelop 5 - -GDevelop 是一个开源、跨平台的**游戏编写器**,其设计为为任何人可用 - 无需任何编程技巧。如您从未使用过GDevelop, [请在线试用](https://4ian.github.io/GD)或者[下载桌面版](http://gdevelop-app.com)! - -此**维基百科**旨在教导您如何使用本软件,并指导您入门。同样我们欢迎您对其作出贡献! - -# 入门 - -要开始学习GDevelop 5,请首先阅读[入门页](/zh/gdevelop5/getting_started)并浏览[教程](/zh/gdevelop5/tutorials). diff --git a/docs/zh/gdevelop5/tutorials/index.md b/docs/zh/gdevelop5/tutorials/index.md deleted file mode 100644 index 6943fd55ba0..00000000000 --- a/docs/zh/gdevelop5/tutorials/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: GDevelop 5教程 ---- -# GDevelop 5教程 - -本教程讲逐步指导您如何从头建立一个游戏: - - * [创建一个平台游戏](/gdevelop5/tutorials/platformer) - * [创建一个简单的坦克射击游戏](/gdevelop5/tutorials/tank-shooter) - - ----- - -本维基百科可以由任何人改进:别犹豫,现在就建立账户,并通过完善文档、修正错误以及编写新的教程来做出您的贡献! \ No newline at end of file diff --git a/docs/zh/gdevelop5/tutorials/platform-game/index.md b/docs/zh/gdevelop5/tutorials/platform-game/index.md deleted file mode 100644 index 4d6e77ebf81..00000000000 --- a/docs/zh/gdevelop5/tutorials/platform-game/index.md +++ /dev/null @@ -1,178 +0,0 @@ ---- -title: 如何制作一个平台游戏 ---- -# 如何制作一个平台游戏 - -这个教程将帮助您开始使用 **GDevelop**: -您将要创建一个非常简单的平台类型的游戏,玩家可以在平台上跳跃及收集钱币。 - -请注意,您可以阅读 [入门](/gdevelop5/getting_started) 页面以获得软件的概述:它解释了主要概念并描述了**GDevelop**的界面。 - -## 下载 GDevelop - -如果您还没有安装 **GDevelop 5**, 从以下网址下载 [official website](https://gdevelop.io). 它适用于Windows、macOS和Linux。 - -请始终从该页面下载GDevelop,以确保具有最新版本。安装(或提取)GDevelop并启动它。 - - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_22.57.02.png) - -## 创建一个新游戏 - -在开始页面点击 `Create a new project`. 在窗口中, 为你的项目选择一个文件夹并且选择`Empty project` 开始一个新的游戏。 - -![](/gdevelop5/tutorials/platform-game/screenshot_20190604200258.png) - -为了制作我们的游戏, 我们需要我们可以使用的资源 (玩家角色, 几个平台, 可以收集的物体...). 您可以从此处下载资源: http://www.compilgames.net/dl/PlatformerTutorialResources.zip. - -下载完这个文件之后,在您项目所在的文件夹解压出其中的内容. - -## 添加一个场景 - -场景是你游戏的部件之一. 通常情况下,你游戏中的每个不同的屏幕都是一个场景: 主菜单, 暂停菜单以及关卡都是场景. - -场景包含显示在屏幕上的对象. 这些对象可以被放置在场景中来创建关卡 (这些对象被叫做"实例"). 场景中也包含事件用于在场景中运行动画. - -在左侧已经打开的项目管理器中,在“场景(Scenes)”下点击 `+` 按钮: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.26.09.png) - -一个叫做 "New scene"的新场景被创建了, 并且添加到了列表中. 点击并打开它. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.30.40.png) - -## 创建一个玩家对象 - -玩家将会控制一个角色,它可以在平台上跳跃并移动. 我们将要创建这个对象. - -在右侧, 有一个叫做"对象"的面板. 点击 `+` 按钮创建一个对象. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.32.40.png) - -将弹出一个窗口,显示您可以从中选择的不同类型的对象。 - -![](/gdevelop5/tutorials/platform-game/gd5_object_types1.png) - -不同种类的对象提供特定的功能。对于大多数对象,我们将使用Sprite对象,这些对象是动画对象,可以用于许多元素(播放器、平台、敌人、项目…)。 - -在列表中点击 `Sprite`. 新对象将添加到场景中,并打开了对象编辑器: - -![](/gdevelop5/tutorials/platform-game/screenshot_20190604200645.png) - -对象暂时为空。精灵对象由动画组成,每个动画可以包含一个或多个图像。让我们添加一个动画!单击“+”按钮。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.35.50.png) - -动画已添加,但仍为空,没有图像。若要添加图像,请单击空白缩略图中的“+”。 - -在项目文件夹中选择名为“p1_stand”的图像。图像将添加到对象: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.44.56.png) - -现在可以通过单击右下角的“应用(Apply)”按钮关闭编辑器。 - -## 将对象放置在场景中 - -为了在关卡中显示玩家, 我们将其放置在场景中。我们添加到场景中的每个对象都被叫做对象的“实例”. - -我们的玩家实例是唯一的,因为我们在此关卡中只能有一个。但是其他对象(例如平台、钱币、敌人。。。) 可以在场景中有多个实例同时存活。 - -要添加对象到场景, 简单地从列表中拖拽对象到场景中即可. - -![](/gdevelop5/tutorials/platform-game/add-player.gif) - -## 给对象起一个合适的名字 - -为了非常容易地在游戏中引用对象, 给他起一个名字而不使用默认名字. 在其上鼠标右键(或者点击 `⋯` 图标) 选择“重命名”.然后你可以输入 "Player" 并在屏幕的任意位置点击一下或者按下回车键给这个对象改名. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.53.10.png) - -## 添加平台 - -当前关卡还没有任何平台,还是空的,我们添加一些。 - -在对象列表中点击`+` 按钮添加一个新对象。 此时当被询问对象类型, 选择`Tiled Sprite(瓦块精灵)` : - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.54.52.png) - -对象编辑器被打开了. 它与精灵对象编辑器稍有不同, 因为瓦块精灵是没有动画的. - -点击 `Select an image(选择一个图片)` 然后 `Choose a new image(选择一个新图片)`. 此时, 选择名字叫 `grassHalfMid`的图片. - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.57.28.png) - -点击右下角的"Apply(应用)" 按钮关闭编辑器. 在对象列表中选择刚才创建的对象,并将其拖拽到场景中: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-24_at_23.59.05.png) - -对象被加入到了场景之中,但是它非常小. 单击它并使用手柄调整大小,使其看起来像一个平台:: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.00.01.png) - -另外,不要忘记将对象重命名为“GrassPlatform”,而不是默认名称。 - -### 保存的时候到了 - -让我们不要丢去我们到目前为止所做的:在应用程序“文件”菜单中,单击“保存”(或按Ctrl+s/Cmd+s)保存您的更改。 - -## 向对象添加行为 - -### 玩家 - -玩家的移动可以通过GDevelop事件来创建,但是要重建一个好的platformer引擎将是一个相当长且困难的任务。幸运的是,GDevelop已经内置了一个完整的platformer引擎,我们可以使用它。为此,我们需要使用“platformer行为”,它允许我们访问和使用内置的platformer引擎。 - -打开“(Player)玩家”对象编辑器: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.02.34.png) - -切换到“行为”选项卡并单击“+”按钮向对象添加行为。在可用行为列表中选择“Platformer character”。 - -然后,您可以在编辑器中看到该行为,并使用许多可以调整的参数: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.04.41.png) - -你可以改变一些属性,比如跳跃速度。例如,将其设置为800,以便跳跃更有力。 - -### 平台 - -我们还需要将对象设置为平台,以便玩家可以在平台上行走和跳跃。否则,玩家会从物体上掉下来,因为我们没有告诉我们的角色当他们着陆时该怎么做。通过将对象设置为平台,platformer角色将与之碰撞并能够在其上行走。 - - - -要将GrassPlatform对象设置为平台,请打开GrassPlatform对象编辑器。切换到“行为”选项卡,然后添加行为:这次,选择“平台”行为。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.09.42.png) - -您还可以更改一些选项。例如,选项“Can grab platform ledges”允许platformer角色抓取平台的边缘。如果我们现在启用这个选项,结果看起来会很奇怪,因为当角色抓取边缘时,我们没有要显示的动画。让我们不受限制。 - -## 开始预览 - -此时,您应该可以通过按工具栏屏幕顶部的“预览”按钮来测试您的游戏。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.13.25.png) - -当您按下按钮时,将生成一个预览,然后,将打开一个新窗口。 - -您应该可以使用默认键来走动和跳跃:使用箭头键移动字符,然后按“Shift”或“Space”来跳跃!请随意添加一些其他平台到场景中,就像我们以前做的那样。确保将行为添加到平台中,以避免角色失败。 - -目前,该对象没有动画,我们稍后将添加一些动画。 - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.14.18.png) - -如果对象没有移动,请检查前面的步骤确保添加了正确的行为。 - -## 更改背景颜色 - -灰色的背景有点乏味。稍后我们可以添加一个图像,但现在,让我们保持简单。在编辑器中,右键单击灰色背景并选择“场景属性”: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.16.03.png) - -在打开的新窗口中,单击“Scene background color”,然后为背景选择一种漂亮的颜色: - -![](/gdevelop5/tutorials/platform-game/screen_shot_2017-09-25_at_00.18.08.png) - -## 下一步: 让玩家动起来 - -我们的游戏目前非常基础,玩家在跳跃或奔跑时没有动画。本教程的下一部分将介绍如何添加不同的动画,以及如何使用事件在玩家状态更改时更改动画。 - -➡️ 阅读 **[教程的下一部分在这里](/gdevelop5/tutorials/platform-game/2-player-animations)**! \ No newline at end of file diff --git a/docs/zh/index.md b/docs/zh/index.md deleted file mode 100644 index 56723714333..00000000000 --- a/docs/zh/index.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: start ---- - -![](/logocompleteeffecttranparent400x100.png) - -# GDevelop 百科 - -GDevelop 是一个开源、跨平台的游戏制作器,专为所有人设计 — — 不需任何编程技能。如果你还没有安装 GDevelop,[现在下载](https://gdevelop.io/download)! - -在这篇 wiki 可以找到与 GDevelop 有关的帮助与教程,欢迎您的贡献! - -## 教程和视频 - -通过 **[教程](/gdevelop/tutorials)** 学习如何使用 GDevelop - -## 全部文档 - -阅读 **[GDevelop 完全参考手册](/gdevelop/documentation)** - -## 其他语言 - -![](/fr.png)[⇒ 法语 wiki](/fr/start) - -点击国旗切换 wiki 语言,欢迎您帮助完善下面语言的 wiki: - -![](/zh.gif)[⇒ 中文 wiki](/zh/start) -![](/de.png)[⇒ 德语 wiki](/de/start) -![](/pt.png)[⇒ 葡萄牙语 wiki](/pt/start) -![](/ru.png)[⇒ 俄语 wiki](/ru/start) -![](/es.png)[⇒ 西班牙语 wiki](/es/start) -Just create an account on the wiki and use the top menu to create or edit a page. You can also [help to translate GDevelop and its website](http://crowdin.com/project/gdevelop). diff --git a/mkdocs.yml b/mkdocs.yml index 8b27502d47d..7040fef836e 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -66,6 +66,7 @@ extra_css: - stylesheets/extra.css extra_javascript: - javascript/autoScrollNavigation.js + - javascript/translate.js markdown_extensions: # For buttons: - attr_list @@ -78,212 +79,273 @@ markdown_extensions: # For lists not starting with a blank line: - sane_lists watch: -- 'overrides' + - "overrides" plugins: - - search - # Allow to customize navigation with `.pages` files: - - awesome-pages - # Redirect old pages: - - redirects: - redirect_maps: - 'gdevelop5/start.md': 'gdevelop5/index.md' - 'fr/gdevelop5/start.md': 'fr/gdevelop5/index.md' - 'es/gdevelop5/start.md': 'es/gdevelop5/index.md' - 'ru/gdevelop5/start.md': 'ru/gdevelop5/index.md' - 'pt/gdevelop5/start.md': 'pt/gdevelop5/index.md' - 'de/gdevelop5/start.md': 'de/gdevelop5/index.md' - 'zh/gdevelop5/start.md': 'zh/gdevelop5/index.md' - 'pl/gdevelop5/start.md': 'pl/gdevelop5/index.md' - 'sl/gdevelop5/start.md': 'sl/gdevelop5/index.md' - 'gdevelop5/extending-gdevelop.md': 'gdevelop5/community/contribute-to-gdevelop-code.md' - 'gdevelop5/extensions/extend-gdevelop.md': 'gdevelop5/community/contribute-to-gdevelop-code.md' - 'gdevelop5/all-features/functions.md': 'gdevelop5/all-features/expressions-reference.md' - 'gdevelop5/all-features/timers.md': 'gdevelop5/all-features/timers-and-time/index.md' - 'gdevelop5/objects/how-to-rotate-objects.md': 'gdevelop5/tutorials/how-to-rotate-objects.md' - 'gdevelop5/objects/admob.md': 'gdevelop5/all-features/admob/index.md' - 'gdevelop5/objects/base_object/events.md': 'gdevelop5/objects/index.md' - 'gdevelop5/objects/base_object/index.md': 'gdevelop5/objects/index.md' - 'gdevelop5/extensions/list.md': 'gdevelop5/extensions/index.md' - 'gdevelop5/publishing/android_and_ios/index.md': 'gdevelop5/publishing/android/index.md' - 'gdevelop5/publishing/android_and_ios/play-store/index.md': 'gdevelop5/publishing/android/play-store/index.md' - 'gdevelop5/publishing/android_and_ios/play-store/upgrading-from-apk-to-aab.md': 'gdevelop5/publishing/android/play-store/upgrading-from-apk-to-aab.md' - # Tutorials - 'gdevelop5/tutorials/platformer/start.md': 'gdevelop5/tutorials/platformer/index.md' - 'gdevelop5/tutorials/asteroids/start.md': 'gdevelop5/tutorials/asteroids/index.md' - 'gdevelop5/tutorials/platform-game/start.md': 'gdevelop5/tutorials/platform-game/index.md' - 'fr/gdevelop5/tutorials/platform-game/start.md': 'fr/gdevelop5/tutorials/platform-game/index.md' - 'pt/gdevelop5/tutorials/platform-game/start.md': 'pt/gdevelop5/tutorials/platform-game/index.md' - 'fr/gdevelop5/tutorials/isometric-rpg/start.md': 'fr/gdevelop5/tutorials/isometric-rpg/index.md' - 'es/gdevelop5/tutorials/platformer/start.md': 'es/gdevelop5/tutorials/platformer/index.md' - 'ja/gdevelop5/tutorials/platformer/start.md': 'ja/gdevelop5/tutorials/platformer/index.md' - # Extensions reference pages from old wiki were transferred to index pages - 'gdevelop5/extensions/advanced-jump/reference.md': 'gdevelop5/extensions/advanced-jump/index.md' - 'gdevelop5/extensions/advanced-p2pevent-handling/reference.md': 'gdevelop5/extensions/advanced-p2pevent-handling/index.md' - 'gdevelop5/extensions/align-object/reference.md': 'gdevelop5/extensions/align-object/index.md' - 'gdevelop5/extensions/animated-back-and-forth-movement/reference.md': 'gdevelop5/extensions/animated-back-and-forth-movement/index.md' - 'gdevelop5/extensions/animation-system/reference.md': 'gdevelop5/extensions/animation-system/index.md' - 'gdevelop5/extensions/array-tools/reference.md': 'gdevelop5/extensions/array-tools/index.md' - 'gdevelop5/extensions/authorized-platforms-validation/reference.md': 'gdevelop5/extensions/authorized-platforms-validation/index.md' - 'gdevelop5/extensions/auto-typing/reference.md': 'gdevelop5/extensions/auto-typing/index.md' - 'gdevelop5/extensions/back-button/reference.md': 'gdevelop5/extensions/back-button/index.md' - 'gdevelop5/extensions/base-conversion/reference.md': 'gdevelop5/extensions/base-conversion/index.md' - 'gdevelop5/extensions/behavior-remapper/reference.md': 'gdevelop5/extensions/behavior-remapper/index.md' - 'gdevelop5/extensions/boids-movement/reference.md': 'gdevelop5/extensions/boids-movement/index.md' - 'gdevelop5/extensions/boomerang/reference.md': 'gdevelop5/extensions/boomerang/index.md' - 'gdevelop5/extensions/bounce/reference.md': 'gdevelop5/extensions/bounce/index.md' - 'gdevelop5/extensions/camera-impulse/reference.md': 'gdevelop5/extensions/camera-impulse/index.md' - 'gdevelop5/extensions/camera-shake/reference.md': 'gdevelop5/extensions/camera-shake/index.md' - 'gdevelop5/extensions/camera-zoom/reference.md': 'gdevelop5/extensions/camera-zoom/index.md' - 'gdevelop5/extensions/cancellable-draggable/reference.md': 'gdevelop5/extensions/cancellable-draggable/index.md' - 'gdevelop5/extensions/chat-bubble/reference.md': 'gdevelop5/extensions/chat-bubble/index.md' - 'gdevelop5/extensions/checkbox/reference.md': 'gdevelop5/extensions/checkbox/index.md' - 'gdevelop5/extensions/checkpoints/reference.md': 'gdevelop5/extensions/checkpoints/index.md' - 'gdevelop5/extensions/choose/reference.md': 'gdevelop5/extensions/choose/index.md' - 'gdevelop5/extensions/clipboard/reference.md': 'gdevelop5/extensions/clipboard/index.md' - 'gdevelop5/extensions/clock/reference.md': 'gdevelop5/extensions/clock/index.md' - 'gdevelop5/extensions/color-conversion/reference.md': 'gdevelop5/extensions/color-conversion/index.md' - 'gdevelop5/extensions/compressor/reference.md': 'gdevelop5/extensions/compressor/index.md' - 'gdevelop5/extensions/copy-camera-settings/reference.md': 'gdevelop5/extensions/copy-camera-settings/index.md' - 'gdevelop5/extensions/crazy-games-ad-api/reference.md': 'gdevelop5/extensions/crazy-games-ad-api/index.md' - 'gdevelop5/extensions/create-multiple-copies-of-object/reference.md': 'gdevelop5/extensions/create-multiple-copies-of-object/index.md' - 'gdevelop5/extensions/crypto-api/reference.md': 'gdevelop5/extensions/crypto-api/index.md' - 'gdevelop5/extensions/current-game-version/reference.md': 'gdevelop5/extensions/current-game-version/index.md' - 'gdevelop5/extensions/cursor-movement/reference.md': 'gdevelop5/extensions/cursor-movement/index.md' - 'gdevelop5/extensions/cursor-type/reference.md': 'gdevelop5/extensions/cursor-type/index.md' - 'gdevelop5/extensions/curved-movement/reference.md': 'gdevelop5/extensions/curved-movement/index.md' - 'gdevelop5/extensions/depth-effect/reference.md': 'gdevelop5/extensions/depth-effect/index.md' - 'gdevelop5/extensions/dialog-box/reference.md': 'gdevelop5/extensions/dialog-box/index.md' - 'gdevelop5/extensions/discord-rich-presence/reference.md': 'gdevelop5/extensions/discord-rich-presence/index.md' - 'gdevelop5/extensions/double-click/reference.md': 'gdevelop5/extensions/double-click/index.md' - 'gdevelop5/extensions/drag-camera-with-pointer/reference.md': 'gdevelop5/extensions/drag-camera-with-pointer/index.md' - 'gdevelop5/extensions/draggable-physics/reference.md': 'gdevelop5/extensions/draggable-physics/index.md' - 'gdevelop5/extensions/draggable-slider-control/reference.md': 'gdevelop5/extensions/draggable-slider-control/index.md' - 'gdevelop5/extensions/draw-pathfinding/reference.md': 'gdevelop5/extensions/draw-pathfinding/index.md' - 'gdevelop5/extensions/draw-shock-wave-effect/reference.md': 'gdevelop5/extensions/draw-shock-wave-effect/index.md' - 'gdevelop5/extensions/dungeon-generator/reference.md': 'gdevelop5/extensions/dungeon-generator/index.md' - 'gdevelop5/extensions/dynamic-water/reference.md': 'gdevelop5/extensions/dynamic-water/index.md' - 'gdevelop5/extensions/edge-scroll-camera/reference.md': 'gdevelop5/extensions/edge-scroll-camera/index.md' - 'gdevelop5/extensions/ellipse-movement/reference.md': 'gdevelop5/extensions/ellipse-movement/index.md' - 'gdevelop5/extensions/emojis/reference.md': 'gdevelop5/extensions/emojis/index.md' - 'gdevelop5/extensions/explosion-force/reference.md': 'gdevelop5/extensions/explosion-force/index.md' - 'gdevelop5/extensions/extended-math/reference.md': 'gdevelop5/extensions/extended-math/index.md' - 'gdevelop5/extensions/extended-variables/reference.md': 'gdevelop5/extensions/extended-variables/index.md' - 'gdevelop5/extensions/extra-inventory/reference.md': 'gdevelop5/extensions/extra-inventory/index.md' - 'gdevelop5/extensions/face-forward/reference.md': 'gdevelop5/extensions/face-forward/index.md' - 'gdevelop5/extensions/fire-bullet/reference.md': 'gdevelop5/extensions/fire-bullet/index.md' - 'gdevelop5/extensions/flash/reference.md': 'gdevelop5/extensions/flash/index.md' - 'gdevelop5/extensions/flash-layer/reference.md': 'gdevelop5/extensions/flash-layer/index.md' - 'gdevelop5/extensions/flash-transition-painter/reference.md': 'gdevelop5/extensions/flash-transition-painter/index.md' - 'gdevelop5/extensions/flex-box/reference.md': 'gdevelop5/extensions/flex-box/index.md' - 'gdevelop5/extensions/flip-gravity/reference.md': 'gdevelop5/extensions/flip-gravity/index.md' - 'gdevelop5/extensions/follow-objects-with-camera/reference.md': 'gdevelop5/extensions/follow-objects-with-camera/index.md' - 'gdevelop5/extensions/fps/reference.md': 'gdevelop5/extensions/fps/index.md' - 'gdevelop5/extensions/gamepads/reference.md': 'gdevelop5/extensions/gamepads/index.md' - 'gdevelop5/extensions/geolocation/reference.md': 'gdevelop5/extensions/geolocation/index.md' - 'gdevelop5/extensions/get-properties-data/reference.md': 'gdevelop5/extensions/get-properties-data/index.md' - 'gdevelop5/extensions/has-landed/reference.md': 'gdevelop5/extensions/has-landed/index.md' - 'gdevelop5/extensions/hash/reference.md': 'gdevelop5/extensions/hash/index.md' - 'gdevelop5/extensions/health/reference.md': 'gdevelop5/extensions/health/index.md' - 'gdevelop5/extensions/hexagonal-grid/reference.md': 'gdevelop5/extensions/hexagonal-grid/index.md' - 'gdevelop5/extensions/homing-projectile/reference.md': 'gdevelop5/extensions/homing-projectile/index.md' - 'gdevelop5/extensions/idle-tracker/reference.md': 'gdevelop5/extensions/idle-tracker/index.md' - 'gdevelop5/extensions/iframe/reference.md': 'gdevelop5/extensions/iframe/index.md' - 'gdevelop5/extensions/in-app-purchase/reference.md': 'gdevelop5/extensions/in-app-purchase/index.md' - 'gdevelop5/extensions/input-validation/reference.md': 'gdevelop5/extensions/input-validation/index.md' - 'gdevelop5/extensions/internet-connectivity/reference.md': 'gdevelop5/extensions/internet-connectivity/index.md' - 'gdevelop5/extensions/is-on-screen/reference.md': 'gdevelop5/extensions/is-on-screen/index.md' - 'gdevelop5/extensions/jsonresource-loader/reference.md': 'gdevelop5/extensions/jsonresource-loader/index.md' - 'gdevelop5/extensions/konami-code/reference.md': 'gdevelop5/extensions/konami-code/index.md' - 'gdevelop5/extensions/language/reference.md': 'gdevelop5/extensions/language/index.md' - 'gdevelop5/extensions/linear-movement/reference.md': 'gdevelop5/extensions/linear-movement/index.md' - 'gdevelop5/extensions/link-tools/reference.md': 'gdevelop5/extensions/link-tools/index.md' - 'gdevelop5/extensions/load-image-from-url/reference.md': 'gdevelop5/extensions/load-image-from-url/index.md' - 'gdevelop5/extensions/magnetic-effect/reference.md': 'gdevelop5/extensions/magnetic-effect/index.md' - 'gdevelop5/extensions/make-it-rain/reference.md': 'gdevelop5/extensions/make-it-rain/index.md' - 'gdevelop5/extensions/marching-squares/reference.md': 'gdevelop5/extensions/marching-squares/index.md' - 'gdevelop5/extensions/mouse-helper/reference.md': 'gdevelop5/extensions/mouse-helper/index.md' - 'gdevelop5/extensions/mouse-pointer-lock/reference.md': 'gdevelop5/extensions/mouse-pointer-lock/index.md' - 'gdevelop5/extensions/mqtt/reference.md': 'gdevelop5/extensions/mqtt/index.md' - 'gdevelop5/extensions/multitouch-joystick/reference.md': 'gdevelop5/extensions/multitouch-joystick/index.md' - 'gdevelop5/extensions/nav-mesh-pathfinding/reference.md': 'gdevelop5/extensions/nav-mesh-pathfinding/index.md' - 'gdevelop5/extensions/newgrounds-api/reference.md': 'gdevelop5/extensions/newgrounds-api/index.md' - 'gdevelop5/extensions/noise/reference.md': 'gdevelop5/extensions/noise/index.md' - 'gdevelop5/extensions/object-picking-tools/reference.md': 'gdevelop5/extensions/object-picking-tools/index.md' - 'gdevelop5/extensions/object-slicer/reference.md': 'gdevelop5/extensions/object-slicer/index.md' - 'gdevelop5/extensions/object-spawner/reference.md': 'gdevelop5/extensions/object-spawner/index.md' - 'gdevelop5/extensions/object-stack/reference.md': 'gdevelop5/extensions/object-stack/index.md' - 'gdevelop5/extensions/orbiting-objects/reference.md': 'gdevelop5/extensions/orbiting-objects/index.md' - 'gdevelop5/extensions/panel-sprite-button/reference.md': 'gdevelop5/extensions/panel-sprite-button/index.md' - 'gdevelop5/extensions/panel-sprite-continuous-bar/reference.md': 'gdevelop5/extensions/panel-sprite-continuous-bar/index.md' - 'gdevelop5/extensions/panel-sprite-slider/reference.md': 'gdevelop5/extensions/panel-sprite-slider/index.md' - 'gdevelop5/extensions/parallax/reference.md': 'gdevelop5/extensions/parallax/index.md' - 'gdevelop5/extensions/pause-focus-lost/reference.md': 'gdevelop5/extensions/pause-focus-lost/index.md' - 'gdevelop5/extensions/pinch-gesture/reference.md': 'gdevelop5/extensions/pinch-gesture/index.md' - 'gdevelop5/extensions/pixel-perfect-movement/reference.md': 'gdevelop5/extensions/pixel-perfect-movement/index.md' - 'gdevelop5/extensions/platform-ledge-grabber/reference.md': 'gdevelop5/extensions/platform-ledge-grabber/index.md' - 'gdevelop5/extensions/platformer-character-animator/reference.md': 'gdevelop5/extensions/platformer-character-animator/index.md' - 'gdevelop5/extensions/platformer-trajectory/reference.md': 'gdevelop5/extensions/platformer-trajectory/index.md' - 'gdevelop5/extensions/point-and-orbit/reference.md': 'gdevelop5/extensions/point-and-orbit/index.md' - 'gdevelop5/extensions/pop-up/reference.md': 'gdevelop5/extensions/pop-up/index.md' - 'gdevelop5/extensions/pushable-and-pullable-box/reference.md': 'gdevelop5/extensions/pushable-and-pullable-box/index.md' - 'gdevelop5/extensions/pushable-box/reference.md': 'gdevelop5/extensions/pushable-box/index.md' - 'gdevelop5/extensions/random-color/reference.md': 'gdevelop5/extensions/random-color/index.md' - 'gdevelop5/extensions/read-pixels/reference.md': 'gdevelop5/extensions/read-pixels/index.md' - 'gdevelop5/extensions/recolorizer/reference.md': 'gdevelop5/extensions/recolorizer/index.md' - 'gdevelop5/extensions/record/reference.md': 'gdevelop5/extensions/record/index.md' - 'gdevelop5/extensions/record-movements/reference.md': 'gdevelop5/extensions/record-movements/index.md' - 'gdevelop5/extensions/rectangle-movement/reference.md': 'gdevelop5/extensions/rectangle-movement/index.md' - 'gdevelop5/extensions/rectangular-flood-fill/reference.md': 'gdevelop5/extensions/rectangular-flood-fill/index.md' - 'gdevelop5/extensions/rectangular-movement/reference.md': 'gdevelop5/extensions/rectangular-movement/index.md' - 'gdevelop5/extensions/references/reference.md': 'gdevelop5/extensions/references/index.md' - 'gdevelop5/extensions/reflection/reference.md': 'gdevelop5/extensions/reflection/index.md' - 'gdevelop5/extensions/reg-ex/reference.md': 'gdevelop5/extensions/reg-ex/index.md' - 'gdevelop5/extensions/render-to-sprite/reference.md': 'gdevelop5/extensions/render-to-sprite/index.md' - 'gdevelop5/extensions/repeat-every-xseconds/reference.md': 'gdevelop5/extensions/repeat-every-xseconds/index.md' - 'gdevelop5/extensions/room-based-camera-movement/reference.md': 'gdevelop5/extensions/room-based-camera-movement/index.md' - 'gdevelop5/extensions/rotate13/reference.md': 'gdevelop5/extensions/rotate13/index.md' - 'gdevelop5/extensions/rtsunit-selection/reference.md': 'gdevelop5/extensions/rtsunit-selection/index.md' - 'gdevelop5/extensions/screen-wrap/reference.md': 'gdevelop5/extensions/screen-wrap/index.md' - 'gdevelop5/extensions/shadow-clones/reference.md': 'gdevelop5/extensions/shadow-clones/index.md' - 'gdevelop5/extensions/shake-object/reference.md': 'gdevelop5/extensions/shake-object/index.md' - 'gdevelop5/extensions/sine-movement/reference.md': 'gdevelop5/extensions/sine-movement/index.md' - 'gdevelop5/extensions/smooth-camera/reference.md': 'gdevelop5/extensions/smooth-camera/index.md' - 'gdevelop5/extensions/snap-to-grid/reference.md': 'gdevelop5/extensions/snap-to-grid/index.md' - 'gdevelop5/extensions/sound-volume-based-on-distance/reference.md': 'gdevelop5/extensions/sound-volume-based-on-distance/index.md' - 'gdevelop5/extensions/speed-restrictions/reference.md': 'gdevelop5/extensions/speed-restrictions/index.md' - 'gdevelop5/extensions/sprite-based-lighting/reference.md': 'gdevelop5/extensions/sprite-based-lighting/index.md' - 'gdevelop5/extensions/sprite-masking/reference.md': 'gdevelop5/extensions/sprite-masking/index.md' - 'gdevelop5/extensions/sprite-multitouch-joystick/reference.md': 'gdevelop5/extensions/sprite-multitouch-joystick/index.md' - 'gdevelop5/extensions/sprite-sheet/reference.md': 'gdevelop5/extensions/sprite-sheet/index.md' - 'gdevelop5/extensions/sprite-toggle-switch/reference.md': 'gdevelop5/extensions/sprite-toggle-switch/index.md' - 'gdevelop5/extensions/star-rating/reference.md': 'gdevelop5/extensions/star-rating/index.md' - 'gdevelop5/extensions/stay-on-screen/reference.md': 'gdevelop5/extensions/stay-on-screen/index.md' - 'gdevelop5/extensions/sticker/reference.md': 'gdevelop5/extensions/sticker/index.md' - 'gdevelop5/extensions/sway/reference.md': 'gdevelop5/extensions/sway/index.md' - 'gdevelop5/extensions/swipe-gesture/reference.md': 'gdevelop5/extensions/swipe-gesture/index.md' - 'gdevelop5/extensions/text-entry-console/reference.md': 'gdevelop5/extensions/text-entry-console/index.md' - 'gdevelop5/extensions/text-entry-virtual-keyboard/reference.md': 'gdevelop5/extensions/text-entry-virtual-keyboard/index.md' - 'gdevelop5/extensions/text-to-speech/reference.md': 'gdevelop5/extensions/text-to-speech/index.md' - 'gdevelop5/extensions/three-dflip/reference.md': 'gdevelop5/extensions/three-dflip/index.md' - 'gdevelop5/extensions/tiled-units-bar/reference.md': 'gdevelop5/extensions/tiled-units-bar/index.md' - 'gdevelop5/extensions/time-detector/reference.md': 'gdevelop5/extensions/time-detector/index.md' - 'gdevelop5/extensions/time-formatter/reference.md': 'gdevelop5/extensions/time-formatter/index.md' - 'gdevelop5/extensions/timed-back-and-forth-movement/reference.md': 'gdevelop5/extensions/timed-back-and-forth-movement/index.md' - 'gdevelop5/extensions/toggle-switch/reference.md': 'gdevelop5/extensions/toggle-switch/index.md' - 'gdevelop5/extensions/top-down-corner-sliding/reference.md': 'gdevelop5/extensions/top-down-corner-sliding/index.md' - 'gdevelop5/extensions/trampoline-platform/reference.md': 'gdevelop5/extensions/trampoline-platform/index.md' - 'gdevelop5/extensions/travel-to-random-positions/reference.md': 'gdevelop5/extensions/travel-to-random-positions/index.md' - 'gdevelop5/extensions/turret/reference.md': 'gdevelop5/extensions/turret/index.md' - 'gdevelop5/extensions/tween-zorder/reference.md': 'gdevelop5/extensions/tween-zorder/index.md' - 'gdevelop5/extensions/unicode-conversion/reference.md': 'gdevelop5/extensions/unicode-conversion/index.md' - 'gdevelop5/extensions/update-checker/reference.md': 'gdevelop5/extensions/update-checker/index.md' - 'gdevelop5/extensions/upload-download-text-file/reference.md': 'gdevelop5/extensions/upload-download-text-file/index.md' - 'gdevelop5/extensions/urltools/reference.md': 'gdevelop5/extensions/urltools/index.md' - 'gdevelop5/extensions/uuid/reference.md': 'gdevelop5/extensions/uuid/index.md' - 'gdevelop5/extensions/values-of-multiple-objects/reference.md': 'gdevelop5/extensions/values-of-multiple-objects/index.md' - 'gdevelop5/extensions/voice-recognition/reference.md': 'gdevelop5/extensions/voice-recognition/index.md' - 'gdevelop5/extensions/web-socket-client/reference.md': 'gdevelop5/extensions/web-socket-client/index.md' - 'gdevelop5/extensions/ygame-sdk/reference.md': 'gdevelop5/extensions/ygame-sdk/index.md' - 'gdevelop5/extensions/ysort/reference.md': 'gdevelop5/extensions/ysort/index.md' - 'gdevelop5/tutorials/storage-action-explained.md': 'gdevelop5/all-features/storage/index.md' - 'gdevelop5/draft/schools.md': 'gdevelop5/getting_started/batch-install-gdevelop-company-university/index.md' + - search + # Allow to customize navigation with `.pages` files: + - awesome-pages + # Redirect old pages: + - redirects: + redirect_maps: + "gdevelop5/start.md": "gdevelop5/index.md" + "fr/gdevelop5/start.md": "gdevelop5/index.md" + "es/gdevelop5/start.md": "gdevelop5/index.md" + "ru/gdevelop5/start.md": "gdevelop5/index.md" + "pt/gdevelop5/start.md": "gdevelop5/index.md" + "de/gdevelop5/start.md": "gdevelop5/index.md" + "zh/gdevelop5/start.md": "gdevelop5/index.md" + "pl/gdevelop5/start.md": "gdevelop5/index.md" + "sl/gdevelop5/start.md": "gdevelop5/index.md" + "gdevelop5/extending-gdevelop.md": "gdevelop5/community/contribute-to-gdevelop-code.md" + "gdevelop5/extensions/extend-gdevelop.md": "gdevelop5/community/contribute-to-gdevelop-code.md" + "gdevelop5/all-features/functions.md": "gdevelop5/all-features/expressions-reference.md" + "gdevelop5/all-features/timers.md": "gdevelop5/all-features/timers-and-time/index.md" + "gdevelop5/objects/how-to-rotate-objects.md": "gdevelop5/tutorials/how-to-rotate-objects/index.md" + "gdevelop5/objects/admob.md": "gdevelop5/all-features/admob/index.md" + "gdevelop5/objects/base_object/events.md": "gdevelop5/objects/index.md" + "gdevelop5/objects/base_object/index.md": "gdevelop5/objects/index.md" + "gdevelop5/extensions/list.md": "gdevelop5/extensions/index.md" + "gdevelop5/publishing/android_and_ios/index.md": "gdevelop5/publishing/android/index.md" + "gdevelop5/publishing/android_and_ios/play-store/index.md": "gdevelop5/publishing/android/play-store/index.md" + "gdevelop5/publishing/android_and_ios/play-store/upgrading-from-apk-to-aab.md": "gdevelop5/publishing/android/play-store/upgrading-from-apk-to-aab.md" + # Tutorials + "gdevelop5/tutorials/platformer/start.md": "gdevelop5/tutorials/platformer/index.md" + "gdevelop5/tutorials/asteroids/start.md": "gdevelop5/tutorials/asteroids/index.md" + "gdevelop5/tutorials/platform-game/start.md": "gdevelop5/tutorials/platform-game/index.md" + "fr/gdevelop5/tutorials/platform-game/start.md": "gdevelop5/tutorials/platform-game/index.md" + "pt/gdevelop5/tutorials/platform-game/start.md": "gdevelop5/tutorials/platform-game/index.md" + "fr/gdevelop5/tutorials/isometric-rpg/start.md": "gdevelop5/tutorials/index.md" + "es/gdevelop5/tutorials/platformer/start.md": "gdevelop5/tutorials/platformer/index.md" + "ja/gdevelop5/tutorials/platformer/start.md": "gdevelop5/tutorials/platformer/index.md" + # Extensions reference pages from old wiki were transferred to index pages + "gdevelop5/extensions/advanced-jump/reference.md": "gdevelop5/extensions/advanced-jump/index.md" + "gdevelop5/extensions/advanced-p2pevent-handling/reference.md": "gdevelop5/extensions/advanced-p2pevent-handling/index.md" + "gdevelop5/extensions/align-object/reference.md": "gdevelop5/extensions/align-object/index.md" + "gdevelop5/extensions/animated-back-and-forth-movement/reference.md": "gdevelop5/extensions/animated-back-and-forth-movement/index.md" + "gdevelop5/extensions/animation-system/reference.md": "gdevelop5/extensions/animation-system/index.md" + "gdevelop5/extensions/array-tools/reference.md": "gdevelop5/extensions/array-tools/index.md" + "gdevelop5/extensions/authorized-platforms-validation/reference.md": "gdevelop5/extensions/authorized-platforms-validation/index.md" + "gdevelop5/extensions/auto-typing/reference.md": "gdevelop5/extensions/auto-typing/index.md" + "gdevelop5/extensions/back-button/reference.md": "gdevelop5/extensions/back-button/index.md" + "gdevelop5/extensions/base-conversion/reference.md": "gdevelop5/extensions/base-conversion/index.md" + "gdevelop5/extensions/behavior-remapper/reference.md": "gdevelop5/extensions/behavior-remapper/index.md" + "gdevelop5/extensions/boids-movement/reference.md": "gdevelop5/extensions/boids-movement/index.md" + "gdevelop5/extensions/boomerang/reference.md": "gdevelop5/extensions/boomerang/index.md" + "gdevelop5/extensions/bounce/reference.md": "gdevelop5/extensions/bounce/index.md" + "gdevelop5/extensions/camera-impulse/reference.md": "gdevelop5/extensions/camera-impulse/index.md" + "gdevelop5/extensions/camera-shake/reference.md": "gdevelop5/extensions/camera-shake/index.md" + "gdevelop5/extensions/camera-zoom/reference.md": "gdevelop5/extensions/camera-zoom/index.md" + "gdevelop5/extensions/cancellable-draggable/reference.md": "gdevelop5/extensions/cancellable-draggable/index.md" + "gdevelop5/extensions/chat-bubble/reference.md": "gdevelop5/extensions/chat-bubble/index.md" + "gdevelop5/extensions/checkbox/reference.md": "gdevelop5/extensions/checkbox/index.md" + "gdevelop5/extensions/checkpoints/reference.md": "gdevelop5/extensions/checkpoints/index.md" + "gdevelop5/extensions/choose/reference.md": "gdevelop5/extensions/choose/index.md" + "gdevelop5/extensions/clipboard/reference.md": "gdevelop5/extensions/clipboard/index.md" + "gdevelop5/extensions/clock/reference.md": "gdevelop5/extensions/clock/index.md" + "gdevelop5/extensions/color-conversion/reference.md": "gdevelop5/extensions/color-conversion/index.md" + "gdevelop5/extensions/compressor/reference.md": "gdevelop5/extensions/compressor/index.md" + "gdevelop5/extensions/copy-camera-settings/reference.md": "gdevelop5/extensions/copy-camera-settings/index.md" + "gdevelop5/extensions/crazy-games-ad-api/reference.md": "gdevelop5/extensions/crazy-games-ad-api/index.md" + "gdevelop5/extensions/create-multiple-copies-of-object/reference.md": "gdevelop5/extensions/create-multiple-copies-of-object/index.md" + "gdevelop5/extensions/crypto-api/reference.md": "gdevelop5/extensions/crypto-api/index.md" + "gdevelop5/extensions/current-game-version/reference.md": "gdevelop5/extensions/current-game-version/index.md" + "gdevelop5/extensions/cursor-movement/reference.md": "gdevelop5/extensions/cursor-movement/index.md" + "gdevelop5/extensions/cursor-type/reference.md": "gdevelop5/extensions/cursor-type/index.md" + "gdevelop5/extensions/curved-movement/reference.md": "gdevelop5/extensions/curved-movement/index.md" + "gdevelop5/extensions/depth-effect/reference.md": "gdevelop5/extensions/depth-effect/index.md" + "gdevelop5/extensions/dialog-box/reference.md": "gdevelop5/extensions/dialog-box/index.md" + "gdevelop5/extensions/discord-rich-presence/reference.md": "gdevelop5/extensions/discord-rich-presence/index.md" + "gdevelop5/extensions/double-click/reference.md": "gdevelop5/extensions/double-click/index.md" + "gdevelop5/extensions/drag-camera-with-pointer/reference.md": "gdevelop5/extensions/drag-camera-with-pointer/index.md" + "gdevelop5/extensions/draggable-physics/reference.md": "gdevelop5/extensions/draggable-physics/index.md" + "gdevelop5/extensions/draggable-slider-control/reference.md": "gdevelop5/extensions/draggable-slider-control/index.md" + "gdevelop5/extensions/draw-pathfinding/reference.md": "gdevelop5/extensions/draw-pathfinding/index.md" + "gdevelop5/extensions/draw-shock-wave-effect/reference.md": "gdevelop5/extensions/draw-shock-wave-effect/index.md" + "gdevelop5/extensions/dungeon-generator/reference.md": "gdevelop5/extensions/dungeon-generator/index.md" + "gdevelop5/extensions/dynamic-water/reference.md": "gdevelop5/extensions/dynamic-water/index.md" + "gdevelop5/extensions/edge-scroll-camera/reference.md": "gdevelop5/extensions/edge-scroll-camera/index.md" + "gdevelop5/extensions/ellipse-movement/reference.md": "gdevelop5/extensions/ellipse-movement/index.md" + "gdevelop5/extensions/emojis/reference.md": "gdevelop5/extensions/emojis/index.md" + "gdevelop5/extensions/explosion-force/reference.md": "gdevelop5/extensions/explosion-force/index.md" + "gdevelop5/extensions/extended-math/reference.md": "gdevelop5/extensions/extended-math/index.md" + "gdevelop5/extensions/extended-variables/reference.md": "gdevelop5/extensions/extended-variables/index.md" + "gdevelop5/extensions/extra-inventory/reference.md": "gdevelop5/extensions/extra-inventory/index.md" + "gdevelop5/extensions/face-forward/reference.md": "gdevelop5/extensions/face-forward/index.md" + "gdevelop5/extensions/fire-bullet/reference.md": "gdevelop5/extensions/fire-bullet/index.md" + "gdevelop5/extensions/flash/reference.md": "gdevelop5/extensions/flash/index.md" + "gdevelop5/extensions/flash-layer/reference.md": "gdevelop5/extensions/flash-layer/index.md" + "gdevelop5/extensions/flash-transition-painter/reference.md": "gdevelop5/extensions/flash-transition-painter/index.md" + "gdevelop5/extensions/flex-box/reference.md": "gdevelop5/extensions/flex-box/index.md" + "gdevelop5/extensions/flip-gravity/reference.md": "gdevelop5/extensions/flip-gravity/index.md" + "gdevelop5/extensions/follow-objects-with-camera/reference.md": "gdevelop5/extensions/follow-objects-with-camera/index.md" + "gdevelop5/extensions/fps/reference.md": "gdevelop5/extensions/fps/index.md" + "gdevelop5/extensions/gamepads/reference.md": "gdevelop5/extensions/gamepads/index.md" + "gdevelop5/extensions/geolocation/reference.md": "gdevelop5/extensions/geolocation/index.md" + "gdevelop5/extensions/get-properties-data/reference.md": "gdevelop5/extensions/get-properties-data/index.md" + "gdevelop5/extensions/has-landed/reference.md": "gdevelop5/extensions/has-landed/index.md" + "gdevelop5/extensions/hash/reference.md": "gdevelop5/extensions/hash/index.md" + "gdevelop5/extensions/health/reference.md": "gdevelop5/extensions/health/index.md" + "gdevelop5/extensions/hexagonal-grid/reference.md": "gdevelop5/extensions/hexagonal-grid/index.md" + "gdevelop5/extensions/homing-projectile/reference.md": "gdevelop5/extensions/homing-projectile/index.md" + "gdevelop5/extensions/idle-tracker/reference.md": "gdevelop5/extensions/idle-tracker/index.md" + "gdevelop5/extensions/iframe/reference.md": "gdevelop5/extensions/iframe/index.md" + "gdevelop5/extensions/in-app-purchase/reference.md": "gdevelop5/extensions/in-app-purchase/index.md" + "gdevelop5/extensions/input-validation/reference.md": "gdevelop5/extensions/input-validation/index.md" + "gdevelop5/extensions/internet-connectivity/reference.md": "gdevelop5/extensions/internet-connectivity/index.md" + "gdevelop5/extensions/is-on-screen/reference.md": "gdevelop5/extensions/is-on-screen/index.md" + "gdevelop5/extensions/jsonresource-loader/reference.md": "gdevelop5/extensions/jsonresource-loader/index.md" + "gdevelop5/extensions/konami-code/reference.md": "gdevelop5/extensions/konami-code/index.md" + "gdevelop5/extensions/language/reference.md": "gdevelop5/extensions/language/index.md" + "gdevelop5/extensions/linear-movement/reference.md": "gdevelop5/extensions/linear-movement/index.md" + "gdevelop5/extensions/link-tools/reference.md": "gdevelop5/extensions/link-tools/index.md" + "gdevelop5/extensions/load-image-from-url/reference.md": "gdevelop5/extensions/load-image-from-url/index.md" + "gdevelop5/extensions/magnetic-effect/reference.md": "gdevelop5/extensions/magnetic-effect/index.md" + "gdevelop5/extensions/make-it-rain/reference.md": "gdevelop5/extensions/make-it-rain/index.md" + "gdevelop5/extensions/marching-squares/reference.md": "gdevelop5/extensions/marching-squares/index.md" + "gdevelop5/extensions/mouse-helper/reference.md": "gdevelop5/extensions/mouse-helper/index.md" + "gdevelop5/extensions/mouse-pointer-lock/reference.md": "gdevelop5/extensions/mouse-pointer-lock/index.md" + "gdevelop5/extensions/mqtt/reference.md": "gdevelop5/extensions/mqtt/index.md" + "gdevelop5/extensions/multitouch-joystick/reference.md": "gdevelop5/extensions/multitouch-joystick/index.md" + "gdevelop5/extensions/nav-mesh-pathfinding/reference.md": "gdevelop5/extensions/nav-mesh-pathfinding/index.md" + "gdevelop5/extensions/newgrounds-api/reference.md": "gdevelop5/extensions/newgrounds-api/index.md" + "gdevelop5/extensions/noise/reference.md": "gdevelop5/extensions/noise/index.md" + "gdevelop5/extensions/object-picking-tools/reference.md": "gdevelop5/extensions/object-picking-tools/index.md" + "gdevelop5/extensions/object-slicer/reference.md": "gdevelop5/extensions/object-slicer/index.md" + "gdevelop5/extensions/object-spawner/reference.md": "gdevelop5/extensions/object-spawner/index.md" + "gdevelop5/extensions/object-stack/reference.md": "gdevelop5/extensions/object-stack/index.md" + "gdevelop5/extensions/orbiting-objects/reference.md": "gdevelop5/extensions/orbiting-objects/index.md" + "gdevelop5/extensions/panel-sprite-button/reference.md": "gdevelop5/extensions/panel-sprite-button/index.md" + "gdevelop5/extensions/panel-sprite-continuous-bar/reference.md": "gdevelop5/extensions/panel-sprite-continuous-bar/index.md" + "gdevelop5/extensions/panel-sprite-slider/reference.md": "gdevelop5/extensions/panel-sprite-slider/index.md" + "gdevelop5/extensions/parallax/reference.md": "gdevelop5/extensions/parallax/index.md" + "gdevelop5/extensions/pause-focus-lost/reference.md": "gdevelop5/extensions/pause-focus-lost/index.md" + "gdevelop5/extensions/pinch-gesture/reference.md": "gdevelop5/extensions/pinch-gesture/index.md" + "gdevelop5/extensions/pixel-perfect-movement/reference.md": "gdevelop5/extensions/pixel-perfect-movement/index.md" + "gdevelop5/extensions/platform-ledge-grabber/reference.md": "gdevelop5/extensions/platform-ledge-grabber/index.md" + "gdevelop5/extensions/platformer-character-animator/reference.md": "gdevelop5/extensions/platformer-character-animator/index.md" + "gdevelop5/extensions/platformer-trajectory/reference.md": "gdevelop5/extensions/platformer-trajectory/index.md" + "gdevelop5/extensions/point-and-orbit/reference.md": "gdevelop5/extensions/point-and-orbit/index.md" + "gdevelop5/extensions/pop-up/reference.md": "gdevelop5/extensions/pop-up/index.md" + "gdevelop5/extensions/pushable-and-pullable-box/reference.md": "gdevelop5/extensions/pushable-and-pullable-box/index.md" + "gdevelop5/extensions/pushable-box/reference.md": "gdevelop5/extensions/pushable-box/index.md" + "gdevelop5/extensions/random-color/reference.md": "gdevelop5/extensions/random-color/index.md" + "gdevelop5/extensions/read-pixels/reference.md": "gdevelop5/extensions/read-pixels/index.md" + "gdevelop5/extensions/recolorizer/reference.md": "gdevelop5/extensions/recolorizer/index.md" + "gdevelop5/extensions/record/reference.md": "gdevelop5/extensions/record/index.md" + "gdevelop5/extensions/record-movements/reference.md": "gdevelop5/extensions/record-movements/index.md" + "gdevelop5/extensions/rectangle-movement/reference.md": "gdevelop5/extensions/rectangle-movement/index.md" + "gdevelop5/extensions/rectangular-flood-fill/reference.md": "gdevelop5/extensions/rectangular-flood-fill/index.md" + "gdevelop5/extensions/rectangular-movement/reference.md": "gdevelop5/extensions/rectangular-movement/index.md" + "gdevelop5/extensions/references/reference.md": "gdevelop5/extensions/references/index.md" + "gdevelop5/extensions/reflection/reference.md": "gdevelop5/extensions/reflection/index.md" + "gdevelop5/extensions/reg-ex/reference.md": "gdevelop5/extensions/reg-ex/index.md" + "gdevelop5/extensions/render-to-sprite/reference.md": "gdevelop5/extensions/render-to-sprite/index.md" + "gdevelop5/extensions/repeat-every-xseconds/reference.md": "gdevelop5/extensions/repeat-every-xseconds/index.md" + "gdevelop5/extensions/room-based-camera-movement/reference.md": "gdevelop5/extensions/room-based-camera-movement/index.md" + "gdevelop5/extensions/rotate13/reference.md": "gdevelop5/extensions/rotate13/index.md" + "gdevelop5/extensions/rtsunit-selection/reference.md": "gdevelop5/extensions/rtsunit-selection/index.md" + "gdevelop5/extensions/screen-wrap/reference.md": "gdevelop5/extensions/screen-wrap/index.md" + "gdevelop5/extensions/shadow-clones/reference.md": "gdevelop5/extensions/shadow-clones/index.md" + "gdevelop5/extensions/shake-object/reference.md": "gdevelop5/extensions/shake-object/index.md" + "gdevelop5/extensions/sine-movement/reference.md": "gdevelop5/extensions/sine-movement/index.md" + "gdevelop5/extensions/smooth-camera/reference.md": "gdevelop5/extensions/smooth-camera/index.md" + "gdevelop5/extensions/snap-to-grid/reference.md": "gdevelop5/extensions/snap-to-grid/index.md" + "gdevelop5/extensions/sound-volume-based-on-distance/reference.md": "gdevelop5/extensions/sound-volume-based-on-distance/index.md" + "gdevelop5/extensions/speed-restrictions/reference.md": "gdevelop5/extensions/speed-restrictions/index.md" + "gdevelop5/extensions/sprite-based-lighting/reference.md": "gdevelop5/extensions/sprite-based-lighting/index.md" + "gdevelop5/extensions/sprite-masking/reference.md": "gdevelop5/extensions/sprite-masking/index.md" + "gdevelop5/extensions/sprite-multitouch-joystick/reference.md": "gdevelop5/extensions/sprite-multitouch-joystick/index.md" + "gdevelop5/extensions/sprite-sheet/reference.md": "gdevelop5/extensions/sprite-sheet/index.md" + "gdevelop5/extensions/sprite-toggle-switch/reference.md": "gdevelop5/extensions/sprite-toggle-switch/index.md" + "gdevelop5/extensions/star-rating/reference.md": "gdevelop5/extensions/star-rating/index.md" + "gdevelop5/extensions/stay-on-screen/reference.md": "gdevelop5/extensions/stay-on-screen/index.md" + "gdevelop5/extensions/sticker/reference.md": "gdevelop5/extensions/sticker/index.md" + "gdevelop5/extensions/sway/reference.md": "gdevelop5/extensions/sway/index.md" + "gdevelop5/extensions/swipe-gesture/reference.md": "gdevelop5/extensions/swipe-gesture/index.md" + "gdevelop5/extensions/text-entry-console/reference.md": "gdevelop5/extensions/text-entry-console/index.md" + "gdevelop5/extensions/text-entry-virtual-keyboard/reference.md": "gdevelop5/extensions/text-entry-virtual-keyboard/index.md" + "gdevelop5/extensions/text-to-speech/reference.md": "gdevelop5/extensions/text-to-speech/index.md" + "gdevelop5/extensions/three-dflip/reference.md": "gdevelop5/extensions/three-dflip/index.md" + "gdevelop5/extensions/tiled-units-bar/reference.md": "gdevelop5/extensions/tiled-units-bar/index.md" + "gdevelop5/extensions/time-detector/reference.md": "gdevelop5/extensions/time-detector/index.md" + "gdevelop5/extensions/time-formatter/reference.md": "gdevelop5/extensions/time-formatter/index.md" + "gdevelop5/extensions/timed-back-and-forth-movement/reference.md": "gdevelop5/extensions/timed-back-and-forth-movement/index.md" + "gdevelop5/extensions/toggle-switch/reference.md": "gdevelop5/extensions/toggle-switch/index.md" + "gdevelop5/extensions/top-down-corner-sliding/reference.md": "gdevelop5/extensions/top-down-corner-sliding/index.md" + "gdevelop5/extensions/trampoline-platform/reference.md": "gdevelop5/extensions/trampoline-platform/index.md" + "gdevelop5/extensions/travel-to-random-positions/reference.md": "gdevelop5/extensions/travel-to-random-positions/index.md" + "gdevelop5/extensions/turret/reference.md": "gdevelop5/extensions/turret/index.md" + "gdevelop5/extensions/tween-zorder/reference.md": "gdevelop5/extensions/tween-zorder/index.md" + "gdevelop5/extensions/unicode-conversion/reference.md": "gdevelop5/extensions/unicode-conversion/index.md" + "gdevelop5/extensions/update-checker/reference.md": "gdevelop5/extensions/update-checker/index.md" + "gdevelop5/extensions/upload-download-text-file/reference.md": "gdevelop5/extensions/upload-download-text-file/index.md" + "gdevelop5/extensions/urltools/reference.md": "gdevelop5/extensions/urltools/index.md" + "gdevelop5/extensions/uuid/reference.md": "gdevelop5/extensions/uuid/index.md" + "gdevelop5/extensions/values-of-multiple-objects/reference.md": "gdevelop5/extensions/values-of-multiple-objects/index.md" + "gdevelop5/extensions/voice-recognition/reference.md": "gdevelop5/extensions/voice-recognition/index.md" + "gdevelop5/extensions/web-socket-client/reference.md": "gdevelop5/extensions/web-socket-client/index.md" + "gdevelop5/extensions/ygame-sdk/reference.md": "gdevelop5/extensions/ygame-sdk/index.md" + "gdevelop5/extensions/ysort/reference.md": "gdevelop5/extensions/ysort/index.md" + "gdevelop5/tutorials/storage-action-explained.md": "gdevelop5/all-features/storage/index.md" + "gdevelop5/draft/schools.md": "gdevelop5/getting_started/batch-install-gdevelop-company-university/index.md" + # Redirection from translated pages to English pages, after introducing the translate button + "de/index.md": "index.md" + "es/index.md": "index.md" + "fr/index.md": "index.md" + "hi/index.md": "index.md" + "ja/index.md": "index.md" + "ko/index.md": "index.md" + "nl/index.md": "index.md" + "pl/index.md": "index.md" + "pt/index.md": "index.md" + "ru/index.md": "index.md" + "sl/index.md": "index.md" + "zh/index.md": "index.md" + "de/gdevelop5/index.md": "gdevelop5/index.md" + "es/gdevelop5/index.md": "gdevelop5/index.md" + "fr/gdevelop5/index.md": "gdevelop5/index.md" + "hi/gdevelop5/index.md": "gdevelop5/index.md" + "ja/gdevelop5/index.md": "gdevelop5/index.md" + "ko/gdevelop5/index.md": "gdevelop5/index.md" + "nl/gdevelop5/index.md": "gdevelop5/index.md" + "pl/gdevelop5/index.md": "gdevelop5/index.md" + "pt/gdevelop5/index.md": "gdevelop5/index.md" + "ru/gdevelop5/index.md": "gdevelop5/index.md" + "sl/gdevelop5/index.md": "gdevelop5/index.md" + "zh/gdevelop5/index.md": "gdevelop5/index.md" + "de/gdevelop5/tutorials/index.md": "gdevelop5/tutorials/index.md" + "es/gdevelop5/tutorials/index.md": "gdevelop5/tutorials/index.md" + "fr/gdevelop5/tutorials/index.md": "gdevelop5/tutorials/index.md" + "hi/gdevelop5/tutorials/index.md": "gdevelop5/tutorials/index.md" + "ja/gdevelop5/tutorials/index.md": "gdevelop5/tutorials/index.md" + "ko/gdevelop5/tutorials/index.md": "gdevelop5/tutorials/index.md" + "nl/gdevelop5/tutorials/index.md": "gdevelop5/tutorials/index.md" + "pl/gdevelop5/tutorials/index.md": "gdevelop5/tutorials/index.md" + "pt/gdevelop5/tutorials/index.md": "gdevelop5/tutorials/index.md" + "ru/gdevelop5/tutorials/index.md": "gdevelop5/tutorials/index.md" + "sl/gdevelop5/tutorials/index.md": "gdevelop5/tutorials/index.md" + "zh/gdevelop5/tutorials/index.md": "gdevelop5/tutorials/index.md" + "de/gdevelop5/getting_started/index.md": "gdevelop5/getting_started/index.md" + "es/gdevelop5/getting_started/index.md": "gdevelop5/getting_started/index.md" + "fr/gdevelop5/getting_started/index.md": "gdevelop5/getting_started/index.md" + "hi/gdevelop5/getting_started/index.md": "gdevelop5/getting_started/index.md" + "ja/gdevelop5/getting_started/index.md": "gdevelop5/getting_started/index.md" + "ko/gdevelop5/getting_started/index.md": "gdevelop5/getting_started/index.md" + "nl/gdevelop5/getting_started/index.md": "gdevelop5/getting_started/index.md" + "pl/gdevelop5/getting_started/index.md": "gdevelop5/getting_started/index.md" + "pt/gdevelop5/getting_started/index.md": "gdevelop5/getting_started/index.md" + "ru/gdevelop5/getting_started/index.md": "gdevelop5/getting_started/index.md" + "sl/gdevelop5/getting_started/index.md": "gdevelop5/getting_started/index.md" + "zh/gdevelop5/getting_started/index.md": "gdevelop5/getting_started/index.md" + "es/gdevelop5/tutorials/platformer/index.md": "gdevelop5/tutorials/platformer/index.md" + "es/gdevelop5/publishing/web.md": "gdevelop5/publishing/web.md" + "es/gdevelop5/tutorials/platform-game/7-checkpoints.md": "gdevelop5/tutorials/platform-game/7-checkpoints.md" + "fr/gdevelop5/tutorials/basic-game-making-concepts/index.md": "gdevelop5/tutorials/basic-game-making-concepts/index.md" + "ja/gdevelop5/behaviors/physics2/index.md": "gdevelop5/behaviors/physics2/index.md" + "es/gdevelop5/behaviors/topdown/index.md": "gdevelop5/behaviors/topdown/index.md" + "es/gdevelop5/all-features/collisions/index.md": "gdevelop5/all-features/collisions/index.md" + "ja/gdevelop5/tutorials/endless-runner/index.md": "gdevelop5/tutorials/endless-runner/index.md" + "ja/gdevelop5/tutorials/basic-game-making-concepts/index.md": "gdevelop5/tutorials/basic-game-making-concepts/index.md" + "fr/gdevelop5/publishing/publishing-to-itch-io.md": "gdevelop5/publishing/publishing-to-itch-io.md" + "es/gdevelop5/behaviors/platformer/index.md": "gdevelop5/behaviors/platformer/index.md" + "ja/gdevelop5/publishing/android_and_ios.md": "gdevelop5/publishing/android_and_ios_with_cordova.md" diff --git a/overrides/404.html b/overrides/404.html index cd19dc41ef2..05aad28e165 100644 --- a/overrides/404.html +++ b/overrides/404.html @@ -1,10 +1,16 @@ - {% extends "main.html" %} {% block content %} -

This page was not found (404)

-

The link you followed seems broken or the page does not exist.

+

This page was not found (404)

+

This page does not exist or has been moved!

+

+ If you're trying to find a translated page, go back to the homepage and use + the Translate button at the top before navigating to your page again! +

-

If you want to create a new page at this address, click here. -{% endblock %} +

+ + Go back to the homepage. {% endblock %} +

diff --git a/overrides/main.html b/overrides/main.html index efb2c5faaaf..55c58dac62f 100644 --- a/overrides/main.html +++ b/overrides/main.html @@ -1,17 +1,24 @@ -{% extends "base.html" %} {% block extrahead %} +{% extends "base.html" %} +{% block extrahead %} -{% endblock %} {% block scripts %} +{% endblock %} + +{% block scripts %} {{ super() }} - + {% endblock %} diff --git a/overrides/partials/search.html b/overrides/partials/search.html index 06f867b9822..c96b8f26c1f 100644 --- a/overrides/partials/search.html +++ b/overrides/partials/search.html @@ -1 +1 @@ -
\ No newline at end of file +