GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por 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


Desenhar com alpha diferente

3 participantes

Ir para baixo

Desenhar com alpha diferente Empty Desenhar com alpha diferente

Mensagem por Zero. Sex 06 Jul 2012, 10:41

Pessoal como desenhar esta surface com alpha = 0.5 ?

Codigo :
Código:

//Começa a desenhar na surface
surface_set_target(ss)
   
    //Desenha retângulo branco
   
    draw_rectangle_color(0,0,640,480,c_white,c_white,c_white,c_white,0)
   
    //Se existe alguma luz
    if instance_exists(player)
    {
            with (player)
            {   
                //Desenha circulo preto
                draw_circle_color(x,y,96,0,c_white,0)     
        }       
    }

surface_reset_target()


//Entra no modo substract, que remove os pixels escuros pelo alpha, após deixar as cores negativas. Quanto mais escuro o pixel, mais transparente ele fica (Por isso a surface tem fundo branco, que negativada fica preta e não desaparece).
draw_set_blend_mode(bm_subtract)

//Desenha surface
draw_surface(ss,view_xview,view_yview)

//volta ao modo de desenho normal
draw_set_blend_mode(bm_normal)

THX


Última edição por FlyAway em Sex 06 Jul 2012, 13:34, editado 2 vez(es)
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : Desenhar com alpha diferente Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Desenhar com alpha diferente Empty Re: Desenhar com alpha diferente

Mensagem por Kabeção Sex 06 Jul 2012, 10:43

Código:
draw_set_alpha(alpha);
Kabeção
Kabeção

Games Ranking : Sem avaliações

Data de inscrição : 08/06/2008
Reputação : 100
Número de Mensagens : 2314
Prêmios : Desenhar com alpha diferente Empty

Medalhas x 0 Tutoriais x 7 Moedas x 0

Ouro x 3 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://blackcapapps.blogspot.com.br/

Ir para o topo Ir para baixo

Desenhar com alpha diferente Empty Re: Desenhar com alpha diferente

Mensagem por Zero. Sex 06 Jul 2012, 10:46

NUm pode, pois o draw_set_alpha acaba alterando os outros tambem.
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : Desenhar com alpha diferente Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Desenhar com alpha diferente Empty Re: Desenhar com alpha diferente

Mensagem por saim Sex 06 Jul 2012, 11:07

Código:
oldAlpha = draw_get_alpha();
draw_set_alpha(0.5);
//desenha a surface
draw_set_alpha(oldAlpha);
ou:
Código:
draw_surface_ext(id,x,y,xscale,yscale,rot,color,alpha);
colocando 0.5 em "alpha"

(...)

Mas se for pra efeito de iluminação, parece que você está fazendo algo estranho com os blend modes. Talvez seja mais interessante criar uma surface preta com um furo transparente e desenhá-la normalmente na tela.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Desenhar com alpha diferente Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Desenhar com alpha diferente Empty Re: Desenhar com alpha diferente

Mensagem por Zero. Sex 06 Jul 2012, 11:16

O surface ext naum deu certo.
Bem so que fazer um efeito de tocha T-T tenho pouca experiencia com isso mas tento me virar quando dá .

VALEW SAIM ERA QUASE ISSO, era so mudar a cor no surface ext pta ltgray que ficava claro
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : Desenhar com alpha diferente Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Desenhar com alpha diferente Empty Re: Desenhar com alpha diferente

Mensagem por saim Sex 06 Jul 2012, 13:57

É, pode se assim, também... bom, nesse caso, lembre-se que as cores podem ser criadas com make_color_rgb. Se todos os tons de cores forem iguais, a cor resultante será um tom de cinza. Assim, você pode usar:
Código:
intensidade = ??; // valor entre zero e um, sendo que "1" significa branco e "0", preto.
cor = make_color_rgb(intensidade * 255, intensidade * 255, intensidade * 255);
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Desenhar com alpha diferente Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Desenhar com alpha diferente Empty Re: Desenhar com alpha diferente

Mensagem por Zero. Sex 06 Jul 2012, 14:02

Sim, mas como no code tem subtract pensei no gray que é meio branco (que é escuro) e meio preto (que é claro), assim ficaria meio escuro e meio claro da forma que pretendia com o alpha. Mas agora to com um problema um pouco mais tenso o_O . GO !
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : Desenhar com alpha diferente Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Desenhar com alpha diferente Empty Re: Desenhar com alpha diferente

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos