Felicidades, Tyco

Started by Drumpi, October 05, 2009, 02:57:31 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

La momia que fuma

Felicidades con retraso, fruto sin duda del retraso en mi mente XD

Drumpi

Quote from: Windgate on October 07, 2009, 05:19:31 AM
Me gustaría ver ese fenómeno en la práctica, ¿Te refieres al caso en el que al baldosa DEBE tapar al muñeco y no al revés? ¿No debería tener siempre el muñeco mayor z que TODA baldosa?

Y menor z que TODA baldosa para cuando el muñeco DEBE tapar la baldosa...

Yo siempre he usado z=-y en esos menesteres... Sin isometría... Ahora no enfoco el problema al que os referís.
Quote from: TYCO on October 07, 2009, 01:29:55 PM
Yo no lo sé de cabeza... tendría que mirarlo, pero... si uso z=-y; la personaje... le pongo.. z=-y+alto_maximo_de_las_baldosas; y así ya estaría??? mmmm ya digo que es lo primero que se me ocurre de cabeza.

No, vereis, me refiero a que... pensad en un tile isométrico, es un rombo ¿no?, si hacemos que z=-y , el personaje sólo se dibujará por detras de la baldosa cuando rebase la mitad del tile, pero antes ha estado "pisando" la esquina inferior, que se supone más cerca que el pie del personaje, por lo que debería taparlo en ese momento. La teoría es que el personaje debe verse siempre por encima mientras el centro no "toque" el tile, o sea, no toque el "rombo".
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Windgate

Arg, no comprendo, si el tile es una baldosa (SUELO) el PJ siempre tendrá que dibujarse por encima, tapando la baldosa, no veo sentido a que en algún momento la baldosa (SUELO) deba tapar al personaje.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

DCelso

es que no solo sirven para dibujar el suelo que pisa el personaje, también podría dibujar una piedra o una columna o un arbol y quedaría raro que si el arbol está en y=7 y el personaje está en y=6 éste se viera por encima del arbol. Casi siempre se cumple lo de z=-y pero no en estos casos, juega al softice de nes por ejemplo y verás lo que digo.
http://www.youtube.com/watch?v=E20jk5vgkdQ
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Windgate

Ahhh, amigo, ya veo lo que dices.

En ese caso apoyo la teoría de que cada fila de tiles horizontal <><><> debe tener una z distinta, menor cuanto más "abajo" de la pantalla se encuentre (O sea, z=-y para los tiles).

En cuanto al personajito:

Punto de control EN LOS PIES y tomar la z del tile superior cuando está más arriba del centro del tile:

  p
<><><>

Tomar la z del tile inferior cuando está más abajo del centro del tile:

<><><>
    p

Y tomar exactamente la z del tile cuando está justo en su centro, cosa que en tiles como árboles o columnas no debiera pasar, puesto que son sólidos cual consistente zurullo mañanero, pero haría la labor igualmente:

<><p><>

Vamos, que seguramente hayamos llegado a la misma conclusión explicado de diferente forma. Lo anterior funciona, al menos en teoría, como el comunismo... Como Windows XP.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Drumpi

Si, bueno, más o menos, los sprites, en el motor no toman nunca la misma z que los tiles: o están por delante o están por detrás.
Piensa que un mundo isométrico no es sólo un suelo, tiene tres dimensiones, y lo mismo que pones un suelo, puedes hacer columnas, puentes, plataformas volantes... a eso me refería con "plantas", y estas deben tener una z aun menor.
Pero vamos, que estoy intentando que este tipo de cosas no las tengais ni que planteárosla cuando se use el motorcillo. Aunque estaría bien que os comiérais un poco el coco y me echárais una mano para tomar una decisión en http://forum.bennugd.org/index.php?topic=817.0 ;D ;D ;D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Windgate

Pues sí, me has hecho comerme el coco y es curioso, pero al final la solución es sencilla, menos mal.

He pensado también el caso de que el tile sea "profundo", un agujero en el suelo, y el protagonista se meta dentro... En ese caso debe mantenerse la z del personaje en función de la z de la fila de tiles en la que se encuentra el agujero... Quiero decir, que si el protagonista cayese por el agujero debería modificar su y durante la caída, pero eso no debería afectar a su z, ¿Verdad?

Y en el caso opuesto, en el que el personaje está subido en un tile elevado ocurre lo mismo, su z debe quedar en función de la z de la fila de tiles que está pisando, por mucho que cambie su y para que se vea en lo alto del tile elevado.

Vamos, eso es lo que he pensado pensadito y debería ser una de las soluciones óptimas para este problemita xD
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es