Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  



-20%
Le deal à ne pas rater :
Ecran PC GIGABYTE 28″ LED M28U 4K ( IPS, 1 ms, 144 Hz, FreeSync ...
399 € 499 €
Voir le deal

Partagez
 

 Tuto - Faire une zone de patinage du héros

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
SwingSoft Productions
Paysan (niveau 2)
Paysan (niveau 2)
SwingSoft Productions

Messages postés : 15
Date d'inscription : 27/01/2014
Jauge LPC :
Tuto - Faire une zone de patinage du héros 89152714004 / 1004 / 100Tuto - Faire une zone de patinage du héros 8915271400


Tuto - Faire une zone de patinage du héros Empty
MessageSujet: Tuto - Faire une zone de patinage du héros   Tuto - Faire une zone de patinage du héros EmptyMer 4 Juin 2014 - 16:57

Bien le bonjour tout le monde !

Ce tuto va vous expliquer comment réaliser le plus simplement possible une zone de patinage. Qu'est-ce donc que cela ? Nous avons tous, je pense, joué à Pokémon au moins une fois dans notre vie (je cite ce jeu pour exemple, mais bien d'autres jeux ont repris ce principe) et nous avons tous traversé une grotte de glace. Et nous avons tous du traverser une zone où le sol était gelé et sur lequel le héros patinait comme un dingue en ligne droite, ne pouvant changer de direction qu’à la rencontre d’un obstacle. C’est ce que ce tuto va vous apprendre à faire. Ce genre d’énigme peut ajouter une belle touche de gameplay à votre jeu, que vous programmiez un RPG ou n’importe quel autre jeu du genre.

NIVEAU DU TUTO : Moyennement difficile.

NB : Le tuto sera réalisé avec les commandes de RM2003, mais il est bien sûr adaptable à toutes les versions de RM, sous réserve d’un tout petit peu d’adaptation selon la version utilisée.

NB2 : Pour comprendre ce tuto, il est nécessaire de bien maîtriser les variables ainsi que l’utilisation et la gestion des terrains.


Pour commencer, mappez une petite map avec un chipset de glace, pour avoir un support visuel qui vous permettra de mieux comprendre comment ça marche. Pour l’instant, mappez les contours de la map avec un terrain « adhérent » et l’intérieur avec un terrain « glissant » :

Tuto - Faire une zone de patinage du héros Ffaw

Ensuite, allez dans la base de données du logiciel et créez un nouveau terrain (pour RM2000-2003) ou attribuez un numéro (RMXP/VX/VXACe) pour le tileset utilisé pour le terrain glissant. Comme j’utilise RM2003, je crée un nouveau terrain dont le numéro sera 21.

Le système fonctionne en deux évènements.

Créez un premier événement, qui servira à stocker le terrain sur lequel le héros se trouve.
Appelez cet événement « GESTION DU TERRAIN », mettez-le en processus parallèle, puis créez trois variables :

- Héros X : pour définir la coordonnée X du héros
- Héros Y : pour définir la coordonnée Y du héros
- Héros Terrain : pour définir l’ID du terrain sur lequel le héros se trouve.

Une fois ces variables créées, faites les réglages suivants :
Code:
<> Variable « Héros X » = Coordonnée X du Héros (attention : ne pas rendre égal à la coordonnée Ecran !!!)
<> Variable « Héros Y » = Coordonnée Y du Héros

Puis, allez chercher l’onglet « Stocker l’ID d’un terrain », et sélectionnez « position définie par des variables », choisissez la variable « Héros X » pour X, et idem pour Y. Puis choisissez de stocker le résultat dans la variable « Héros Terrain ».

Tuto - Faire une zone de patinage du héros We2z

Placez un petit temps d’attente à 0.0 frames à la fin de l’événement (ou 0.1 frames selon la version de RM que vous utilisez), pour laisser un petit temps de calcul à l’événement, qui sera bien sur imperceptible en jeu.

Voilà. Avec cet évènement plutôt rudimentaire, vous pouvez savoir sur quel terrain le héros se trouve en permanence sur votre map.

C’est maintenant que les choses se compliquent un peu :p

