Entrar
Últimos assuntos
» Servidor de Discord do fórum?por Super Games Ontem à(s) 01:27
» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentro
por Rukasu777 Qui 16 maio 2024, 18:10
» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08
» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43
» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
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
|
|