❤ 0 Monter/Descendre des escaliers
Les escaliers verticaux
Sur les marches des escaliers, placez un événement qui démarre quand le héros marche dessus. L'événement se place sur l'escalier.
Déclenchement: Au contact du Héros.
Placer deux conditions.
Dans la 1ère avec les options de déclenchement suivantes : Si le Héros regarde vers le Bas.
Dans cette condition placez : Déplacement Évènement; Héros;(Ralentir Mouvement; pas vers le bas;Augmenter Mouvement)
Faites de même avec le deuxième Évènement avec Regard vers le Haut cette fois.
Attention la deuxième condition ne doit pas être dans la 1ère condition mais après.
Voici une image de l’évènement avec son code :
Les escaliers vers la droite ou la gauche
C'était pour les escaliers verticaux au sens strict, qui ne nécessitent pas plus. En revanche, la prochaine astuce n'est valable que pour les marches en diagonales qui induisent un déplacement vers la droite ou la gauche, comme celles-ci :
(Démo d'Aëdemphia 2, Hyvenos et Sylvanor, 2007)
Le principe est le même que pour le premier, sauf que cette fois on va en plus vérifier si le héros regarde en bas ou à gauche. Donc on crée un événement, avec comme déclenchement au contact du héros, et on met nos deux conditions en imbriqué, comme ceci :
Deux petites choses :
- Quand le héros regarde vers le haut ou le bas, on le tourne vers le gauche ou la droite selon la direction de la descente car les mouvements en diagonales ne modifient pas la direction, et c'est visuellement plus joli pour ce genre d'escaliers).
- Je n'ai mis qu'un seul déplacement, mais pour ces escaliers, il est mieux de forcer la montée/descente jusqu'à la fin des escaliers.
Note : Si un grand nombre d'événements sur RM2000/2003 ne fera pas ramer votre pc, c'est moins vrai pour RM XP et ses suivants. Pour détecter si le héros va monter/descendre un escalier, il sera donc plus simple de faire un seul événement en processus parallèle, avec quatre variables et une conception de ce type :
Citation: Boucle
Variable HerosX_old = Coordonnées X de Player sur la Map
Variable HerosY_old = Coordonnées Y de Player sur la Map
Wait 20 frames
Variable HerosX = Coordonnées X de Player sur la Map
Variable HerosY = Coordonnées Y de Player sur la Map
Condition 1 si HerosX != (différent de) HerosX_old
Sortir de la boucle
Sinon
Condition 2 si HerosY != HerosY_old
Sortir de la boucle
Fin Condition 2
Fin Condition 1
Fin Boucle
Condition 3 si HerosX = Constant (coordonnées x où se trouvent le bas des marches, à inséréer manuellement)
Condition 4 si HerosY = Constant (la même, pour y)
Processus pour monter les escaliers
Fin Condition 4
Sinon
Condition 5 si HerosX = Constant (coordonnées x où se trouvent le haut des marches, à inséréer manuellement)
Condition 6 si HerosY = Constant (la même, pour y)
Processus pour descendre les escaliers
Fin Condition 6
Fin Condition 5
Fin Condition 3 |
La même chose est valable pour la première façon de monter les escaliers, vous n'aurez peut-être besoin que de vérifier Y selon l'agencement de votre carte.
Mis à jour le 2 mars.
Rajout des escaliers en diagonales.
|