JeuWeb - Crée ton jeu par navigateur
[Nouveau probleme dans l'editeur] Editeur de map - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Nouveau probleme dans l'editeur] Editeur de map (/showthread.php?tid=4143)

Pages : 1 2 3 4 5 6 7 8 9 10 11


[Nouveau probleme dans l'editeur] Editeur de map - nialcen - 23-09-2009

Bonjour,

Je conçois actuellement un jeu par browser, et mon système de map est ( pour le moment ) un système de carte avec une image par case.

Chaque case correspond donc a un champ de ma table de ma base.

Comme la carte va être d'une sacré taille, tout rentrer manuellement va être long, très long. Je me suis essayé a créer moi même un éditeur de carte 'visuel', a savoir :

Code :
-choisir l'intervalle de carte que l'on veut éditer ( l'origine de ma map est (0,0) ) (par exemple : editer de (0,0) à (30,30) ),
-l'afficher sous forme de tableau avec des bouton radio
-afficher l'ensemble des image de fond de cellule disponible,
-choisir une cellule, cliquer sur le fond choisis (input type="image")
-exécution de la requête qui insère le champ avec une id de champ, le nom du l'image associée choisie, l'abscisse et l'ordonné.

Ce n'est pas fonctionnel, je ne gagne que peut de temps.

Je souhaite donc savoir si certain ici on était confronté au même problème, si oui comment l'on il résolu; et si quelqu'un a déjà réalisé ce type d'éditeur (visuel ou tout autre solution efficace) et accepterait de le partager.


RE: Editeur de map - Sephi-Chan - 23-09-2009

J'ai réalisé un petit éditeur de carte à cases le jour où j'ai appris à utiliser Ajax et à manipuler XML avec PHP (j'ai fais du 2 en un ce jour là !).

Voilà ce que ça a donné : http://tryban.rpg.free.fr/AW/.

Bon, je ne pourrais pas te donner les sources car d'une, je ne les ai plus depuis longtemps (et les identifiants du FTP non plus), et puis en plus c'était moche.

Cependant, si c'est ce genre de chose que tu recherches, je peux t'expliquer comment en mettre un au points.


Sephi-Chan


RE: Editeur de map - Ter Rowan - 23-09-2009

bah perso j'utilise Excel

je colorie les cases, et une macro interprètre la couleur de chaque cellule et en créer une ligne insert (on pourrait aussi mettre dans la case des valeurs codifiant diverses choses)

du coup en natif : copier coller de bloc, possibilité de filtre,etc...

sinon je n'ai plus le fichier, mais a coder ca doit représenter quelques lignes à peine :

boucle ligneCarte
boucle colonneCarte
lecture cellule (ligneCarte, colonneCarte)
création de l'insert
écriture de l'insert quelque part
décallage d'une ligne pour le prochain insert
fin boucle colonneCarte
fin boucle ligneCarte


RE: Editeur de map - LoganG - 23-09-2009

Pour ma part, j'insère le code de ma map dans un fichier sous la forme :
posX/posY:image;
Que je vais chercher, puis lire ligne par ligne pour savoir quelle image placer à quel endroit (lors de la boucle d'affichage de la map)

Pour l'éditeur, j'ai utilisé Javascript :

Je crée une map vide avec des cases cliquables contenant un input type="hidden" id="x_y"
J'ai un autre input contenant la valeur de l'image en cours (arbre, rocher, ...)
Lors d'un clic sur une case, je change la valeur de l'image de fond pour la remplacer par mon image en cours (arbre, rocher..) et je modifie la valeur de l'input type="hidden" en lui donnant le nom de l'image attribuée.

J'envoie le tout par POST et je traite les infos avant de les insérer dans un fichier.
Ainsi mon fichier ressemble à ça :

Code :
*3/2:arbre1*5/2:rocher3*2/3:arbre1*4/3:arbre1*5/3:arbre1*7/3:arbre1*2/4:rocher3*3/4:rocher3*8/4:arbre1*5/5:arbre1*10/5:arbre1*2/6:arbre1*6/6:maison3*10/7:arbre1*4/8:maison3*7/8:arbre1*2/4:maison1*6/5:maison1*12/6:maison1*7/7:maison1*0/8:maison1

Et l'éditeur à ça :
[Image: editeur_map.jpg]


RE: Editeur de map - nialcen - 23-09-2009

Merci de votre rapidité !! C'est franchement agréable :good::respect::good:

La solution que tu me propose Sephi-sama est exactement ce que je recherche, mais je suis peu a l'aise avec l'AJAX (que je réserve pour la V2 de mon jeu si la V1 se vois couronné de succès) , aussi je t'envoie par mp mon skype si tu le souhaites, se sera peut être plus pratique, sinon si tu peux meme m'expliquer ici comment tu obtiens un tel résultat je suis tout ouïe ....


RE: Editeur de map - Sephi-Chan - 23-09-2009

Histoire de préparer un peu le nécessaire, il faudrait que tu expliques un peu comment ta carte est stockée.
Je t'aiderai à mon retour du taff.

Je te conseille d'utiliser Ajax dès le début pour ton éditeur, c'est un gain de temps énorme pour un éditeur (où tu fais déjà un truc long et chiant, si en plus tu te tapes les rechargements après chaque modification de case…). En plus, c'est vraiment pas compliqué avec les librairies qui vont bien (http://docs.jquery.com/Ajax) et quelqu'un pour t'aider.


Sephi-Chan


RE: Editeur de map - nialcen - 23-09-2009

Citation :...et quelqu'un pour t'aider
en effet !! et d'ailleur merci de ton aide par avance.

Ma carte est stockée de la façon la plus simple qui soit : un table a 4 champ:

id_terrain : int : auto increment : clée primaire
nom_terrain : text
posx : int
posy : int

nom_terrain n'est rien de plus que le nom de l'image du fond de la cellule sans l'extension
( exemple si l'image s'appel foret3.jpg, nom_terrain aura stoqué la valeur "foret3"),
de sorte que lors de l'affichage de la map, j'affiche pour telle coordonnées posx,posy, '<image src="'.$data['nom_terrain'].".jpg".'"> ;en gros [la c'est de tete, mais bref le principe est la....])

je ne c'est pas si ça te suffit ?


RE: Editeur de map - My Hotel - 23-09-2009

Une petite proposition, tu devrais faire une table qui recense tous tes terrains, et à la place de nom_terrain, tu mettrais l'ID du terrain dans la liste. Comme ça, si l'image d'un terrain change, tu n'as qu'à changer une seule entrée dans ta liste de terrains, et ils seront tous mis à jour.

C'est comme ça que je procède, mais c'est peut-être pas la meilleure solution.

P.S : la table de liste des terrains est mise en cache Smile


RE: Editeur de map - nialcen - 23-09-2009

hmm pour l'usage en jeu ? ou pour un éditeur ? je ne te suis pas bien ...


RE: Editeur de map - My Hotel - 23-09-2009

Non, ça a pas vraiment de rapport, c'est juste une suggestion d'optimisation quand à la structure de tes tables.

Sinon, pour l'éditeur, tout a été dit, je laisse Sephi t'aider Wink