Connexion automatique

Pas encore membre ? Inscrivez-vous ici !
Vous avez oublié votre mot de passe ? On vous aide ici

AccueilPage d'accueilFAQRechercherS'enregistrerConnexion

Sélecteur de thème :


Partagez | .
Un système de map monde plus dynamique

Batosei213
Néophyte

Néophyte
avatar

Nombre de messages : 6
Capacités : débutant
Distinction : aucune
Date d'inscription : 27/09/2013

MessageSujet: Un système de map monde plus dynamique   Lun 30 Sep 2013 - 12:44

Bonjour, voici mon premier tuto, ou enfin je dirai plutôt une astuce.
Je sais, il y a beaucoup de tuto pour afficher des cartes sur le forum, mais je vous propose une façon différente de faire.  

Tout d'abord, pour réaliser ma map monde, je me suis beaucoup inspiré de pokemon (rouge et bleu) avec comme principe, créer une map qui serait la synthèse de toutes mes zones regroupé et permettre à un curseur de se balader sur la carte pour indiquer les noms de chaque zone (et pourquoi pas en faire une carte pour se téléporter à tel ou tel endroit )

Pour commencer il y a différente façon pour montrer une carte monde, on peut le faire grâce à un objet clé, ou bien tout simplement en regardant une carte contre un mur (pour l'exemple sa sera le cas ici ).


Tout d'abord il faut créer une carte, je vous propose un petit exemple :

(C'est pas super beau mais c'est un exemple, mais le coté simpliste de la chose à son utilité car il s'agit seulement d'une carte)

Ensuite il faut créer un événement qui se déclenche avec un processus parallèle pour pouvoir modifier l'apparence du héro (pour en faire un curseur), accessoirement changer la vitesse du héro pour une plus grande vitesse de manipulation, (et encore accessoirement ajouter une image pour créer un fond sur la carte pour que la présentation du nom soit plus jolie)

Voici le lien pour une sorte de curseur que j'ai créer :http://i75.servimg.com/u/f75/18/54/88/71/map_in10.png (à placer dans le répertoire de votre jeu :Graphics\Characters)
Voici le lien pour le fond d'écriture : http://i75.servimg.com/u/f75/18/54/88/71/fond_n10.png (à placer dans le répertoire de votre jeu : Graphics\Pictures)

Puis il faut créer un autre événement avec 2 variables, que j'ai appelé "X du héro carte " et "Y du héro carte " qui permettrais que ces variables prenne en compte constamment la position du héro (notamment grâce à une boucle)

ne pas oublier le fait d'attendre 1 frame sinon sa bloque le jeu.

Maintenant on va s’intéresser à la partie du nom qui s’affiche automatiquement si on se trouve sur la case en question.
On va donc créer un événement sur la case qui nous intéresseré et rajouter 2 nouvelles variables au contact du héro (appelé "X de la carte" et "Y de la carte") ainsi qu'un interrupteur local (A)

Ceci permet de situer la case sur laquelle est situé le héro.

On va enfin s’intéressé a ce qui est le plus important, afficher le nom du lieu
Pour cela nous allons pas faire la fonction "afficher un message" car cela nécessiterais d'appuyer sur entré ou espace à chaque déplacement, ce qui est pas vraiment pratique (et le système \^ fait un message bien trop court et de plus sa bloque légèrement le curseur) donc j'ai trouver la seul solution (sans l'utilisation de script) qui pourrais fonctionner pour que sa soit fluide et intuitif, le fait de créer une image avec juste le nom de la zone écrit dessus et ceci pour chaque zone (ce qui peut être long c'est le point faible de ma méthode )
Pour faire l'événement, il s'agit d'un processus parallèle qui se déclenche si l’interrupteur local A est activé et celui-ci est constitué d'une boucle qui fait que tant que le personnage reste sur la case en question, le nom s'affiche mais dés qu'il en sort le nom s'efface (et normalement un autre nom se met)

(Exemple image en question sur le nom (qui se situe sur le petit cadre donné précédemment )http://i75.servimg.com/u/f75/18/54/88/71/route_10.png (attention l'écriture est en blanc vous allez avoir du mal a la voir mais elle est bien la ) (PS: le cadre et l'écriture à été fait avec gimp 2, si des personnes le veule je peut leurs donner le fichier pour avoir tout de déjà fait il suffirait de remplir avec les noms de zones)

Mais attention !! ce n'est pas fini car il faut aussi voir avant de rejoindre la carte et surtout comment en sortir !
Comme dit plus haut j'ai plutôt adopté un système de carte contre un mur, voici un exemple :


Pour l'événement, il faut créer 3 nouvelle variable (oui encore des variables^^ ) le but est de tout simplement se retrouver à la même place lorsqu’on reviendra de la carte.
les 3 variables sont la position du héro (X et Y) lorsqu’il appuie sur la carte, et la 3éme variable correspond à l'ID de la carte. Et ne pas oublier la touche action pour tout déclencher. (Avec le rajout d'une petite question pour faire jolie )

Pour la téléportation, le plus logique serait de se téléporter à l'emplacement de la carte qui correspondrait à l'emplacement de la zone en question.

Et enfin pour finir, une fois sur la carte il faut bien trouver un moyen de quitter la carte ? et bien il suffit d’appuyer sur entré ou espace pour quitter la carte, voici l'événement :

Par défaut, la touche C correspond à entrée ou espace ou ( Z aussi ), pour modifier cela il suffit de faire F1 et allez dans la section keyboard (pour la condition il faut allez dans le 4éme onglet et bien préciser quand la touche C est pressé et ne pas cocher la petite case exécuter autre chose)
Il ne faut pas oublier de redonner l’apparence normal du héro ainsi que sa vitesse et effacer toute les images utilisé pour les noms de villes
Pour le choix, il faut obligatoirement attendre un petit peu car pour appuyé sur non, il faut utiliser la touche entré mais si on appuis sur entré on ce reretrouve dans la boucle "Quittez la carte ?" (mais ceci ne fera pas attendre le personnage une seconde)


Voila donc le résultat :



Petite astuce : je conseil de créer un tileset spécialement pour la map monde, et ainsi permettre au personnage de uniquement suivre les route et les villes (il ne peut par exemple pas se retrouver dans une plaine qui ne constitue pas un élément de la carte ) ainssi il suivra une grille toute tracé par la route.

 
Le principal avantage de faire une carte comme sa, c'est aussi de pouvoir faire une map monde relativement grande et ne pas être bloquer à une seul image (car oui la carte va suivre le curseur étant donné que c'est le héro ). Et je trouve sa plus sympas de pouvoir se balader comme sa sur la carte pour voir se qui nous intéresse.

La méthode peut encore être améliorer notamment avec une indication pour montrer ou se trouve le héro, et aussi par exemple si on a une quête, montrer l'endroit du déroulement de la quête. Et surtout elle peut être améliorer si on peut avoir un message sans coupure dans le jeux pour éviter de ce retrouver avec plein d'image.

J’espère ne pas avoir été trop long.
 
samwillorbe
Philosophe

Philosophe
avatar
https://sites.google.com/site/lemondedewillorbecom/in-the-news

Nombre de messages : 376
Age : 24
Localisation : Brive
Capacités : moyen
Distinction : aucune
Date d'inscription : 12/08/2012

MessageSujet: Re: Un système de map monde plus dynamique   Lun 30 Sep 2013 - 22:46

C'est vraiment pas mal comme technique, chapeau pour avoir eu l'idée Wink
 
Hareck
Philosophe

Philosophe
avatar

Nombre de messages : 359
Age : 24
Capacités : expert
Distinction : aucune
Date d'inscription : 26/09/2013

MessageSujet: Re: Un système de map monde plus dynamique   Mar 1 Oct 2013 - 1:41

Pas mal! Ceux qui veulent se servir d'une map monde basique de RMVX pourront utiliser ce système!
 
Heaven
Staffieux retraité

Staffieux retraité
avatar

Nombre de messages : 2451
Age : 16
Localisation : Alpes-Maritimes VIRILITÉ OLALA
Capacités : moyen
Distinction : Aucune
Date d'inscription : 18/10/2012

MessageSujet: Re: Un système de map monde plus dynamique   Mar 1 Oct 2013 - 4:40

Très sympas comme tutoriel, merci du partage =)


Heav'n
 
Contenu sponsorisé




MessageSujet: Re: Un système de map monde plus dynamique