Créez un deuxième événement sur votre map, que vous appelez « GESTION COLLISIONS », qui va servir à savoir si le héros est sur le terrain glissant ou non, et le faire patiner ou non en conséquence.

La première page de votre évent sera celle qui servira à considérer le non-patinage, c’est à dire que le héros se trouve sur un terrain adhérent et donc à ne pas glisser. Cette page doit être en processus parallèle.

Mettez en condition de déclenchement de la page : Si variable « Héros Terrain » est inférieure à 21 (c’est l’ID que j’ai choisi, mais vous devez remplacer 21 par le chiffre que vous utiliserez pour votre sol gelé).

Tuto - Faire une zone de patinage du héros U73a

Dans la programmation de cette page, mettez ceci :

Code:
<> Déplacer événement : Héros : Direction fixe : OFF, Animation de marche : ON
<> Autoriser l’accès au menu (oui parce qu’on va le bloquer plus tard, il ne faut pas pouvoir accéder au menu pendant qu’on patine, ça foutrait le bordel dans l’univers intrasèque de la vie des esquimaux à la fraise. Et au fonctionnement du jeu, accessoirement)
<> Attendre 0.0 frames (ou 0.1 frames)
<> Mettre une étiquette : 1
<> Attendre 0.0 frames (ou 0.1 frames)
<> Aller à une étiquette : 1

Je vous explique :

L’événement va capter que vous êtes sur un terrain qui n’a pas pour ID 21 (ou votre chiffre), il va donc vous faire revenir à une apparence de « marche », puis, pour ne pas le faire en boucle, on bloque le déroulement avec un aller-retour par étiquettes, avec un temps d’attendre pour ne pas ramer. Ceci pour permettre de ne pas entrer en contradiction avec un autre événement que déplacerait le héros si jamais vous deviez en faire un.

C’est bon, vous suivez ?


Ensuite, créez une deuxième page dans l’événement « GESTION COLLISIONS » et à l’inverse de la première page, mettez en condition de déclenchement : Si variable « Héros Terrain » est égale à 21. (et non pas supérieure ou égale, je vous expliquerai pourquoi).
Cette page doit également être en processus parallèle.

Mettez tout de suite la boucle suivante :

Code:
<> Placer une étiquette : 1
<> Attendre 0.0 frames (ou 0.1 frames)

Cette première entrée de boucle contiendra la programmation qui servira à faire changer de direction le héros quand celui-ci sera bloqué par un obstacle.

Ensuite, placez les commandes suivantes :

Code:
<> Déplacer un événement : Héros : Direction fixe : OFF
<> Condition : La touche Bas est pressée (Case « Sinon » Cochée)
<> Déplacer un événement : Héros : Regarde en bas, Direction fixe : ON
<> Aller à l’étiquette : 2
<> Sinon, Condition : La touche Haut est pressée (Case « Sinon » Cochée)
<> Déplacer un événement : Héros : Regarde en Haut, Direction fixe : ON
<> Aller à l’étiquette : 3
<> Sinon, Condition : La touche Droite est pressée (Case « Sinon » Cochée)
<> Déplacer un événement : Héros : Regarde à droite, Direction fixe : ON
<> Aller à l’étiquette : 4
<> Sinon, Condition : La touche Gauche est pressée (Case « Sinon » Cochée)
<> Déplacer un événement : Héros : Regarde à gauche, Direction fixe : ON
<> Aller à l’étiquette : 5
<> Sinon : Aller à l’étiquette 1


Par ces commandes vous définissez dans quelle direction le héros va regarder, et donc va patiner par la suite.

(Ici, nous aurons besoin de 4 nouvelles variables :
« Héros X glisse » et « Héros Y glisse » : redéfinir les coordonnées du héros car nous ne pouvons pas toucher aux précédentes variables, nécessaires au stockage de l’ID du terrain.
« Terrain en face » et « Evènement en face » : Ces variables serviront à savoir si un obstacle se trouve devant le héros lors de sa glissade.

Nous aurons également besoin d’un nouveau terrain : Ici je choisis le terrain suivant, ce qui me donne le numéro 22 dans la base de données de RM2003. Ce terrain servira à savoir quand le héros rencontrera un obstacle. Ce n’est pas la même chose que rencontrer un terrain adhérent. Attribuez cet ID à une case de terrain.)

(JE PLACE UN CHECKPOINT ICI. NOUS DEVRONS REVENIR A CE POINT PLUS TARD)

En dessous de toutes ces commandes, faites :

Code:
<> Placer une étiquette : 2
<> Interdire l'accès au menu
<> Condition : Si héros regarde : en bas
<> Variable « Héros X glisse » = Coordonnée X du héros
<> Variable « Héros Y glisse » = Coordonnée Y du héros
IMPORTANT ! <> Variable « Héros Y glisse » +  1 (pour se placer sur la case juste devant le héros)
<> Stocker l’ID d’un terrain : X = Variable « Héros X glisse », Y = Variable « Héros Y glisse », Stocker le résultat dans la variable « Terrain en face »
<> Condition : Si la variable « Terrain en face » est différent de 22 (Case « Sinon » Cochée)
<> Stocker l’ID d’un évènement : X = Variable « Héros X glisse », Y = Variable « Héros Y glisse », Stocker le résultat dans la variable « Evènement en face »
<> Condition : Si la variable « Evènement en face » est inférieur à 1 (Case « Sinon » Cochée)
<> Déplacer un événement : Héros : Animation de marche : OFF, un pas vers le bas
<> Attendre 0.0 frames (ou 0.1 frames)
<> Aller à l’étiquette 2
<> Sinon (de la condition événement) : Aller à l’étiquette 1
<> Sinon (de la condition terrain) : Aller à l’étiquette 1


Retournez au CHECKPOINT, et refaites la programmation avec les 3 autres directions, en changeant bien le numéro d’étiquette à chaque fois :

2 = Bas
3 = Haut
4 = Droite
5 = Gauche

Il faut aussi changer la variable marquée « IMPORTANT ». Cette variable définit la case à considérer en fonction de la direction du héros, elle doit être réglée en conséquence.

Bas : Variable « Héros Y glisse » +  1
Haut : Variable « Héros Y glisse » -  1
Gauche : Variable « Héros X glisse » -  1
Droite : Variable « Héros X glisse » +  1

Mettez bien les quatres directions les unes à la suite des autres  SANS LES EMBOITER DANS LEURS CONDITIONS RESPECTIVES. Les étiquettes se chargeront de différencier les directions du héros à prendre en compte pour avancer.

Je n’utilise pas la commande « Pas en avant » car je dois modifier en fonction de la direction du héros la case qui est devant lui (c’est elle qui sert à détecter s’il y a un obstacle).

Voilà, vous avez fini la programmation. Maintenant il reste un détail important à régler. Sous certains version de RM (et quasiment toutes je crois) il n’est pas possible d’attribuer un numéro de terrain aux éléments se trouvant sur la couche supérieur de la map. Pour pallier à cela, il existe une petite astuce.

Voici par exemple un placement d’obstacle :

Tuto - Faire une zone de patinage du héros Qxtc

Maintenant, je passe en couche inférieure. Sous chaque « pied » d’obstacle, là où le héros va se retrouver bloqué, je place mon terrain dont l’ID est égale à 22 (ou le chiffre que vous avez choisi)

Tuto - Faire une zone de patinage du héros Gytf

Ici, bien sûr, j’utilise les RTP donc le résultat au niveau graphique n’est pas top car on verra en jeu qu’il y a une case sous mon « pic ». Mais ce souci peut facilement s’arranger en retouchant un poil le chipset pour créer une case spécifique qui se mariera avec la glace.


Voilà, c’est terminé !

Pour voir le résultat de ce tuto, je vous invite à jouer à ce jeu ! (PUB = OFF)


Merci à tous d’avoir suivi ce tuto de patinage hautement artistique, et je vous invite à laisser des commentaires Wink

Gros bisous les loulous !
Revenir en haut Aller en bas
City Hunter
Administrateur
Administrateur
City Hunter

Masculin
Messages postés : 6523
Date d'inscription : 25/05/2011
Jauge LPC :
Tuto - Faire une zone de patinage du héros 891527140040 / 10040 / 100Tuto - Faire une zone de patinage du héros 8915271400

