[étape 1] RPG tactique isométrique -> création de la 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 : [étape 1] RPG tactique isométrique -> création de la map (/showthread.php?tid=2345) |
[étape 1] RPG tactique isométrique -> création de la map - X-ZoD - 04-02-2008 Prologue Cela faisait bien longtemps que je n'avais pas tapé de tuto sur jeu php ^^ les plus anciens du forum doivent se souvenir de ces "tutos" plus ou moins pouris ^^ ... les mois passent et je continue de m'améliorer meme si je ne me considère pas comme ayant un niveau élevé en php pour le moment .. je susi encore en phase de découverte et je ne fais que vous faire profiter du peu de conaissance acquis jusqu'à ce jour (date de ce post). Aussi j'attends de ceux qui en savent plus que moi qu'il me recorigent si besoin, je n'en serait que moins con et pour ca je leur en remercis (^^) j'espere mener ce tuto jusqu'au bout et vous permettre d'obtenir quelque chose qui ressemblera plus ou moins à ca Citation :Video Youtubemais pas trop ressemblant quand meme ce tuto est plutot long donc je vais le diviser en plusieurs parties. Sommaire Citation : Je ne vais pas reprendre les bases necessaires pour suivre correctement ce tuto, aussi je mettrais en debut de chaque tuto une echelle de difficulté vous permettant de savoir si vous devez bloquer plus ou moins beaucoup de tenter pour vous pencher sur l'etape en question. Il ne s'agit pas d'une echelle de difficulté de code proprement dite mais vise plutot a signaler au lecteur (vous donc) si ce sera fastidieux ou pas (en compreension, recherches, temps etc ...) car le code en lui même n'a rien de compliqué si l'on est curieux P.S j'ecris ce tuto pendant mes pauses entre deux bugs histoire de me changer les idées ^^ (mdr) donc ne vous inquitez pas si parfois le tuto est pas fini .. je precise a la fin si il y a une suite qui arrive bientot ou si l'étape est terminée Création de la map niveau : facile Outils : 2 ou 3 de vos neuronnes Création d'une simple tile ne réinventons pas la roue, un excélent tuto àdéjà été tapé par harparine disponible sur le wiki à cette adresse http://wiki.jeuweb.org/tutoprog:3d_iso_et_tuiles_hexagonales Vous y trouverez la methode pas à pas pour creer une tile isometrique à partir d'un simple carré. Si je suis les lignes de son tuto pas a pas on obtient facilementl e resultat suivant (je reprends les points importants pour les fainaiants) Citation :creer un carré avec les dimensions de votre choix Tile en perspective (OPTIONELLE) bon c'est cool on a fait une tile iso ... apres personnelement je pousse le vice de fake 3D jusqu'au bout donc je vais lui donner une perspective qui nous en raproche un peu plus en rajoutant des 2 facades a notre tile ... de facon a ce qu'elle ai un peu l'aperence d'un pavé. Cette partie est optionelle ... donc a vous de voir si ca vou interesse ou pas .... c'est pas plus compliqué que la premeire partie ... donc c'est juste une question de gout Citation :L'astuce c'est de surposer deux exemplaires de tiles l'une par dessus l'autre pour obtenir ceci Bon bha ca c'est fait ...on enchaine sur l'assemblage de ces éléments pour faire une map... c'est la que l'on va toucher au code Assemblage des tiles Bon je vous que les math moi c'est pas mon fort .. surtout quand il faut relire les calculs faits par quelqu'un d'autre.... Harparine a su nous donner les calculs exacts dans l'etape 2 de son tuto mais je sais pas pourquoi ca rentrait pas ... alors bon peut etre que j'aurai du me pencher plus de 3 minutes sur ses formules ... mais j'ai un reel soucis avec les math enfin bref ... je vous donne ma facon (peut etre bourin) d'assembler les tiles. je vais vous expliquer théoriquement ma facon de procéder avant de vous faire part du code en lui-même. je place ma tile en fonction de l'espace disponible autour c'est a dire qu'elle est positioné en fonction de la marge entre elle et le bord de son conteneur (<td>, <div>, etc ..) le plus simple pour le moment reste la div nous avons donc une <div></div> dans laquelle nous allons placer chacune de nos tiles toutes par rapport a la bordure gauche et top de la div. ainsi nous pouvons placer nos tiles où bon nous semble dans cette div. je vous donne un exemple tout bete pour comprendre ou je veux en venir: Code PHP :
je ne peux pas être plus explicite ^^ on va tout de meme rajouter deux atributs au style des images pour qu'elle puissent se superposer sans trop de soucis... Citation :; float:left; position:absolute;pour plus d'info .... direction google (pas le temps de faire un cours aprofondi. bon on va attaquer la derniere partie de ce tuto (ouf) il va faloir placer les tiles les unes apres les autres en tenant bien compte des coordonnées des précedentes .. les tiles vont etres placées en losange(on fait de l'iso ou pas ?) donc on va commencé par placé la premiere au centre de la div et ensuite on passe a la ligne suivante (on en place 2) puis ligne suivante (on en place 3), etc ... Important il faut bien prendre en compte les dimension de la tile avec laquelle nous allons travailler.. l'exemple qui va suivre a ete fait avec une tile de 44x23. Pour ceux qui ont fait des tiles en perspectives (optionelle) ne tenez pas compte de la taille de l'image mais uniquement de la surface isometrique Nous allons donc commencer par fixer les positions de bases de la premiere tile(c'est par rapport a elles que lespositions des autres tiles seront deduites). c'est parti .. Citation :notez sur un brouillons vos position de bases ...en l'occurence notre premiere tile sera collé au bord haut du div (0px) et sera a 176pixels du bords gauche ...donc assez eloigné... on va appliquer tout ca à notre première image Code PHP :
ca c'est fait maintenant comment savoir où va t'on placer la deuxieme tile ?(censé etre en bas a gauche de la premiere) bha un peu de math et de logique (bha ouais sinon c'est pas drole) c'est comme si il falait deplacer la premiere tile en bas a gauche mais le sommet de cette tile doit toucher la pointe gauche de son ancien emplacement donc en gros on la deplace vers le bas de moitié... et sur la gauche de moitié aussi donc on prend la moitié de la hauteur de la tile (23/2 = 11 par arrondie) et on la rajoute au margin top 0+11= 11 ^^ meme chause pour le margin left on prend la moitié de la largeur (44/2=22) et on la soustrait au margin left (puisque que l'on se deplace sur la gauche) 176-22=154 les positions de notre nouvelle tile sera donc margin-top:11px et margin-left:154px si on veut une tile sur la droite on rajoute la moitié de la largeur plutot que de la soustraire donc au final pour placer 3 tiles le code ressemblera a Code PHP :
alors heureux ? vous venez d'alligner 3 cases de votre premiere map isometrique a vous de vous amuser avec maintenant (bha non les coco vais pas vous pondre tout le code non plus ) Citation :au final ... voilou c'est fini ... alors c'était si dur que ca ? le post d'aide se trouve par ici http://www.jeuweb.org/board/showthread.php?tid=3273 avec un peu de chances des modifications interviendront dans ce tuto je ne pense pas passer aux étapes suivante si je n'ai pas de retour sur cette premiere etape je rapelle tout de meme que je peux prendre rdv sur l'irc si besoin bonne journee a tous. << Topic du débat >> RE: RPG tactique isométrique [ étape 1->création de la map ] - X-ZoD - 05-02-2008 aller un petit up pour signaler que j'ai fini les edit et donc que cette premiere version du tuto est finie ... pas de retour pour ce tuto = pas de suites ^^ (logique non) |