Référence du langage GameMaker Studio 2


Cette section du manuel est un guide de référence pour le langage GML ( GameMaker Studio 2 Language). Vous pouvez trouver toutes les fonctions disponibles documentées ici avec les arguments requis et des exemples de code pour montrer comment ils peuvent être utilisés. Pour plus d'informations sur l'utilisation de GML, reportez-vous à la section GML Overview du manuel.

Les sections suivantes expliquent les fonctions dont vous disposez pour manipuler les différentes ressources de votre projet, y compris la création de nouvelles ressources dynamiques ou la modification et la modification de celles qui sont ajoutées dans votre jeu via l'arborescence des ressources.

Sprites

  1. Fonctions générales de sprites
  2. Sprites d'animation squelette

l'audio

  1. Fonctions audio générales
  2. Émetteurs audio
  3. Auditeurs audio
  4. Groupes audio
  5. Tampons audio
  6. Synchronisation audio

Chemins

  1. Fonctions de chemin générales
  2. Changer de chemin
  3. Informations sur le chemin

Scripts


Shaders

  1. Fonctions Shader
  2. Constantes de shader

Polices


Timelines


Instances

  1. Variables d'instance
  2. Fonctions d'instance
  3. Désactivation d'instances

Pièces

  1. Général
  2. Couches
  3. Arrière-plans
  4. Sprites
  5. Tilemaps

Il y a deux fonctions supplémentaires liées à la gestion des ressources de jeu. Ces fonctions peuvent être utilisées pour trouver la valeur d'index unique pour une ressource donnée et le type de ressource, ce qui ouvre la porte à la création dynamique de ressources de jeu à partir de chaînes (par exemple):


Cette section contient les fonctions et les variables qui sont toutes liées aux fonctionnalités spécifiques au jeu, comme le chargement / enregistrement ou le redémarrage, etc...


GameMaker Studio 2 propose de nombreuses façons de déplacer des instances dans votre salle de jeu, allant de la définition de vecteurs de vitesse et de direction à la simple "mise" d'une instance à un emplacement spécifique, ainsi qu'à l'utilisation de méthodes plus sophistiquées. découverte. Il existe également un bon nombre de méthodes différentes pour détecter les collisions entre deux instances, et que vous choisirez dépendra largement du type de jeu que vous faites et de la situation exacte dans laquelle vous devez utiliser les fonctions de collision. Les sections suivantes couvrent tous de cela et énumérer toutes les fonctions liées au mouvement, la recherche de chemin et les collisions:

Mouvement


Planification de mouvement


Collisions



Les sections suivantes sont toutes liées aux opérations graphiques d'une manière ou d'une autre, qu'il s'agisse de dessiner quelque chose à l'écran, de manipuler des surfaces ou de créer vos propres caméras ou formats de vertex:

Couleur


Contrôle GPU


Dessiner des formes de base


Dessin de sprites et de carreaux


Texte de dessin


Dessiner et créer des primitives


Surfaces


Particules


Textures


Shaders


Les sections suivantes contiennent toutes les fonctions et les variables intégrées qui sont utilisées pour configurer les caméras de vue, afficher les ports et la fenêtre de jeu, ainsi que définir l' affichage de l' interface graphique pour vos projets de jeu.

Appareils photo


L'écran d'affichage



Il y a plusieurs façons de permettre aux joueurs de contrôler les choses de votre jeu, de l'utilisation du clavier et de la souris à la création de clés virtuelles ou à l'aide de la manette, et ils sont listés dans les sections suivantes:

La saisie au clavier


Entrée de la souris


Entrée du périphérique


Geste d'entrée


Entrée du gamepad


Clés virtuelles



Les structures de données sont essentiellement différentes façons de stocker de grandes quantités de données. Lequel vous utiliserez dépendra entièrement des besoins de la situation et vous devriez lire la page d'introduction de chaque section pour avoir une meilleure idée de comment ils fonctionnent et quand ils peuvent être utilisés:

Structures de données


Stacks DS


Files d'attente DS


Listes DS


Cartes DS


Files d'attente de priorité DS


