Bonjour, avant de vous mettre le code j'explique mon projet. J'ai créé une sorte de petit jeu ,une animation flash dans laquelle je place des pixel "gagnant" et où l'utilisateur devra trouver l'endroit grace a des indice. Afin de l'aider je lui place un petit radar qui va lui dire s'il se rapproche d'un pixel "gagnant" ou non (un genre de chaud , froid sauf avec 5 couleur ).
Voila le code :
x.item(i).firstChild.data est une variable qui contient la coordonnée 'x' d'un pixel gagnant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 for (i=0;i<x.length;i++) { if((x.item(i).firstChild.data+50>=mouse_x) &&( x.item(i).firstChild.data-50<=mouse_x)) { if((y.item(i).firstChild.data+50>=mouse_y) && (y.item(i).firstChild.data-50<=mouse_y)) { radar = 5; alert("radar 5"); } } if((x.item(i).firstChild.data+40>=mouse_x) && (x.item(i).firstChild.data-40<=mouse_x)) { if((y.item(i).firstChild.data+40>=mouse_y) && (y.item(i).firstChild.data-40<=mouse_y)) { radar = 4; alert("radar 4"); } } if((x.item(i).firstChild.data+30>=mouse_x) && (x.item(i).firstChild.data-30<=mouse_x)) { if((y.item(i).firstChild.data+30>=mouse_y) && (y.item(i).firstChild.data-30<=mouse_y)) { radar = 3; alert("radar 3"); } } if((x.item(i).firstChild.data+20>=mouse_x) && (x.item(i).firstChild.data-20<=mouse_x)) { if((y.item(i).firstChild.data+20>=mouse_y) && (y.item(i).firstChild.data-20<=mouse_y)) { radar = 2; alert("radar 2"); } } if((x.item(i).firstChild.data+10>=mouse_x) && (x.item(i).firstChild.data-10<=mouse_x)) { if((y.item(i).firstChild.data+10>=mouse_y) && (y.item(i).firstChild.data-10<=mouse_y)) { radar = 1; alert("radar 1"); } } }
y.item(i).firstChild.data : idem que x.item(i).firstChild.data sauf avec 'y'.
mouse_x est une variable qui contient la coordonnée 'x' de la souris
mouse_y : idem que mouse_x sauf avec 'y'.
Voila mon probleme (je vais prendre un exemple se sera plus simple) :
Imaginons que l'utilisateur clic au coordonnée 600,387 et que le pixel "gagnant" se trouve au coordonnée 600,400
Dans ce cas la, mon programme fonctionne parfaitement et me renvoie "radar 2".
Mais si l'utilisateur clic au coordonnée 600, 422.
Dans ce cas le programme me renvoie toujours "radar 1".
En clair, des que mouse_y > y.item(i).firstChild.data le programme renvoie toujours "radar 1"
Pourtant quand je remplace les variables par des valeurs fixe (par exemple 600,400 pour le pixel gagnant et 600,422 pour les coordonnée de la souris) je ne devrais pas rentrer dans le if.
Comme on peut le voir je ne devrai pas rentrer dans le deuxieme if.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if((600+10>=600) && (600-10<=600) { if((400+10>=422) && (400-10<=422)) { radar = 1; alert("radar 1"); } }
Je bloque depuis des heures et j'espere que vous pouvez m'aider.
Merci
Partager