Table des matières:
- Exemple de code pour un événement clavier supérieur pour appliquer une force locale
- Exemple de code pour les événements clavier gauche et droit
Vidéo: Faire un platformer 2D avec Unity - Le déplacement 2025
Dans GameMaker: Studio, vous obtenez votre objet défini pour la physique, vous pouvez permettre au joueur de déplacer l'objet autour de la pièce pendant la partie. Les deux sections suivantes montrent comment ajouter un mouvement à un objet et faire tourner un objet vers la gauche ou vers la droite.
Exemple de code pour un événement clavier supérieur pour appliquer une force locale
Pour appliquer une force à un objet afin de le faire bouger, créez un événement clavier haut comme décrit dans la procédure suivante. Suivez simplement ces étapes:
-
Dans l'arborescence Ressource, double-cliquez sur l'objet obj_player ou sur un autre objet pertinent.
La fenêtre Propriétés de l'objet apparaît.
-
Choisissez Ajouter un événement → Clavier → Haut.
Un événement de clavier haut apparaît dans la section Événements.
-
Glissez et déposez une action d'exécution de code depuis l'onglet Contrôle vers la fenêtre Actions.
Une fenêtre de code vide apparaît.
-
Dans la fenêtre de code, tapez le code suivant:
physics_apply_local_force (0, 0, 0, -50);
-
Cliquez sur la coche verte.
La fenêtre de code est enregistrée et fermée.
Ce code utilise le système de coordonnées local pour définir un vecteur de propulsion. Les coordonnées locales sont basées sur le Sprite, où les axes X et Y se rencontrent à l'origine. Ainsi, peu importe la façon dont l'Objet est tourné dans la Pièce, l'origine du Sprite ne change jamais. De cette façon, X = 0, Y = -1 serait toujours juste en dessous du Sprite, comme le montre cette figure.
La première valeur de cette fonction est pour xlocal, la deuxième valeur est ylocal, la troisième est xforce_local et la dernière valeur représente yforce_local. En utilisant la valeur -50 comme valeur pour yforce_local, vous placez la force derrière le vaisseau qui pousse le vaisseau vers l'avant.
La quantité de force est basée sur la valeur, donc un plus grand nombre place une plus grande force. Expérimentez avec ceci en changeant la valeur de -50 à -5000 pour voir quelle différence cela fait. Si vous utilisez un nombre positif (disons 50), notez que le vaisseau semble reculer au lieu d'avancer.
Exemple de code pour les événements clavier gauche et droit
Pour permettre au lecteur d'activer l'objet, ajoutez les événements clavier gauche et droit. Pour que le lecteur tourne l'objet vers la gauche, procédez comme suit:
-
Dans l'arborescence des ressources, double-cliquez sur l'objet obj_player ou un autre objet pertinent.
La fenêtre Propriétés de l'objet apparaît.
-
Choisissez Ajouter un événement → Clavier → Gauche.
Un événement de clavier gauche apparaît dans la section Événements.
-
Glissez et déposez une action d'exécution de code depuis l'onglet Contrôle vers la fenêtre Actions.
Une fenêtre de code vide apparaît.
-
Dans la fenêtre de code, tapez le code suivant:
phy_angular_velocity = 0; phy_rotation- = 10;
-
Cliquez sur la coche verte.
La fenêtre de code est enregistrée et fermée.
Pendant le jeu, le joueur peut maintenant tourner l'objet vers la gauche. Ce code ajoute ou soustrait de la rotation de la physique, qui contrôle la direction et l'angle de l'image de l'objet lorsque le joueur appuie sur la touche flèche gauche.
Pour que le lecteur tourne l'objet vers la droite, procédez comme suit:
-
Dans l'arborescence des ressources, double-cliquez sur l'objet obj_player (ou un autre objet pertinent).
La fenêtre Propriétés de l'objet apparaît.
-
Choisissez Ajouter un événement → Clavier → Droite.
Un événement de clavier droit apparaît dans la section Événements.
-
Glissez et déposez une action d'exécution de code depuis l'onglet Contrôle vers la fenêtre Actions.
Une fenêtre de code vide apparaît.
-
Dans la fenêtre de code, tapez le code suivant:
phy_angular_velocity = 0; phy_rotation + = 10;
-
Cliquez sur la coche verte.
La fenêtre de code est enregistrée et fermée. Ce code ajoute ou soustrait de la rotation physique, qui contrôle la direction et l'angle de l'image de l'objet lorsque le joueur appuie sur la touche flèche droite.
Vous pouvez donner à l'objet une tournure plus naturelle en utilisant physics_apply_torque pour faire tourner l'objet en utilisant le couple, qui est la force de rotation. Le couple prend en compte la masse de l'objet et rend la rotation plus lente, un peu comme un objet de la vie réelle; Cependant, dans un jeu, vous ne voulez pas toujours qu'il soit trop réel (c'est un jeu, après tout).
Une autre différence entre le monde de la physique dans GameMaker: Studio et les fonctions traditionnelles est que normalement la direction et l'angle de l'image sont calculés dans le sens antihoraire, donc ajouter 10 à la variable direction ferait tourner l'objet vers la gauche. Cependant, lorsque vous utilisez la physique, les directions et les angles sont calculés dans le sens des aiguilles d'une montre, ainsi l'addition de 10 à la valeur de rotation fait tourner l'objet vers la droite.