Grilles DS



Les sections suivantes répertorient les fonctions permettant de travailler avec des variables d'instance et globales ainsi qu'avec des tableaux (notez que les fonctions de variables sont conçues pour convertir du code DnD™ en code GML ou pour une utilisation dans des scripts de compatibilité plus que pour un usage général dans de nouveaux projets):

Fonctions variables


Fonctions de tableau



Les sections suivantes contiennent toutes les fonctions et les variables intégrées utilisées pour travailler avec des chaînes:

Cordes



Les sections suivantes contiennent toutes les fonctions et les variables intégrées utilisées pour travailler avec des valeurs numériques différentes:

Date et l'heure


Fonctions de nombre


Vecteurs


Fonctions matricielles



Les sections suivantes traitent tous de différents aspects de l'implémentation physique de GameMaker Studio 2 Box 2D:

Vue d'ensemble de la physique


Le monde de la physique


Agencements


Les articulations


Les forces


Particules souples


Variables de physique



La section suivante contient toutes les fonctions liées au système d'achat In App (notez que ces fonctions fonctionnent conjointement avec l' événement Asynchrone IAP ):

Dans les achats d'applications



Les sections suivantes contiennent un ensemble de fonctions qui fonctionnent toutes avec, ou déclenchent, les événements asynchrones, y compris les fonctions HTTP, les fonctions Cloud et quelques autres:

Fonctions asynchrones


Facebook


Réalisations et classements



Cette section a toutes les fonctions liées à la création de jeux en réseau (ie: jeux qui communiquent entre eux sur Internet):

La mise en réseau



Cette section a des fonctions spécifiques à la création d'applications web HTML5 ainsi que quelques fonctions web plus générales pour l'ouverture d'URL etc...

Web



GameMaker Studio 2 est entièrement intégré à l' API Steam GameMaker Studio 2 ce qui vous permet de créer vos GameMaker Studio 2 jeux avec cette plate-forme et d'intégrer les différents services offerts dès le premier jour de développement. Voir les sections ci-dessous pour plus d'informations:

L'API Steam


Contenu généré par l'utilisateur Steam



Lors de la création d'un jeu, vous devrez, à un moment donné, stocker des informations sur l'état du jeu dans un fichier. Pour ce faire, GameMaker Studio 2 dispose d'un certain nombre de fonctions différentes, vous permettant de lire et d'écrire des données sur différents types de fichiers:

Présentation du système de fichiers


La gestion des fichiers


Fonctions du système de fichiers


Fichiers INI


Fichiers texte


Fichiers binaires



Les tampons vous permettent d'accéder directement aux zones de mémoire, en ajoutant, en supprimant et en sauvegardant des informations en tant que données brutes. Vous trouverez ci-dessous une explication détaillée de ce que sont les tampons et comment les utiliser ainsi que toutes les fonctions qui s'y rapportent:

Utiliser des tampons


Tampons



Les fonctions de cette section sont spécifiquement destinées à être utilisées avec la cible UWP, et uniquement lorsque vous utilisez UWP pour cibler la Xbox One. Les fonctions vous donnent un accès basique aux fonctionnalités de XBox Live:

Xbox Live



Cette section contient un certain nombre de fonctions qui permettent de faire des choses très spécifiques lors de la création de votre jeu et qui ne correspondent pas exactement à l'un des autres groupes de fonctions de cette page:

Divers



Le débogage de votre code est une partie essentielle de la création de jeux et, mis à part les outils fournis par GameMaker Studio 2 (comme le module de débogage ), il y a aussi quelques fonctions supplémentaires pour vous aider:

Débogage



Veuillez noter qu'il y a certaines fonctions qui ont été ajoutées à l'EDI qui apparaîtront uniquement dans les scripts de compatibilité lorsque vous importez un jeu créé avec une version précédente de GameMaker: Studio. Ces fonctions ne doivent pas être utilisées et sont uniquement conçues pour la compatibilité. La section suivante du manuel répertorie ces fonctions afin que, si vous les voyez, vous sachiez de quoi il s'agit, mais évitez de les utiliser dans vos projets: