Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Dibujar dos imagenes con diferente DEPTH  (Leído 1125 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Jucarave

  • Ganador Proyecto Nexo
  • Beta-tester
  • Adicto
  • *
  • Puntos: 431
  • Mensajes: 488
  • Agradecido: 27 veces
  • Sexo: Masculino
  • De regreso con un nuevo proyecto
    • Ver Perfil
    • Jucarave Games
en: Septiembre 23, 2011, 11:26:45 pm
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:
draw_set_depth(100);
draw_sprite(sprite1,0,16,16);

draw_set_depth(-100);
draw_sprite(sprite2,0,100,100);


Espero haberme explicado...


--
Saludos

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

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Wadk

  • In order to see...
  • Legendario
  • *
  • Puntos: 274
  • Mensajes: 2.355
  • Sexo: Masculino
  • ... you must close your eyes.
    • Ver Perfil
Respuesta #1 en: Septiembre 24, 2011, 12:17:50 am
Lo dudo mucho, por la forma en la que el GM funciona.

 


Desconectado manuel777

  • Habitual
  • *
  • Puntos: 0
  • Mensajes: 55
  • Sexo: Masculino
  • Game Design is FUN
    • Ver Perfil
    • InvaderGames
Respuesta #2 en: Septiembre 25, 2011, 01:31:22 am
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 ;)


Desconectado brunoxzx

Respuesta #3 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 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:
Citar
Wadk
In order to see...
Moderadores globales
Legendario
« última modificación: Septiembre 25, 2011, 05:38:44 am por brunoxzx »

 


Desconectado Wadk

  • In order to see...
  • Legendario
  • *
  • Puntos: 274
  • Mensajes: 2.355
  • Sexo: Masculino
  • ... you must close your eyes.
    • Ver Perfil
Respuesta #4 en: Septiembre 25, 2011, 08:31:30 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.


ah 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.


Edit: Dios mio  :o:
Citar
Wadk
In order to see...
Moderadores globales
Legendario
¿Qué? O_o No me asustes.

 


Desconectado Jucarave

  • Ganador Proyecto Nexo
  • Beta-tester
  • Adicto
  • *
  • Puntos: 431
  • Mensajes: 488
  • Agradecido: 27 veces
  • Sexo: Masculino
  • De regreso con un nuevo proyecto
    • Ver Perfil
    • Jucarave Games
Respuesta #5 en: Septiembre 25, 2011, 05:59:00 pm
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.

 


Desconectado brunoxzx

Respuesta #6 en: Septiembre 25, 2011, 09:05:47 pm
¿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.

Edit: Dios mio  :o:
Citar
Wadk
In order to see...
Moderadores globales
Legendario
¿Qué? O_o No me asustes.

nada solo quería resaltar eso.
Citar
Wadk
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
« última modificación: Septiembre 25, 2011, 10:31:44 pm por brunoxzx »

 


Desconectado Wadk

  • In order to see...
  • Legendario
  • *
  • Puntos: 274
  • Mensajes: 2.355
  • Sexo: Masculino
  • ... you must close your eyes.
    • Ver Perfil
Respuesta #7 en: Septiembre 26, 2011, 02:13:52 pm
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 ;).