[étape 2] RPG tactique isométrique -> déplacement du joueur - 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 2] RPG tactique isométrique -> déplacement du joueur (/showthread.php?tid=2487) |
[étape 2] RPG tactique isométrique -> déplacement du joueur - X-ZoD - 26-02-2008 aller on attache sa ceinture c'est reparti pour un tour ^^ pour ceux qui ont suivi la phase 1 de ce tuto en plusieurs etape, vous savez deja comment va se derouler le tuto (commentaire, exemples en image, etc ..) pour les autres .. je supose que vous etes la par curiosite ... bha prenez place ^^ Sommaire Citation : Déplacement du joueur niveau : facile mais requiert un minimum de conaissance en algorithme sinon les plsu fragile risquent de se perdrent Outils : un outil de debug de js poru verifier constement que vosu coder corectement et ne faites pa de merde, la console d'erreur de ff fera tres bien l'affaire deplacement simple d'une image (teleportation) on va commencer doucement et faire deplacer une image sur la droite histoire de comprendre comment ca marche -le principe beacoup de personne se demande comment on fait pour deplacer le personnage ainsi avec ce minimum de fluidité. je me suis moi meme posé la question il y a 2 ans en voyant le jeu de notre ancien membre Dr Night qui portait le titre de "phpore" (je ne sais pas si vous vous en rapler)... du coup on regarde la source javascript et on fuit (c'est ce qui se passe dans 70% des cas Apretez vous a faire le meme effet sur les visiteurs de votre site on va decortiquer le principe de la teleportation deja (utilisé dans 99.9% de jeux php que j'ai croisé sur le net jusqu'a aujourd'hui) alors on sait qu'une image peut avoir des attributs css du genr margin-top ou margin-left (jusque la rien d'interdit) si on modifie ces atributs forcement la position de l'image n'est plus la meme .. n'est ce pas ?(h) actuellement la methode la plsu utilisé fait que les joueurs cliquent sur un bouton et on change les atributs de cette image pour montrer que le personnage s'est déplacé.:ninga: Code PHP :
nous ce qu'on essai de faire dans un premier temps c'est donner "l'autorisation" au personnage de bouger... et de le regarder se deplacer mais comment lui dire que tu es ici maintenant et que dans un instant tu es la bas. alors voila ce qu'on va faire .. on va lui donner un compte a rebours au bout duquel il se deplacera (il changera ses atributs css) en javascript la fonction s'appelle setTimeout comment elle fonctionne ? voici son prototype (sa definition) Citation :setTimeout('fonction_javascript a effectuer', dans_cb_de_temps); on petit exemple ? ouvrez une page et mettez y Code : <script> en principe la fonction alert vous ouvre une pseudo popup d'alert en vous afichant le texte "2 secondes se seont ecoulés" on va se servir de cette fonction pour dire a notre image de se deplacer dans le temps on reprend la citation plu haut et on la modifie comme ceci Code PHP :
voila votre image se teleporte sur la droite au bout de 2 secondes ... maintenant on attaque la partie qui vous interesse le plus deplacement simple d'une image (fluide) C'est la que le niveau minimum algo+js est requis ... pourquoi ? car on va faire du recursif en javascript (je vois deja certains sourirent en se disant qu'ils pensent avoir capté le truc ^^) <= vous avez bien raison ^^ bon alors c'est quoi une fonction recursif ? une fonction non recursive est une fonction normal .. dans laquelle on apelle d'autre fonctions une recursive est une fonction qui se rapelle elle meme (donc tourne en boucle) :heuuu: on va proceder avec un exemple simple ... la fonction compter ^^ Code PHP :
donc ici en gros on apelle la fonction en lui disant que le premier parametre c'est 1 et qu'on veut arriver a 10; alors la fonction va verifier si $de (variable contenant le chiffre 1) est inferieur a $jusqua (variable contenant le 10) si ce n'est pas le cas il va apeler une fonction qui va continuer le traitement... mais on ne va pas creer 10 fonctions, alors on va tout simplement rapler la meme fonction en lui passant les nouveaus parametre => nouveaux car entre temps $de n'est plus egale a 1 mais a 2, et ainsi de suite ne vous embrouyé pas avec le fait que ce soit la meme fonction ... vous n'avez qu'à vous dire qu'il apelle une autre fonction mais qui a le meme code bon si vous avez compris tout ca on va faire la meme chose mai au lieu de compter on va deplacer l'image et ce ne sera pas du php mais du javascript Code PHP :
et voila nous avons une jolie image qui bouge << Topic de débat >> |