Tengo una duda, la cual es:
¿Se puede cambiar la profundidad de dibujo?
Es decir, yo tengo, a modo de ejemplo, un objeto que tiene una profundidad de -2, quisiera saber si es posible dibujar con ese mismo objeto a un circulo a una profundidad de 0. Entones si yo tuviera un objeto con profundidad -1 entremedio, se dibujaría el circulo detrás de él...
Llego a explicarme?
Saludos! :)
Si cambias la profundidad del objeto, no se cambia tambien la del dibujo?
vos quieres algo así como un circulo que remarque el objeto? como si fuer un juego de estrategia que cuando lo selecciona se marcan? ???
No, no es posible Silver_ligth, el sistema de depths de gm lo único que hace es dibujar los objetos con mas depth antes y pues los con menos depth después xD, y por obvias razones los objetos que se dibujan después van arriba, te pongo un ejemplo.
Tienes 3 objetos:
Citarobj_nube1: depth=3;
obj_nube2: depth=6;
obj_nube3: depth=5;
entonces al dibujarse lo único que se hace es ejecutar el evento draw de cada uno de los objetos en orden de mayor a menor.
Por lo que los eventos draw se ejecutarán en este orden.
CitarevDraw obj_nube2;
evDraw obj_nube3;
evDraw obj_nube1;
En fin, si intentas dibujar por ejemplo un sprite de un sol (que debe estar bajo todas la nubes) dentro del obj_nube1 no se podrá, ya que ya que ya se dibujaron los objetos con mas depth y simplemente quedara arriba de todos.
No, Claudia, no puedes cambiar el draw de un dibujo a uno distinto a su depth.
Lo que si podrias es usar el event draw para llamar los sprites o dibujos y se dibujaran por orden de linea de codigo, ejemplo.
draw_sprite(sprite1...) este quedaria detras
draw_circule(...) este en el medio
draw_sprite(...) este por encima.
Pero todo igual adoptaria la depth del object que llama el draw-.
Solucion crear un segundo object con una depth distinta y usarlo para dibujar el circulo con la depth que requieres.
y hacerlo visible o invisible según lo requieras.
Muchas gracias por sus respuestas =)
Ya tenía en claro como funcionaban los depth pero quería saber si es que existía esa posibilidad, para evitar tener que crear un objeto aparte, puesto que no es realmente necesario... pero bueno, veo que no es posible.
En fin, gracias a todos por las respuestas!
Nyan! :)
Creo que no es posible pero podrias utilizar una alternatiba:
Evento "draw"
draw_set_color(c_red)
draw_circle(x,y,100,0)
draw_sprite( otro_objeto.sprite_index , otro_objeto.image_single , otro_objeto.x , otro_objeto.y )
draw_set_color(c_blue)
draw_circle(x,y,50,0)
¿Me explico?
Si, comprendo perfectamente...
Creo que el inconveniente se plantearía cuando intente cambiar el sprite, de "otro_objeto". Puesto que es el personaje, ahora especifico.
Y pienso que sería engorroso tener que manejarlo desde otro objeto y más desde el evento draw XP