Tuto - Faire une zone de patinage du héros Staffe10
Tuto - Faire une zone de patinage du héros Mappeu10
Tuto - Faire une zone de patinage du héros Membre15
Tuto - Faire une zone de patinage du héros Testeu10
Tuto - Faire une zone de patinage du héros Promot10
Tuto - Faire une zone de patinage du héros Projet10
Tuto - Faire une zone de patinage du héros Projet16
Tuto - Faire une zone de patinage du héros Riche_10
Tuto - Faire une zone de patinage du héros Travai10
Tuto - Faire une zone de patinage du héros Collec10
Tuto - Faire une zone de patinage du héros Collec11
Tuto - Faire une zone de patinage du héros Collec12
Tuto - Faire une zone de patinage du héros Collec13
Tuto - Faire une zone de patinage du héros Pandac10
Tuto - Faire une zone de patinage du héros 10000011


Tuto - Faire une zone de patinage du héros Empty
MessageSujet: Re: Tuto - Faire une zone de patinage du héros   Tuto - Faire une zone de patinage du héros EmptyMer 4 Juin 2014 - 18:41

Tuto pas mal! Smile Et le rendu sonne bien ^^
Des pouaints! Smile
Revenir en haut Aller en bas
SwingSoft Productions
Paysan (niveau 2)
Paysan (niveau 2)
SwingSoft Productions

Messages postés : 15
Date d'inscription : 27/01/2014
Jauge LPC :
Tuto - Faire une zone de patinage du héros 89152714004 / 1004 / 100Tuto - Faire une zone de patinage du héros 8915271400


Tuto - Faire une zone de patinage du héros Empty
MessageSujet: Re: Tuto - Faire une zone de patinage du héros   Tuto - Faire une zone de patinage du héros EmptyJeu 5 Juin 2014 - 9:40

Merci !  Very Happy 

J'ai oublié de préciser que, si vous réalisez ce tuto sous RM2000/2003, il faut décocher "Attendre l'appui d'une touche" dans la gestion des touches de directions. C'est important !  Razz 
Revenir en haut Aller en bas
Invité
Invité
Anonymous


Tuto - Faire une zone de patinage du héros Empty
MessageSujet: Re: Tuto - Faire une zone de patinage du héros   Tuto - Faire une zone de patinage du héros EmptyJeu 5 Juin 2014 - 18:57

j'ai toujours détesté les énigme à base de "ey! tu glisses! trouve le bon chemin". Par contre, faire des plaques de glace sans but réel mais simplement pour le style, ça me semble sympa. Le tuto devrait aidé les débutants. Merci du partage  Smile 
Revenir en haut Aller en bas
Vorselon
Chevalier Mage (niveau 3)
Chevalier Mage (niveau 3)
Vorselon

Masculin
Messages postés : 450
Date d'inscription : 27/04/2012
Jauge LPC :
Tuto - Faire une zone de patinage du héros 89152714006 / 1006 / 100Tuto - Faire une zone de patinage du héros 8915271400

Tuto - Faire une zone de patinage du héros Membre10
Tuto - Faire une zone de patinage du héros Graphi10
Tuto - Faire une zone de patinage du héros Dessin10
Tuto - Faire une zone de patinage du héros Collec10
Tuto - Faire une zone de patinage du héros Collec11


Tuto - Faire une zone de patinage du héros Empty
MessageSujet: Re: Tuto - Faire une zone de patinage du héros   Tuto - Faire une zone de patinage du héros EmptyMar 10 Juin 2014 - 21:00

Merci du partage ! =]
Revenir en haut Aller en bas
http://crazynikos.deviantart.com/
Contenu sponsorisé




Tuto - Faire une zone de patinage du héros Empty
MessageSujet: Re: Tuto - Faire une zone de patinage du héros   Tuto - Faire une zone de patinage du héros Empty

Revenir en haut Aller en bas
 
Tuto - Faire une zone de patinage du héros
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu]Faire bouger le héros pixel par pixel
» [XP] Zone de Combat
» [Mini-Jeu] Zombie Zone
» Zibroph Zone Effect plugin
» Tuto fps

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ APPRENTISSAGE ~ :: Initiation :: Systèmes-
Sauter vers: