Hola a todos,

Hay una cuestion con la que estoy luchando desde hace tiempo, una de las soluciones fue dibujar dos sprites con diferente depth, pero....

se puede hacer en el mismo objeto?

EJ:
[gml]draw_set_depth(100);
draw_sprite(sprite1,0,16,16);

draw_set_depth(-100);
draw_sprite(sprite2,0,100,100);[/gml]


Espero haberme explicado...


--
Saludos

Checa mi canal de Youtube para tutoriales y charlas sobre desarrollo de videojuegos.


Lo dudo mucho, por la forma en la que el GM funciona.
Vim.

Nop, no va a funcionar, la depth se define al terminar el evento step (entre el end step y el draw event) asi que si cambias la depth en el draw event, no va a hacer ninguna diferencia hasta el proximo ciclo/frame del juego.

Lo que si podes hacer es usar dos objetos diferentes para dibujar, va a ser un poco mas rebuscado pero el resultado va a ser el que buscas ;)

#3 Septiembre 25, 2011, 05:33:34 AM Ultima modificación: Septiembre 25, 2011, 05:38:44 AM por brunoxzx
Es cierto, yo he tenido ciertos problemas con el m?todo que usa gm para dibujar (no se si lo habr?n notado) pero si creas un objeto en el evento draw te lo dibuja incorrectamente lo cual hasta donde tengo entendido no se puede reparar por lo ya dicho por manuel777, el ?nico problema es si yoyo ya lo habr? notado la verdad no tengo ni la menor idea de si se pueda reparar se me ocurre que podr?an hacer que si ya paso el lapso en el que se dibujaban los objetos de ese depth ya no se dibuje hasta el siguiente step, ah y otra cosa hay alguna manera de saber que objeto se dibujara primero si varios objetos tienen el mismo depth?.

Edit: Dios mio  :o:
CitarWadk
In order to see...
Moderadores globales
Legendario

Cita de: brunoxzx en Septiembre 25, 2011, 05:33:34 AM
Es cierto, yo he tenido ciertos problemas con el m?todo que usa gm para dibujar (no se si lo habr?n notado) pero si creas un objeto en el evento draw te lo dibuja incorrectamente lo cual hasta donde tengo entendido no se puede reparar
?Incorrectamente c?mo? Nunca me hab?a pasado algo as?. Pero de cualquier forma el evento draw es para dibujar, no para andar creando objetos.

El problema que hay ac? es que el GM ejecuta el evento draw de las instancias en orden, seg?n su depth. Primero dibuja el fondo de la room (si es que tiene), despu?s dibuja la instancia con menor depth, despu?s la siguiente, y as?; y cada una se dibuja "arriba" de las anteriores simplemente porque se dibuja despu?s. El GM no puede (que yo sepa) dibujar algo y despu?s dibujar otra cosa debajo. Hacerlo requerir?a calcular que partes de la segunda imagen tapar?an la primera, y no dibujar esas partes. Que es posible, seguramente lo es, pero es mucho m?s costoso que simplemente ir dibujando las cosas en orden.


Cita de: brunoxzx en Septiembre 25, 2011, 05:33:34 AMah y otra cosa hay alguna manera de saber que objeto se dibujara primero si varios objetos tienen el mismo depth?.
S?, seg?n el id de la instancia. Estoy casi seguro de que el GM ejecuta primero el evento draw de la instancia con id menor si encuentra dos con el mismo depth.


Cita de: brunoxzx en Septiembre 25, 2011, 05:33:34 AMEdit: Dios mio  :o:
CitarWadk
In order to see...
Moderadores globales
Legendario
?Qu?? O_o No me asustes.
Vim.

mmm Mala cosa... en fin supongo que tendre que seguir buscando algun metodo de arreglar esto XD



Como sea, gracias por su ayuda


--
Saludos

Checa mi canal de Youtube para tutoriales y charlas sobre desarrollo de videojuegos.


#6 Septiembre 25, 2011, 09:05:47 PM Ultima modificación: Septiembre 25, 2011, 10:31:44 PM por brunoxzx
Cita de: Wadk en Septiembre 25, 2011, 08:31:30 AM
?Incorrectamente c?mo? Nunca me hab?a pasado algo as?. Pero de cualquier forma el evento draw es para dibujar, no para andar creando objetos.

Bien solo imagina que creas un objeto con -10 de depth en el evento draw pero el siclo ya anda dibujando objetos con 20 de depth entonces gm dibuja ese objeto como si tuviera 20 de depth ya que no estaba creado cuando se estaban dibujando los objetos con menor depth.

Cita de: Wadk en Septiembre 25, 2011, 08:31:30 AM
Cita de: brunoxzx en Septiembre 25, 2011, 05:33:34 AMEdit: Dios mio  :o:
CitarWadk
In order to see...
Moderadores globales
Legendario
?Qu?? O_o No me asustes.

nada solo quer?a resaltar eso.
CitarWadk
In order to see...
Moderadores globales
Legendario

Y conforme al lo de que gm dibuja objetos con el mismo depth dependiendo de su id no estoy muy seguro de eso, lo comprobare XD.

Edit: OMG  :o encontre la respuesta a todas mis preguntas en este posthttp://gmc.yoyogames.com/index.php?showtopic=518013

Ah, ya veo. La verdad me sorprende que el GM no act?e ya como propone Mike.Dailly en ese post.


Sobre lo de Legendario. Reci?n me doy cuenta jaja. Debe ser porque llegu? a los 2000 mensajes ;).
Vim.