Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Como fazer uma luz (plataforma 2d) com esse script
2 participantes
Página 1 de 1
Como fazer uma luz (plataforma 2d) com esse script
1 - Eu tenho um obj_dark que realiza isso no DRAW (deixa escuro a tela)
O meu jogo é 2d, de lado, estilo Mario Bros, e eu queria saber como fazer uma luz, tipo algo que retire esse alpha, entende, algo pra mostrar o mapa normal.
mais ou menos assim
https://imgur.com/9jrGOLn (link da imagem)
2 - Eu marquei com um quadrado amarelo os textos que que são exibidos na tela, como objetivo, kits medicos e tals, e eles são afetados pela escuridão, eu queria saber como faço para deixar eles claros, tipo o escuro não funcionar nas letras ali, o obj que uso para dar draw nesses textos é chamado de obj_draw e tem depth -3 enquanto o obj_dark depth -20.
- Código:
draw_set_color(c_black)
draw_set_alpha(0.65);
draw_rectangle(view_xview[0],view_yview[0],view_xview[0]+view_wview[0],view_yview[0]+view_hview[0],false);
draw_set_alpha(1);
O meu jogo é 2d, de lado, estilo Mario Bros, e eu queria saber como fazer uma luz, tipo algo que retire esse alpha, entende, algo pra mostrar o mapa normal.
mais ou menos assim
https://imgur.com/9jrGOLn (link da imagem)
2 - Eu marquei com um quadrado amarelo os textos que que são exibidos na tela, como objetivo, kits medicos e tals, e eles são afetados pela escuridão, eu queria saber como faço para deixar eles claros, tipo o escuro não funcionar nas letras ali, o obj que uso para dar draw nesses textos é chamado de obj_draw e tem depth -3 enquanto o obj_dark depth -20.
Isquilo_Roedor- Games Ranking :
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Reputação : 18
Número de Mensagens : 336
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como fazer uma luz (plataforma 2d) com esse script
aqui vai, vou lhe dar um script fácil para usar blend_mode a partir de uma sprite
primeiramente crie um objeto, que vai ser a surface, nomeie ele obj_surface_control, eu não vou explicar muito, caso queira explicação aqui está o turorial: https://gmbr.forumeiros.com/t16419-tutorial-surfaces
no create:
Surface=surface_create(room_width,room_height);
então eu criei uma surface, mais não a configurei, criei ela na room inteira (room_width,room_height)
surface_set_target(Surface)
draw_clear_alpha(c_black,0.50); isto aqui vou explicar, o 0.50 coloca a opacidade que você quer da sombra
draw_set_blend_mode(bm_subtract)
draw_sprite(spr,0,seguir.x,seguir.y); o "spr" coloque a spr de luz que você quer, a parte totalmente transparente da sprite sera pega pela sombra, e o "seguir" coloque onde você quer que a luz siga
exemplo de luz:
como pode ver neste exemplo, nos cantos do circulo é totalmente transparente, isto torna só o ciculo visivel
draw_set_blend_mode(bm_normal);
surface_reset_target();
agora no draw:
mais aconselho melhor você ler o tutorial do saim
primeiramente crie um objeto, que vai ser a surface, nomeie ele obj_surface_control, eu não vou explicar muito, caso queira explicação aqui está o turorial: https://gmbr.forumeiros.com/t16419-tutorial-surfaces
no create:
Surface=surface_create(room_width,room_height);
então eu criei uma surface, mais não a configurei, criei ela na room inteira (room_width,room_height)
- create:
- Surface=surface_create(room_width,room_height);
surface_set_target(Surface)
draw_clear_alpha(c_black,0.50); isto aqui vou explicar, o 0.50 coloca a opacidade que você quer da sombra
draw_set_blend_mode(bm_subtract)
draw_sprite(spr,0,seguir.x,seguir.y); o "spr" coloque a spr de luz que você quer, a parte totalmente transparente da sprite sera pega pela sombra, e o "seguir" coloque onde você quer que a luz siga
exemplo de luz:
como pode ver neste exemplo, nos cantos do circulo é totalmente transparente, isto torna só o ciculo visivel
draw_set_blend_mode(bm_normal);
surface_reset_target();
- step:
- surface_set_target(Surface)
draw_clear_alpha(c_black,0.50);
draw_set_blend_mode(bm_subtract)
draw_sprite(spr,0,seguir.x,seguir.y);
draw_set_blend_mode(bm_normal);
surface_reset_target();
agora no draw:
- draw:
draw_surface(Surf,0,0)
mais aconselho melhor você ler o tutorial do saim
Re: Como fazer uma luz (plataforma 2d) com esse script
Legal, funcionou mais ou menos, eu só não entendi essa linha
draw_sprite(spr_luz,0,seguir.x,seguir.y);
oque eu coloco no seguir? tipo não consegui captar
draw_sprite(spr_luz,0,seguir.x,seguir.y);
oque eu coloco no seguir? tipo não consegui captar
Isquilo_Roedor- Games Ranking :
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Reputação : 18
Número de Mensagens : 336
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como fazer uma luz (plataforma 2d) com esse script
foi mal, eu fiquei off e não deu para responder, o seguir.x e o seguir.y é o que você quer que siga, tipo, seguir o personagem, escreva o nome do personagem, como x é horizontal e y é vertical, tipo obj_player.x obj_player.y
Re: Como fazer uma luz (plataforma 2d) com esse script
Muito obrigado por toda ajuda, mas eu cheguei a uma conclusão que será melhor sem utilizar luzes, apenas deixar levemente escuro e um background escuro para ajudar, obrigado de qualquer forma
Isquilo_Roedor- Games Ranking :
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Reputação : 18
Número de Mensagens : 336
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos