Hola a todos!!
He estado informandome sobre pathfinding, y en la mayoria de los documentos, se utiliza el metodo de un bitmap con dos colores (pisable, no pisable). Pero observando algunos juegos (sobre todo aventuras graficas), he visto que utilizan cuadrilateros. La forma en que los utilizan es la siguiente, definen los cuadrilateros por sus cuatro puntos y todo lo que este en los cuadrilateros es pisable. Por ejemplo:
(0,0)---------------Pantalla-----------------------
| a4
| /
| //
| / / b4
| b4|/--/-------/c4
| /| / /
| / | / / /c3
| a1 / |/ B / C /
| / A /b1 /c1 /
| _____/ / /
| a2 a3 / /c2
| /b2
He dibujado 3 cuadrilateros A (a1,a2,a3,a4), B (b1,b2,b3,b4), C (c1,c2,c3,c4) (espero que se vean bien). Bien, pues los puntos pisables, son aquellos que están dentro de cualquier cuadrilatero. Aqui es donde me surgen las dudas:
- Si yo selecciono un punto de la pantalla de coordenadas (x,y) con el raton, ¿como puedo saber si ese punto esta en un cuadrilatero o no?. Si fueran rectangulos, o cuadrados, es muy sencillo, pero con cuadrilateros, no consigo solucionar el problema.
- Si un un punto (x,y) no esta dentro de un cuadrilatero, ¿como se localiza el cuadrilatero mas cercano?.
- En cuanto a aplicar el pathfinding, cuando utilizas un bitmap bicolor, ya tienes todos los puntos para realizar el pathfindig, pero con cuadrilateros, ¿Tendrias que comprobar si cada punto esta o no en uno de los cuadrilateros?. Si esto fuera asi, el costo del pathfinding sería muy alto, a no ser que la funcion para comprobar si un punto esta en un cuadrilatero fuera de costo minimo.
Existe otro sistema similar, pero en vez de utilizar cuadrilateros, utiliza triangulos. Y me surgen las mismas dudas.
Espero que podais ayudarme. Y muchas gracias de antemano.
[ Este Mensaje fue editado por: DVM el 2002-08-29 19:20 ]
[ Este Mensaje fue editado por: DVM el 2002-08-29 19:21 ]
He estado informandome sobre pathfinding, y en la mayoria de los documentos, se utiliza el metodo de un bitmap con dos colores (pisable, no pisable). Pero observando algunos juegos (sobre todo aventuras graficas), he visto que utilizan cuadrilateros. La forma en que los utilizan es la siguiente, definen los cuadrilateros por sus cuatro puntos y todo lo que este en los cuadrilateros es pisable. Por ejemplo:
(0,0)---------------Pantalla-----------------------
| a4
| /
| //
| / / b4
| b4|/--/-------/c4
| /| / /
| / | / / /c3
| a1 / |/ B / C /
| / A /b1 /c1 /
| _____/ / /
| a2 a3 / /c2
| /b2
He dibujado 3 cuadrilateros A (a1,a2,a3,a4), B (b1,b2,b3,b4), C (c1,c2,c3,c4) (espero que se vean bien). Bien, pues los puntos pisables, son aquellos que están dentro de cualquier cuadrilatero. Aqui es donde me surgen las dudas:
- Si yo selecciono un punto de la pantalla de coordenadas (x,y) con el raton, ¿como puedo saber si ese punto esta en un cuadrilatero o no?. Si fueran rectangulos, o cuadrados, es muy sencillo, pero con cuadrilateros, no consigo solucionar el problema.
- Si un un punto (x,y) no esta dentro de un cuadrilatero, ¿como se localiza el cuadrilatero mas cercano?.
- En cuanto a aplicar el pathfinding, cuando utilizas un bitmap bicolor, ya tienes todos los puntos para realizar el pathfindig, pero con cuadrilateros, ¿Tendrias que comprobar si cada punto esta o no en uno de los cuadrilateros?. Si esto fuera asi, el costo del pathfinding sería muy alto, a no ser que la funcion para comprobar si un punto esta en un cuadrilatero fuera de costo minimo.
Existe otro sistema similar, pero en vez de utilizar cuadrilateros, utiliza triangulos. Y me surgen las mismas dudas.
Espero que podais ayudarme. Y muchas gracias de antemano.
[ Este Mensaje fue editado por: DVM el 2002-08-29 19:20 ]
[ Este Mensaje fue editado por: DVM el 2002-08-29 19:21 ]