19-03-2010, 12:48 PM
sauf si tu connais la largeur et la hauteur (sur la carte) du batiment
genre caserne = largeur 3, hauteur 2
imaginons, si le joueur est en 0 0
une caserne est positionnée en x3 y-4
le joueur voit un rayon de trois cases
Forcément tu définiras (soit en force soit en calcul) une hauteur max et une margeur max
tu dois alors requêter en BDD autours du joueur sur :
en x : de -(3+largeur max) jusqu'à +(3+largeur max)
en y : de -(3+hauteur max) jusqu'à +(3+hauteur max)
là tu captes tous les batiments, et tu vérifies si une partie de leur "anatomie" est visible ou non
dans notre cas, la caserne est attrapée par la requete
elle est positionnée en x3 y-4
donc elle couvre les zones
(x3 y-3) (x3 y-4) (x4 y-3) (x4 y-4) (x5 y-3) (x5 y-4)
==> on verra un coin (x3 y-3)
voilà j'espère être clair ^^
genre caserne = largeur 3, hauteur 2
imaginons, si le joueur est en 0 0
une caserne est positionnée en x3 y-4
le joueur voit un rayon de trois cases
Forcément tu définiras (soit en force soit en calcul) une hauteur max et une margeur max
tu dois alors requêter en BDD autours du joueur sur :
en x : de -(3+largeur max) jusqu'à +(3+largeur max)
en y : de -(3+hauteur max) jusqu'à +(3+hauteur max)
là tu captes tous les batiments, et tu vérifies si une partie de leur "anatomie" est visible ou non
dans notre cas, la caserne est attrapée par la requete
elle est positionnée en x3 y-4
donc elle couvre les zones
(x3 y-3) (x3 y-4) (x4 y-3) (x4 y-4) (x5 y-3) (x5 y-4)
==> on verra un coin (x3 y-3)
voilà j'espère être clair ^^