Buenas, tengo un objeto que en su metodo create deberia de crear una background y ponerselo a su room. el c?digo es el siguiente:
[gml]// draw background
index_back = 0
mybackground = background_add("background.png",false,false)
draw_background(mybackground,0,0)
background_assign(index_back,mybackground)[/gml]
Pero no me genera nada. ?Como deberia de ser?
Revisa este post: http://www.comunidadgm.org/index.php?topic=15806.0
Ahi dice como cambiar background desde objetos.
Lo he conseguido!!
Siempre me olvido que cuando se hace un draw_background, hay que hacerlo en el evento draw.
Ahora una ?ltima cuesti?n: si el background es un tile, como lo hago para dibujarlo justo en el x, y determinado? Me interesa para luego hacer esto:
[gml]tile_layer_delete_at(1000000,mouse_x,mouse_y)[/gml]
Lo quiero hacer para no a?adir los archivos al archivo GM, que pueda cambiarlo externamente.
Muchas gracias!
Esto es lo que necesitas?
background_create_from_screen(x,y,w,h,transparent,smooth,preload)
CitarCrea un fondo copiando un ?rea indicada de la pantalla (x, y=coordenadas esquina superior izquierda, w=ancho, h=alto). Esta funci?n permite crear cualquier fondo que se desee. Se dibuja la imagen en pantalla usando las funciones de dibujo y a continuaci?n se crea un nuevo fondo de ella. (Si no se hace esto en el evento drawing incluso se puede lograr que no sea visible en pantalla si no se refresca). Los otros par?metros son similares a los de las anteriores funciones. La funci?n devuelve el ?ndice del nuevo fondo. Se requiere algo de cuidado aqu?. Aunque se habla de la pantalla, lo que importa es la regi?n en la que se dibuja. No importa el hecho de que haya una ventana en pantalla y que la imagen en ella pudiera estar escalada.
Merci por responder. No creo que me sirva, no llega a ser un tile, ya que no veo el depth que se le asigna (por defecto 1000000). La cuesti?n es que quiero crear un background y luego otra imagen que se vaya borrando por zonas cuando haces click, sin tener que crear objetos por toda la pantalla.
M?s sugerencias?
No entiendo que quieres hacer. Con esa funcion puedes dibujar una imagen de cualquier dimension, ya que tienes los argumentos w,h. Porque no te sirve? Me podrias explicar de otra manera que es lo que necesitas que esa funcion no te sirve?
Me gustaria tener dos backgrounds, uno encima de otro, y que se borrase cuando pasase un objeto. Una manera seria creando objetos y con un evento collision lo fuera eliminando, pero lo veo un poco heavy. Otra manera seria crear un tile de toda la pantalla y que se fuera eliminando conforme para el objeto, eso lo consigo con tile_layer_delete_at.
La cuesti?n es a?adir el background de un fichero, eso ya lo he conseguido gracias a ti, me faltar?a poder a?adir otro fichero como tile, o buscar una manera para borrar esa imagen.
Merci por la atenci?n!!
He buscado un poco y veo que existe la funci?n room_tile_add(ind,back,left,top,width,height,x,y,depth), que me deber?a de servir (aunque tambi?n existe un tile_add, no se la diferencia), pero no se ve nada :-[. En que evento lo deberia de a?adir? O me faltar?a alguna funci?n m?s para redondear?
Bueno, creo que por fin lo he logrado. Envio demo de lo que estoy haciendo por si a alguien le interesa.
Merci a todos!