Buenas tardes :)
Estoy desarrollando un juego, y tiene una 'portada' donde quiero poner imágenes subidas a un hosting mío, (osea, que el juego lea la imagen y la ponga, y cuando yo la cambie en el hosting también se cambie en el juego), por favor si tienen alguna idea de cómo hacer esto no duden de comentar, se lo agradezco mucho.
Tienes que crear un sprite o background a partir de una URL con la función sprite_add o background_add, respectivamente. Por ejemplo, si quieres crear un sprite:
sprite=sprite_add("http://www.servidor.com/imagen.png",imgnumb,removeback,smooth,xorig,yorig);
Esto generará un evento asíncrono image loaded cuando termine de ser descargada.
Cita de: Guacusio en Octubre 24, 2015, 09:22:55 PM
Tienes que crear un sprite o background a partir de una URL con la función sprite_add o background_add, respectivamente. Por ejemplo, si quieres crear un sprite:
sprite=sprite_add("http://www.servidor.com/imagen.png",imgnumb,removeback,smooth,xorig,yorig);
Esto generará un evento asíncrono image loaded cuando termine de ser descargada.
Muchas gracias, he creado un evento 'Image loaded' y he escrito la url pero no sé que poner en 'imgnumb, removeback y smooth', ¿podrías explicarme qué es eso?
Un saludo y gracias de nuevo!
imgnum: Indica cuántas sub-imágenes tendrá el sprite. Esto es útil cuando el archivo original es una tira de imágenes, la imagen se corta con líneas verticales, y cada parte se convierte en una sub-imagen. Al importar gifs animados, el argumento no se toma en cuenta.
removeback: Si es true, se hacen transparentes todos los pixeles que tienen el mismo color que el pixel de abajo a la izquierda de la imagen.
smooth: Si es true y la imagen tiene transparencia, los bordes se suavizan.
xorig, yorig: Definen el origen de coordenadas en el sprite.
Cita de: Clamud en Octubre 24, 2015, 10:13:52 PM
imgnum: Indica cuántas sub-imágenes tendrá el sprite. Esto es útil cuando el archivo original es una tira de imágenes, la imagen se corta con líneas verticales, y cada parte se convierte en una sub-imagen. Al importar gifs animados, el argumento no se toma en cuenta.
removeback: Si es true, se hacen transparentes todos los pixeles que tienen el mismo color que el pixel de abajo a la izquierda de la imagen.
smooth: Si es true y la imagen tiene transparencia, los bordes se suavizan.
xorig, yorig: Definen el origen de coordenadas en el sprite.
Gracias, el código ha quedado así:
spr_internet=sprite_add("http://benstudios.esy.es/off.png",1,false,true,1,1);
Y me sale el siguiente error:
In Object obj_internet, in Event Other event number 60 at line 2 : Cannot set a constant to a value
:'(
Cita de: Benstudios en Octubre 24, 2015, 10:25:31 PM
Y me sale el siguiente error:
In Object obj_internet, in Event Other event number 60 at line 2 : Cannot set a constant to a value
:'(
El error indica que quieres darle un valor a una constante, lo cual es una acción ilegal. Indica el código que tienes en ese evento tipo
Other del objeto obj_internet
Cita de: Guacusio en Octubre 25, 2015, 02:56:05 AM
Cita de: Benstudios en Octubre 24, 2015, 10:25:31 PM
Y me sale el siguiente error:
In Object obj_internet, in Event Other event number 60 at line 2 : Cannot set a constant to a value
:'(
El error indica que quieres darle un valor a una constante, lo cual es una acción ilegal. Indica el código que tienes en ese evento tipo Other del objeto obj_internet
El evento other es el Image Added.
El código es:
spr_internet=sprite_add("http://benstudios.esy.es/off.png (http://benstudios.esy.es/off.png)",1,false,true,1,1);
Cita de: Benstudios en Octubre 25, 2015, 11:15:41 AM
El evento other es el Image Added.
El código es:
spr_internet=sprite_add("http://benstudios.esy.es/off.png (http://benstudios.esy.es/off.png)",1,false,true,1,1);
No encuentro ese evento. ¿No será el evento Image Loaded? Y el evento Image Loaded, cuando tiene un error de compilación, lo acusa en el evento
WebImageLoadedEvent, no en un evento
Other. Verifica cuál es realmente el evento donde se produce el error.
La idea del evento asíncrono Image Loaded es conocer a partir de qué momento la imagen está disponible para usarla. Por lo que dices que haces, se deduce que al momento de cargarse una imagen quieres volver a cargar otra más. Si sólo quieres cargar una imagen, el código de sprite_add no debe estar en ese evento o nunca se va a cargar; tienes que ponerla en otro.
Cita de: Guacusio en Octubre 25, 2015, 06:25:21 PM
Cita de: Benstudios en Octubre 25, 2015, 11:15:41 AM
El evento other es el Image Added.
El código es:
spr_internet=sprite_add("http://benstudios.esy.es/off.png (http://benstudios.esy.es/off.png)",1,false,true,1,1);
No encuentro ese evento. ¿No será el evento Image Loaded? Y el evento Image Loaded, cuando tiene un error de compilación, lo acusa en el evento WebImageLoadedEvent, no en un evento Other. Verifica cuál es realmente el evento donde se produce el error.
La idea del evento asíncrono Image Loaded es conocer a partir de qué momento la imagen está disponible para usarla. Por lo que dices que haces, se deduce que al momento de cargarse una imagen quieres volver a cargar otra más. Si sólo quieres cargar una imagen, el código de sprite_add no debe estar en ese evento o nunca se va a cargar; tienes que ponerla en otro.
Perdón, quise referirme al Evento Image Loaded. En ese evento tengo el código que te dije, pero game maker me sigue diciendo:
Error : gml_Object_obj_internet_Other_60(2) : constant is invalid here
/
In Object obj_internet, in Event Other event number 60 at line 2 : constant is invalid here
'Event Other' debe referirse al Image Loaded.
Para confirmarlo, en la ventana de compilación donde aparece el error haz doble click, a ver si abre el objeto, evento y acción que genera el error.
Cita de: Guacusio en Octubre 25, 2015, 06:48:39 PM
Para confirmarlo, en la ventana de compilación donde aparece el error haz doble click, a ver si abre el objeto, evento y acción que genera el error.
Me abre el evento 'Image loaded', pero el código no detecta error. ¿Podrías ver tú el error? Creo que conmigo nos llevaremos mucho tiempo con este error.
http://www.mediafire.com/download/iow79yn5bwkilnv/ImageInternet.zip
O si tienes un ejemplo descargable, agradezco tu ayuda
El error que me salta en el compilador es:
In Object obj_internet, in Event WebImageLoadedEvent action number 1 at line 2 : Cannot set a constant to a value
La causa del error es que dentro del árbol de recursos definiste un sprite con el nombre spr_internet, lo que hace que spr_internet sea un índice, un número constante; luego, al tratar de cargar el sprite estás tratando de asignarle a una constante el valor de otra constante que es la que entrega la función sprite add. Lo que tienes que hacer es lo siguiente:
-Elimina el sprite spr_internet del árbol de recursos
-Evento create:
spr_internet=sprite_add("http://benstudios.esy.es/forums/Themes/Connect/images/off.png",1,false,true,1,1);
-Evento asíncrono Image Loaded:
sprite_index=spr_internet;
Cita de: Guacusio en Octubre 25, 2015, 07:36:17 PM
El error que me salta en el compilador es:
In Object obj_internet, in Event WebImageLoadedEvent action number 1 at line 2 : Cannot set a constant to a value
La causa del error es que dentro del árbol de recursos definiste un sprite con el nombre spr_internet, lo que hace que spr_internet sea un índice, un número constante; luego, al tratar de cargar el sprite estás tratando de asignarle a una constante el valor de otra constante que es la que entrega la función sprite add. Lo que tienes que hacer es lo siguiente:
-Elimina el sprite spr_internet del árbol de recursos
-Evento create:
spr_internet=sprite_add("http://benstudios.esy.es/forums/Themes/Connect/images/off.png",1,false,true,1,1);
-Evento asíncrono Image Loaded:
sprite_index=spr_internet;
Muchísimas gracias! Me ha funcionado :)