Conectar-se
Quem está conectado
29 usuários online :: 3 usuários cadastrados, Nenhum Invisível e 26 Visitantes

gart30, Katerp, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 19/05/2010
Número de Mensagens : 98
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

[Resolvido]Problemas ao criar surface

em Qui 14 Out 2010, 11:47
Quando crio uma surface e vou desenhar ela aparece com umas falhas de imagem ao invés de ficar limpa mesmo sem eu ter desenhado nada nela.
Por que? Go
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

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

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: [Resolvido]Problemas ao criar surface

em Qui 14 Out 2010, 11:52
Isso é um rastro da memória de video que a surface captura quando é criada.
Você tem que limpa-la antes de usar.

Código:
surface_set_target(surf);
draw_clear_alpha(c_black,0);
surface_reset_target();

Isso vai desenhar a cor preta com o alpha em 0 sobre toda a surface e limpa-la.
Só precisa usar uma vez e pode fazer isso em qualquer evento além do Draw.
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: [Resolvido]Problemas ao criar surface

em Qui 14 Out 2010, 11:58
@Kabeção escreveu:Isso é um rastro da memória de video que a surface captura quando é criada.
Você tem que limpa-la antes de usar.

Código:
surface_set_target(surf);
draw_clear_alpha(c_black,0);
surface_reset_target();

Isso vai desenhar a cor preta com o alpha em 0 sobre toda a surface e limpa-la.
Só precisa usar uma vez e pode fazer isso em qualquer evento além do Draw.
Isso mesmo, o surface é criado na memória de video que geralmente já tem algo desenhado anteriormente, ou simplesmente alguns bytes de sugeira.
Mais não se esqueça que você não pode de maneira nenhuma usar surface_set_target(surf) no Evento DRAW() use em qualquer outro evento menos no Draw. Geralmente o unico comando que é permitido no Draw() relacionado a surfaces é o draw_surface(surf, x, y), se não seguir essa regra seu programa pode ficar doidão facilmente.
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

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

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: [Resolvido]Problemas ao criar surface

em Qui 14 Out 2010, 12:37
Muito interessante!
Dessa eu não sabia. Happy

Isso explica muita coisa, bom agora que você falou até que faz sentido.
Nunca tive problemas com isso antes mas recente quando fui tentar fazer copias de surface muitas vezes as cores eram trocadas e alphas eram fundidos sem nem um motivo aparente.
Isso resolve 50% dos meus problemas com estranhos bugs do GM. xD
avatar
Data de inscrição : 19/05/2010
Número de Mensagens : 98
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: [Resolvido]Problemas ao criar surface

em Qui 14 Out 2010, 12:52
Obrigado pela resposta Kabeção e pela dica vinians.
Ajudou bastante.

Resolvido.
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