08-09-2008, 09:16 AM
Salut ! Je vais essayer de répondre rapidement :
1. As-tu vérifié que tu avais bien utilisé des angles en radian dans tes formules et non pas des angles en degrés ? Beaucoup de langages de prog utilisent le radian en trigonométrie. En PHP, la formule serait donc sin(deg2rad(45)) * 38 * 2 = 53 et non pas sin(45) * 38 * 2 = 68.
2. Pour le nombre négatif, c'est le même truc : sin(deg2rad(60))*38*2 donne environs 65 tandis que sin(60)*38*2 donne -24.
3. Cet article analyse en détail la construction d'un hexagone mais comme tu n'as pas vraiment d'isométrie, tu peux utiliser directement les dimensions de ton image : c'est plus facile à imaginer et à utiliser (ma formule traduit la logique mais en production, il vaut mieux avoir un minimum de calculs). Ici, on sait que tes images font 74px de large et 38 de hauteur.
La position Y, c'est donc n° de ligne (en partant de 0) + 38/2 lorsque le n° de colonne est impair.
pour l'image 0;0 c'est donc Y = 0 pour 1;0 c'est Y= 0+38/2 pour 2;0 c'est Y= 0
Enfin, une tuile est placée aux à 56px du début de l'autre (74- le côté de 18).
X est donc égal à n° de colonne * 56.
4. Pour les décors, il faut utiliser les valeurs d'une tuile vide et faire une soustraction. en fonction de la taille réelle de l'image.
@+
1. As-tu vérifié que tu avais bien utilisé des angles en radian dans tes formules et non pas des angles en degrés ? Beaucoup de langages de prog utilisent le radian en trigonométrie. En PHP, la formule serait donc sin(deg2rad(45)) * 38 * 2 = 53 et non pas sin(45) * 38 * 2 = 68.
2. Pour le nombre négatif, c'est le même truc : sin(deg2rad(60))*38*2 donne environs 65 tandis que sin(60)*38*2 donne -24.
3. Cet article analyse en détail la construction d'un hexagone mais comme tu n'as pas vraiment d'isométrie, tu peux utiliser directement les dimensions de ton image : c'est plus facile à imaginer et à utiliser (ma formule traduit la logique mais en production, il vaut mieux avoir un minimum de calculs). Ici, on sait que tes images font 74px de large et 38 de hauteur.
La position Y, c'est donc n° de ligne (en partant de 0) + 38/2 lorsque le n° de colonne est impair.
pour l'image 0;0 c'est donc Y = 0 pour 1;0 c'est Y= 0+38/2 pour 2;0 c'est Y= 0
Enfin, une tuile est placée aux à 56px du début de l'autre (74- le côté de 18).
X est donc égal à n° de colonne * 56.
4. Pour les décors, il faut utiliser les valeurs d'une tuile vide et faire une soustraction. en fonction de la taille réelle de l'image.
@+