Bonjour à tous ! Je n'ai pas trop le temps de passer sur le forum, en ce moment mais je vois qu'il est toujours aussi actif
Alors, je vais essayer de répondre rapidement à chacun :
Pour ceux qui s'étonnent de la complexité de la formule, faut savoir qu'à la base, ce n'était pas vraiment un tuto, mais plutôt une réflexion assez générale sur la 3D iso avec des hexotuiles, donc mes formules sont le plus larges possibles et elles permettent (normalement) de placer des tuiles de taille variable (c'est à dire que l'utilisation du sinus laisse la possibilité d'implémenter une fonction de zoom, par exemple).
Mais il est possible de simplifier considérablement les formules si on utilise toujours des tuiles de taille fixe. Celà reviendrait à remplacer les complexes formules faisant appel à la trigonométrie par des constantes calculées avant en fonction
de la taille de vos tuiles.
Teclis, j'avoue que tes coordonnées sont étranges car tu devrais normalement placer ta première tuile aux coordonnées 0,0 (Damën, ces coordonnées correspondent à la position en pixels, puisque tu le demandais : la formule transforme la "position cases" en "position pixels"). Ce tuto (si on peut appeler ça un tuto, vu qu'il n'y a pas encore de cas pratique), est relativement compliqué et il vaut mieux le suivre à la lettre au début.
Teclis, j'ai l'impression que tu pars de 1 dans tes boucles pour placer tes tuiles, alors qu'il faut impérativement partir de 0 (c'est écrit, je crois) : les les calculs sont plutôts complexes et la position abscisse est fonction de la position en ordonnée (et inversement), donc un décalage de 1 au début peut effectivement tout fausser. Je rappelle aussi que la valeur de côté n correspond au côté de l'hexagone en vue 2D (vue de dessus), c'est à dire avant toute déformation iso. Il ne faut pas utiliser la taille de l'image mais bien la taille théorique de la figure (je proposerai une formule en fonction de la taille de l'image si j'ai le temps).
Pour répondre à ta question, Teclis, je suis quasiment sûr de mes formules, même si elles peuvent sans doute être optimisées. Elles sont testées sous Flash mais je me suis assuré avant que les positions ne seraient pas faussées. Actuellement, j'ai encore deux semaines de taf intensif devant moi (je dois produire plus de 10 pages de synthèse par jour) mais je ferai des tests en php dès que j'aurai le temps pour transformer mon explication mathématique en un vrai tuto.
Je rajouterai sans doute une partie sur la réalisation graphique de tuiles (ça peut servir) et une dernière sur la conversion de la position de la souris en position iso pour hexagones, ce qui est indispensable si on utilise GD pour générer la carte (ce qui suppose encore pas mal de calculs).
Bref, j'ai pas trop le temps de détailler mes calculs pour l'instant, mais j'essaierai de le faire plus tard, pour rendre plus accessible ce gros morceau.
Merci, Shudrum, ça fait plaisir
@+
EDIT : Teclis, pourrais-tu résumer ce que tu as modifié dans ma formule et ce qui te posais problème ?
Alors, je vais essayer de répondre rapidement à chacun :
Pour ceux qui s'étonnent de la complexité de la formule, faut savoir qu'à la base, ce n'était pas vraiment un tuto, mais plutôt une réflexion assez générale sur la 3D iso avec des hexotuiles, donc mes formules sont le plus larges possibles et elles permettent (normalement) de placer des tuiles de taille variable (c'est à dire que l'utilisation du sinus laisse la possibilité d'implémenter une fonction de zoom, par exemple).
Mais il est possible de simplifier considérablement les formules si on utilise toujours des tuiles de taille fixe. Celà reviendrait à remplacer les complexes formules faisant appel à la trigonométrie par des constantes calculées avant en fonction
de la taille de vos tuiles.
Teclis, j'avoue que tes coordonnées sont étranges car tu devrais normalement placer ta première tuile aux coordonnées 0,0 (Damën, ces coordonnées correspondent à la position en pixels, puisque tu le demandais : la formule transforme la "position cases" en "position pixels"). Ce tuto (si on peut appeler ça un tuto, vu qu'il n'y a pas encore de cas pratique), est relativement compliqué et il vaut mieux le suivre à la lettre au début.
Teclis, j'ai l'impression que tu pars de 1 dans tes boucles pour placer tes tuiles, alors qu'il faut impérativement partir de 0 (c'est écrit, je crois) : les les calculs sont plutôts complexes et la position abscisse est fonction de la position en ordonnée (et inversement), donc un décalage de 1 au début peut effectivement tout fausser. Je rappelle aussi que la valeur de côté n correspond au côté de l'hexagone en vue 2D (vue de dessus), c'est à dire avant toute déformation iso. Il ne faut pas utiliser la taille de l'image mais bien la taille théorique de la figure (je proposerai une formule en fonction de la taille de l'image si j'ai le temps).
Pour répondre à ta question, Teclis, je suis quasiment sûr de mes formules, même si elles peuvent sans doute être optimisées. Elles sont testées sous Flash mais je me suis assuré avant que les positions ne seraient pas faussées. Actuellement, j'ai encore deux semaines de taf intensif devant moi (je dois produire plus de 10 pages de synthèse par jour) mais je ferai des tests en php dès que j'aurai le temps pour transformer mon explication mathématique en un vrai tuto.
Je rajouterai sans doute une partie sur la réalisation graphique de tuiles (ça peut servir) et une dernière sur la conversion de la position de la souris en position iso pour hexagones, ce qui est indispensable si on utilise GD pour générer la carte (ce qui suppose encore pas mal de calculs).
Bref, j'ai pas trop le temps de détailler mes calculs pour l'instant, mais j'essaierai de le faire plus tard, pour rendre plus accessible ce gros morceau.
Merci, Shudrum, ça fait plaisir
@+
EDIT : Teclis, pourrais-tu résumer ce que tu as modifié dans ma formule et ce qui te posais problème ?