[Resolvido]Problemas ao criar surface

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [Resolvido]Problemas ao criar surface

Mensagem por DS Santos 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

DS Santos

Número de Mensagens : 98
Data de inscrição : 19/05/2010
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problemas ao criar surface

Mensagem por Kabeção 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.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

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

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problemas ao criar surface

Mensagem por vinians 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.

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problemas ao criar surface

Mensagem por Kabeção 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

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

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

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problemas ao criar surface

Mensagem por DS Santos em Qui 14 Out 2010, 12:52

Obrigado pela resposta Kabeção e pela dica vinians.
Ajudou bastante.

Resolvido.

DS Santos

Número de Mensagens : 98
Data de inscrição : 19/05/2010
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Problemas ao criar surface

Mensagem por Conteúdo patrocinado Hoje à(s) 13:48


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum