❤ 0 RPG Maker vous limite normalement à 4 déplacements standards: haut, bas, gauche, droite. Mais il y a moyen d'y ajouter les 4 diagonales afin de rendre tout ceci plus confortable. C'est une méthode très simple.
Commencez par créer un évènement fréquent en processus parallèle, car il doit se déclencher tout seul au début.
Créez ensuite quatre variables, qui correspondront à nos quatre touches. Mettons, variable "Diagos Haut", "Diagos Bas", "Diagos Gauche" et "Diagos Droite".
Passons au concret: la première ligne de code doit être un Wait (Attente, 2ème page). C'est pas forcément logique mais c'est comme ça, et puis ça vaut mieux car ça va rendre le jeu moins lourd. Mettez donc ce Wait à 0.1 seconde afin qu'il ne se fasse pas sentir. Et juste en-dessous, placez une étiquette. Elle permettra de "rembobiner" notre programmation.
En-dessous, vous allez devoir utiliser la commande "Demander l'appui d'une touche" (3ème page), et choisissez la variable "Diagos Gauche". En-dessous, cochez la case correspondant à la touche gauche et décochez la case "Attendre jusqu'à-ce qu'une touche soit pressée". C'est important.
Reproduisez l'opération pour les trois autres variables/touches. Nous devons avoir les 4 commandes d'appui sur une touche à la suite.
Nous passons ensuite au contrôle de ces variables, via les conditions, afin de savoir si nous avons deux touches appuyées en même temps pour opérer un déplacement en diagonales.
Créez une fourchette de condition vérifiant si la variable "Diagos Haut" est différente de zéro (donc, si elle a été pressée). Dans cette fourchette, créez-en une seconde vérifiant si la variable "Diagos Droite" est différente de zéro (donc, si la touche droite a été pressée). A l'intérieur de cette fourchette, nous allons donc insérer ce qui doit se déclencer si les touches Haut et Droite sont pressées (à savoir un déplacement en diagonale Haut-droite).
Insérez une commande "Déplacer/Modifier un évènement" en spécifiant le héros et en mettant un déplacement en diagonale Haut-droite. Pensez à cocher, en bas, la case "Ignorer déplacement si imp.", ça permettra de ne pas déplacer le héros s'il est contre un mur.
Après ceci, toujours dans notre condition de touche droite, mettez un évènement "Déplacer tous les évènements". C'est extrêmement important car c'est lui qui permettra de déclencher tous les évènements qui sont en "Au contact du héros" si vous passez dessus en diagonales. Puis mettez un retour à l'étiquette tout en haut (commande "Aller à l'étiquette, 3ème page).
Reproduisez votre condition sur la touche droite pour la touche gauche afin de rendre possible le déplacement en diagonale Haut-Gauche. Changez donc la commande "Déplacer/Modifier évènement en conséquence et spécifiez la variable "Diagos Gauche" à la place de "Diagos Droite" dans la condition.
Il ne vous reste plus ensuite qu'à faire de même pour Bas-Gauche et Bas-Droite suivant ce schéma:
Si Variable (Diagos Haut) est différent de 0
-> Si Variable (Diagos Droite) est différent de 0
--> Déplacer héros: diago Droite-Haut
--> Tout déplacer
--> Aller à l'étiquette 1
-> Si Variable (Diagos Gauche) est différent de 0
--> Déplacer héros: diago Gauche-Haut
--> Tout déplacer
--> Aller à l'étiquette 1
Si Variable (Diagos Bas) est différent de 0
-> Si Variable (Diagos Droite) est différent de 0
--> Déplacer héros: diago Droite-Bas
--> Tout déplacer
--> Aller à l'étiquette 1
-> Si Variable (Diagos Gauche) est différent de 0
--> Déplacer héros: diago Gauche-Bas
--> Tout déplacer
--> Aller à l'étiquette 1
Et voilà, vous pouvez vous déplacer désormais dans les 8 directions.
Attention toutefois, ce "script" ne semble pas fonctionner avec certains systèmes de chenilles (c'est le cas du mien). Il n'en reste pas moins très efficace.
|