❤ 0 Ouvrir et ferme une porte
Niveau : Très Facile
Imaginez, vous rentrez dans le bureau de votre patron, vous discutez et vous ressortez. Dans la plupart des jeux, on pense à ouvrir la porte, mais pas forcément à la fermer une fois que le personnage est passé derrière soi.
Vous pouvez l'utiliser pour des pièces ayant plusieurs portes, dans ce cas il faut relier chaque event de fermeture à sa porte dédiée, pour que votre héros ne referme que la porte qu'il vient de passer à chaque fois.
Vous aurez besoin de deux évènements : une porte et un autre event que vous pouvez par exemple appeler "fermeture porte".
Vous avez donc votre événement avec les paramètres suivants :
* Apparence de porte fermée
* Même niveau que le héros
* Déclenchement par contact
Ouvrir la porte
Rien de plus simple, on déclenche d'abord l'effet sonore, puis on fait l'animation de porte en la faisant regarder dans les différentes directions. L'exemple suivant est valide pour XP et suivants. Pour 2000-2003, les objets des RTP s'animent dans ce sens : droite-haut-gauche.
-> Jouer un effet sonore (mettez le bruit d'ouverture)
-> Déplacer un évènement : cet évènement (attendre la fin)
: Tourner vers la gauche
: Attendre 3 frames
: Tourner vers la droite
: Attendre 3 frames
: Tourner vers le haut
: Traverse tout/Passe-murailles (selon la version de RM) ON
La dernière option rend notre porte passable pour le héros, n'oubliez jamais de la mettre, sinon vous serez bloqué (Through ON en anglais)
Vous remarquerez qu'il s'agit du même code que pour les évènements rapides de type "porte" à ceci près que la ligne "téléportation" est supprimée présents dans RPG Maker VX ou Ace.
Déplacer le héros
Notre porte est ouverte, deux choix s'offrent à vous : soit vous décidez que le héros passe automatiquement la porte, et on continue sur le même événement. Soit vous laissez au joueur le choix de traverser ou non, auquel cas il vous faudra un autre type d'événement pour détecter si le héros est passé ou non.
Pour l'instant, on va faire simple et forcer l'action du héros. Sur notre même événement donc, on force notre héros à faire deux pas en avant (Move Forward).
Pourquoi deux ? Car avec un seul, il se retrouverait "dans" la porte, ce qui serait esthétiquement parlant peu logique.
Fermer la porte
Même principe que pour ouvrir une porte, mais en sens inverse. On n'oublie pas de remettre notre porte en passabilité normale à la fin, et on joue notre petit SE de porte fermée.
-> Déplacer un event [porte] (attendre la fin)
: Tourner vers la droite
: Attendre 3 frames
: Tourner vers la gauche
: Attendre 3 frames
: Tourner vers le bas
: Traverse tout OFF
-> Jouer un effet sonore (fermeture de porte par exemple)
Petit conseil aux utilisateurs de VX : Si vous utilisez les événements automatique, vous remarquerez que les événements de porte ont le SE Move après la téléportation. Enlevez-le, il est horrible (et ça ressemble pas à un bruitage de pas).
Et c'est tout.
Je veux avoir la liberté de traverser ou non !
Bravo, vous allez pouvoir vous rendre la vie plus difficile pour pas grand-chose.
Dans ce cas, il vous faudra distinguer n'utiliser que "ouvrir la porte" dans votre événement, enregistrer les coordonnées du héros dans deux variables et activer un interrupteur à la fin de porte ouverte + une deuxième page d'événement avec votre porte vide et l'interrupteur choisi en condition.
Et il vous faudra un événement parallèle avec votre interrupteur activé aussi en condition pour vérifier les coordonnées de votre héros, et à l'aide de quatre autres variables (deux pour la position actuelle et deux pour la nouvelle position, quelques frames après), vérifier si les positions sont différentes.
Ce qui donnerait ceci :
Variable HeroX = Coordonnées du joueur à la map X
Variable HeroY = Coordonnées du joueur à la map Y
Attendre 10 ou 20 frames
Variable NewHeroX = Coordonnées du joueur à la map X
Variable NewHeroY = Coordonnées du joueur à la map Y
Condition Si Variable HeroX != Variable NewHeroX
Fermer la porte
Désactiver interrupteur porte ouverte
Sinon
Condition Si Variable HeroY != Variable NewHeroY
Fermer la porte
Désactiver interrupteur porte ouverte
Fin
Fin
Voilà pour mon premier tuto ! J'espère que ça aidera certains d'entre vous à se rendre compte que les events c'est bien utile !
Mis à jour le 17 février 2021.
|