¡Hola!, bueno creé este tema porque tengo un problema, yo estoy haciendo un juego de pokemon al estilo DS, bueno sin desviar el tema, lo que quiero hacer es que un background tenga transparencia, se entiende? Quiero que la sombra de una casa sea medio transparente. Bueno ya probé con tile_set_alpha(bgk_casasombra,0.2);
Poniéndolo en un Create, o un Room Start, hasta en un Draw, pero no funciona, alguno sabe porque? Se los agradeceria mucho su ayuda..
¡Un saludo!
Probé rápido con un background transparente, es decir cuando lo pinté no lo hice con alpha en 255 sino con un numero menor, después lo puse en una room como tile y era transparente
Podés editar un tile que es opaco con Image>Opacity>51 (255*0.2) y se tendría que ver transparente
O necesariamente necesitás hacerlo transparente con ese código?
Esa funcion esta disponible solo para game maker 8 :'( & yo uso el 7.. Gracias igual
Uy perdón :-[
De todos modos a mi me funciona con el siguiente código (lo puse en create)
tile=tile_add(tile1,1,1,64,64,x,y,0)
tile_set_alpha(tile,0.2)
Puede ser que estes dibujando el mismo tile varias veces (por ponerlo en draw) o que estés escribiendo mal su id, no se me ocurre otra cosa
EDIT: Probando ya sé, tenés varios tiles con el mismo ID, por ejemplo así:
tile=tile_add(tile1,1,1,64,64,x,y,0)
tile=tile_add(tile1,1,1,64,64,x+64,y,0)
tile_set_alpha(tile,0.2)
Eso va a hacer transparente al segundo tile porque estás sobreescribiendo el valor de la variable "tile". eso se arregla así:
tile=tile_add(tile1,1,1,64,64,x,y,0)
tile_set_alpha(tile,0.2)
tile=tile_add(tile1,1,1,64,64,x+64,y,0)
tile_set_alpha(tile,0.2)
Funcionó? Mgbu se pone triste cuando resuelve una pregunta y no obtiene respuesta XD
Si no entendiste algo pregunta que no hay problema
Cita de: Mgbu en Octubre 16, 2012, 11:41:29 PM
Probando ya sé, tenés varios tiles con el mismo ID, por ejemplo así:
tile=tile_add(tile1,1,1,64,64,x,y,0)
tile=tile_add(tile1,1,1,64,64,x+64,y,0)
tile_set_alpha(tile,0.2)
Eso va a hacer transparente al segundo tile porque estás sobreescribiendo el valor de la variable "tile". eso se arregla así:
tile=tile_add(tile1,1,1,64,64,x,y,0)
tile_set_alpha(tile,0.2)
tile=tile_add(tile1,1,1,64,64,x+64,y,0)
tile_set_alpha(tile,0.2)
la funciones de tile..... asi bgk_casasombra como la tenes no funka. debes ver la ID del tile en el room y cambiar esto bgk_casasombra por la id.
Pero es mejor que uses el codigo que te dare a continuacion asi dejas de andar usando tilles y esas cosas y queda mejor.
En el event draw de la casa coloca este codigo
draw_sprite_ext(sprite_index,image_index,x+lengthdir_x(-sprite_width/2+8,direction),y,.7,.7,image_angle,c_black,.3) //dibuja una sobra.
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha) //esto va.