Conectar-se
Quem está conectado
28 usuários online :: 3 usuários cadastrados, 1 Invisível e 24 Visitantes

hendrickxr, PedroX, rafaelviodres1

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Número de Mensagens : 1229
Insígnias de JAM :

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

Prêmios
   : 1
   : 2
   : 0
Ver perfil do usuário

Mensagem não transparente! | message_background

em Sex 14 Out 2011, 13:12
Olá pessoal, tenho um BG que irá servir como a mensagem do jogo, ou seja, quando eu mandar mostrar uma mensagem irá aparecer esse BG, ele é meio trnaslucido e tem bordas arrendodadas e um espaço transparente de 16px para os lados.

Depois de eu definir o BG com o code:
Código:
message_background(bg_message)

Eu vou testar o jogo, mas ao mostrar a mensagem, ela fica quadrada e sem as bordas arredondas...

Alguém poderia me ajudar com isso?
avatar
Ranking : Nota A
Notas recebidas : B-A-A
Data de inscrição : 13/01/2010
Número de Mensagens : 1087
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 0
Ver perfil do usuáriohttp://www.mathaeuz.deviantart.com

Re: Mensagem não transparente! | message_background

em Sex 14 Out 2011, 13:18
show_message não dá suporte a backgrounds com 'tons de alpha'. Ele desenha tudo com alpha=1, exceto a cor localizada na parte inferior esquerda do background, que será considerada transparente.

ex: se o background tiver a cor rosa nessa posição, todo tom igual a esse rosa será considerado transparente(alpha=0)
avatar
Ranking : Nota A
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Número de Mensagens : 1229
Insígnias de JAM :

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

Prêmios
   : 1
   : 2
   : 0
Ver perfil do usuário

Re: Mensagem não transparente! | message_background

em Sex 14 Out 2011, 13:27
@MatheusReis escreveu:show_message não dá suporte a backgrounds com 'tons de alpha'. Ele desenha tudo com alpha=1, exceto a cor localizada na parte inferior esquerda do background, que será considerada transparente.

ex: se o background tiver a cor rosa nessa posição, todo tom igual a esse rosa será considerado transparente(alpha=0)

Sendo assim, ha outro jeito de fazer uma mensagem usando opacidade?
Sem usar o show_message? Com algum tipo de script entre outros?
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 10/06/2010
Número de Mensagens : 2704
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Mensagem não transparente! | message_background

em Sex 14 Out 2011, 13:35
Então veja os tutoriais de Janelas Dinâmicas do Fuzenrad, elas explicam como faz isto direitinho, caso queira ver procure no fórum ou veja o guia de tutoriais do fórum.
avatar
Ranking : Nota A
Notas recebidas : B-A-A
Data de inscrição : 13/01/2010
Número de Mensagens : 1087
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 0
Ver perfil do usuáriohttp://www.mathaeuz.deviantart.com

Re: Mensagem não transparente! | message_background

em Sex 14 Out 2011, 13:41
Eu quando preciso pausar o jogo eu crio um ciclo 'eterno'. Nele eu tenho funções de desenho e funções que vão atualizar a tela para mim. Vamos criar um novo script chamado new_message.
Nele, insira o código:
Código:
Tela_atual=background_create_from_screen(0,0,largura_da_tela,altura_da_tela,0,0);
//Isto tira uma espécie de screen shot da tela, e salva em um background
ciclo=true;
//isto irá controlar o loop
while(ciclo=true){
//enquanto ciclo for verdadeiro
io_handle();
//atualiza os estatus de tecla a mouse
draw_background(Tela_atual,0,0);
//desenha a tela salva anteriormente
//
draw_set_color(c_white);
draw_text(320,240,argument0+"
[Aperte enter para continuar]");
//irá escrever o texto inserido no script mais uma linha dizendo "[Aperte enter para continuar]"
//ex: new_message("Olá");
//Você pode formatar o texto como quizer aqui (cor, fonte, etc)
//E tambem pode desenhar outros backgrounds ou sprites por cima. como desejar
//
if keyboard_check_pressed(vk_enter) {ciclo=false};
//termina o ciclo, fechando a mensagem e voltando para onde o jogo estava
io_clear();
//limpa os estatus de tecla e mouse;
screen_refresh();
//atualiza o desenho na tela
screen_wait_vsync();
//espera a sincronia de vídeo para desenhar na tela novamente
};
Em resumo, ele trava o jogo num ciclo enquanto desenha informações e aguarda a tecla enter ser pressionada.


Última edição por MatheusReis em Sex 14 Out 2011, 13:41, editado 1 vez(es)
avatar
Ranking : Nota D
Notas recebidas : D-C
Data de inscrição : 10/10/2010
Número de Mensagens : 582
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Mensagem não transparente! | message_background

em Sex 14 Out 2011, 13:41
Tem um jeito sim,com a função:

Código:
image_alpha(alpha)

Mas se você colocar 0,a mensagem nao irá aparecer,entao ponha um valor maior.
Como o Super Games sugeriu,procure os tutoriais de Janelas Dinamicas do Fuzenrad.
avatar
Ranking : Nota A
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Número de Mensagens : 1229
Insígnias de JAM :

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

Prêmios
   : 1
   : 2
   : 0
Ver perfil do usuário

Re: Mensagem não transparente! | message_background

em Sex 14 Out 2011, 13:46
Muito bem!
Consegui resolver meu problema, antes de ver o tutorial do Fuzenrad eu estava tentaando fazer a mesma coisa que ele fez no tutorial dele. Só depois que eu vi que era praticamente igual.

Mesmo assim vi que o Game Maker tem que melhorar bastante nesse ponto de mensagens entre outros.

TÓPICO RESOLVIDO!
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 30/07/2011
Número de Mensagens : 928
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://luizpontes.tk/

Re: Mensagem não transparente! | message_background

em Sex 14 Out 2011, 13:48
Se você quiser que TODA a mensagem fique sem opacidade parcialmente, da pra usar este código:
Código:
message_alpha(alpha)
E retirar a transparência do Background. E no alpha, você coloca 0.9 ou 0.8, sei lá.

Até mais!


EDIT
Opa, alguém já postou antes XD
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum