Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Rubybrillante2 en Diciembre 08, 2012, 07:31:35 AM

Título: Problema con depth isometrico(Solucionado)
Publicado por: Rubybrillante2 en Diciembre 08, 2012, 07:31:35 AM
 :GM8: Hola, tengo un problema que no he podido solucionar, estoy haciendo un juego isometrico, las colisiones van bien y todo.
Trate de usar el depth=-y pero solo me sirve en 2 lados, sin embargo use el depth=-y+x, y funciono en 3 lados
(http://img443.imageshack.us/img443/7128/examplenh.png)
Pero en el otro lado la caja se pone "encima" de mi personaje
(http://img12.imageshack.us/img12/1934/badsf.png)
Y no he podido hacer que funcione bien el depth en los 4 lados de la caja ¿Que podria hacer para que el depth me funcione en los 4 lados? ???
Título: Re:Problema con depth isometrico
Publicado por: Texic en Diciembre 08, 2012, 08:19:29 AM
Tenés que usar el depth=-y pero acomodado para que se refiera al recuadro donde está ubicado
Me explico, el orígen vertical de la caja debería estar en el mismo lugar que el orígen vertical del personaje en cuanto a una posición que elijas en la grid. Te ejemplifico
(http://dl.dropbox.com/u/18232060/explicacion.PNG)
En esta imágen el orígen vertical del sprite caja debería coincidir con la línea que corta el recuadro donde se encuentra, y el orígen vertical del personaje debería coincidir con la línea que corta el recuadro donde se encuentra. Entonces el punto de comparación vertical estaría basado en la posición real (la baldosa) donde se encuentra el objeto y no en el tamaño o bounding box de su sprite
Título: Re:Problema con depth isometrico
Publicado por: Rubybrillante2 en Diciembre 08, 2012, 08:56:30 AM
Lol, la solucion era mas facil de lo que pense :-[, ya habia intentado hacer esto, pero solo lo hice con las masks, hahahahaha, Gracias bro ^^, pero me quedo una duda mas ¿El depth=-y funciona tambien en rectangulos?
Título: Re:Problema con depth isometrico
Publicado por: Texic en Diciembre 08, 2012, 05:55:30 PM
Sip, siempre funciona, a veces hay que jugar un poco con los puntos de referencia que se toman en los sprites, pero es mucho más facil en un sistema no isométrico
Si el bloque es más alto el código funciona igual, porque estaría ocupando el mismo bloque, ahora si ocupa más de un y la escala no es proporcional (mide más en horizontal que en vertical o viceversa) tendrías que dividirlo en varias piezas si no me equivoco