Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: nonoroman en Agosto 24, 2017, 08:26:08 PM

Título: ALPHA DE LA LINTERNA EN SURFACES
Publicado por: nonoroman en Agosto 24, 2017, 08:26:08 PM
Otra vez aqui, liado con los alphas, esta vez con la luz dentro de un surfaces que simula una linterna.

Como puedo controlar el alpha de los sprites de la linterna??? Cuando es el player el que dibuja dichos sprites desde el END STEP y a traves del surface.

He probado con draw_set_alpha, he probado con draw_sprite_ext y nada, siempre sale la luz de la linterna con el alpha a 1.

Si alguien ve como podria hacerse, que me comente please.  ;)
Título: Re:ALPHA DE LA LINTERNA EN SURFACES
Publicado por: 3dgeminis en Agosto 24, 2017, 09:36:27 PM
A mi me funciona con draw_sprite_ext, asi lo hago yo:
[gml]
surface_set_target(hoja)

draw_set_blend_mode(bm_subtract)
draw_sprite_ext(spr_luz,0, mouse_x, mouse_y,1,1,0,c_white,0.2)
draw_set_blend_mode(bm_normal)

surface_reset_target()
[/gml]
Título: Re:ALPHA DE LA LINTERNA EN SURFACES
Publicado por: nonoroman en Agosto 24, 2017, 10:09:51 PM
Si, asi lo he probado y no hay manera.

Puede ser que tenga algun draw_set_alpha(1) por algun lado y que haga que no pueda cambiar el alpha en este lugar en concreto??
Porque por ejemplo, el color si que me deja cambiarlo. Pero el alpha no.

Porque sino no entiendo porque no me funciona.  ???

Por cierto, donde tienes este codigo, yo lo tengo en el END STEP

Cita de: 3dgeminis en Agosto 24, 2017, 09:36:27 PM
A mi me funciona con draw_sprite_ext, asi lo hago yo:
[gml]
surface_set_target(hoja)

draw_set_blend_mode(bm_subtract)
draw_sprite_ext(spr_luz,0, mouse_x, mouse_y,1,1,0,c_white,0.2)
draw_set_blend_mode(bm_normal)

surface_reset_target()
[/gml]
Título: Re:ALPHA DE LA LINTERNA EN SURFACES
Publicado por: nonoroman en Agosto 25, 2017, 09:19:21 PM
Nada no hay manera. no funciona. Alguien sabe que puede ser???

No entiendo como no puedo bajar el alpha de ese sprite, me deja cambiar el color, todo, pero el alpha nada de nada.

No entiendo el porque.

Por favor, ayuda!!!!  :'(
Título: Re:ALPHA DE LA LINTERNA EN SURFACES
Publicado por: nonoroman en Agosto 25, 2017, 10:37:33 PM
Yo he seguido este video tutorial.

https://youtu.be/dYbCfhX3Hu4

Y no hay manera de bajarle el alpha a la luz de la linterna.

Si alguien sabe algo que comente please.  ???

Título: Re:ALPHA DE LA LINTERNA EN SURFACES
Publicado por: nonoroman en Agosto 26, 2017, 11:26:32 AM
Bueno he estado investigando y he descubierto lo siguiente.

Lo que sucede, es que el sprite del destello de luz, no pierde la opacidad, sino que crea un fondo, no se bien como explicarlo, como que invierte los colores, y entonces con el surface, sigue actuando y da la sensacion de que el drw_set_alpha no funciona.

El caso, es que incluso editando el sprite, con el mismo editor de imagenes de GMstudio, ocurre lo mismo, crea como un fondo a la vez que voy quitandole opacidad.

Solo, cuando le doy con la goma de borrar, es cuando realmente, borra la opacidad del sprite.

Porque ocurre esto???, como coño esta hecho este sprite para que ocurra esto??

Por cierto, el sprite me lo baje de internet.

Si alguien sabe algo que comente, please.  ???
Título: Re:ALPHA DE LA LINTERNA EN SURFACES
Publicado por: nonoroman en Agosto 26, 2017, 12:07:24 PM
Bueno pues acabo de descubir mas cosas.

Resulta que el problema no esta en el sprite. Ya que he creado otro sprite nuevo, asi muy simple, le he añadido una opacidad del 50, y resulta que se ve completamente opaco.

Es decir, el problema esta en el surfaces, el surfaces no entiende de opacidad. Da igual el sprite que le pases, el solo entiende de opacidad 100 o 0. No tiene termino medio.

Alguien sabe porque ocurre esto??  :'(
Título: Re:ALPHA DE LA LINTERNA EN SURFACES
Publicado por: Clamud en Agosto 26, 2017, 03:35:36 PM
Muestra el código.
Título: Re:ALPHA DE LA LINTERNA EN SURFACES
Publicado por: nonoroman en Agosto 26, 2017, 08:14:07 PM
El surfaces que he utilizado es el de edte tutorial. Y no hay manera humana de cambiarle el alpha.
https://youtu.be/dYbCfhX3Hu4



Cita de: Clamud en Agosto 26, 2017, 03:35:36 PM
Muestra el código.
Título: Re:ALPHA DE LA LINTERNA EN SURFACES
Publicado por: 3dgeminis en Agosto 26, 2017, 08:24:39 PM
Te dejo un ejemplo, una alternativa para crear el efecto(y para mi mas simple al tener todo en un solo objeto)
Título: Re:ALPHA DE LA LINTERNA EN SURFACES
Publicado por: nonoroman en Agosto 27, 2017, 01:54:07 AM
Muchas gracias. Pero ya he creado otra sufaces y ahora si que puede controlar el alpha por fin.

El problema de ahora. Es que no me deja cambiarle el color al sprite de la luz. Puff.  :-[

Cita de: 3dgeminis en Agosto 26, 2017, 08:24:39 PM
Te dejo un ejemplo, una alternativa para crear el efecto(y para mi mas simple al tener todo en un solo objeto)