[Resolvido] Vetorizar objetos Lineares?

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

Resolvido [Resolvido] Vetorizar objetos Lineares?

Mensagem por Lighter em Qua 06 Ago 2014, 13:56

Eae galera blz;

Desenvolvi um tiro em forma de linha para meu jogo de plataforma. E para isso eu uso a função draw_line(...), só que essa função linear proporciona um efeito indesejado quando eu atiro, a linha(o tiro) fica com as bordas "grossas". Queria saber se tem como vetorizar essa função do GM:S, ou seja, "alisar" as bordas do tiro;

Vou dar um exemplo pra vocês, na imagem a esquerda esta com a função padrão do gamemaker, e como vocês podem ver o tiro esta com as bordas à mostra. Já na segunda imagem (que eu editei no paint), as bordas do tiro estão mais "alisadas", mas não vetorizadas:

     

Pra quem não sabe o que é imagem vetorizada, ta aqui a definição genérica do google:
Forma de codificação de imagens através de vetores. Estas imagens podem ser ampliadas ou reduzidas sem perda de qualidade. Descrição geométrica de uma figura por meio de coordenadas de pontos e curvas (vetores). Freehand, Ilustrator e CorelDraw são programas vetoriais.

Flw.

Lighter

Ranking : Sem avaliações
Número de Mensagens : 307
Idade : 18
Data de inscrição : 16/01/2014
Reputação : 29
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://google.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Vetorizar objetos Lineares?

Mensagem por Alex FC em Qua 06 Ago 2014, 15:11

Só pra revisar, não seria "vetorizar", seria "alisar" mesmo (No caso, anti-aliasing), não dá pra fazer isso nos vetores do GM, tanto que os arquivos SWF que o GMS importa ficam pixelisados nas bordas. Ou seja as funções que desenham shapes (draw_line, draw_circle e afins) são vetoriais, só não usam a tecnologia anti-alias como o CorelDRAW ou Illustrator.

Sabendo disso, a gente vai ter que fazer uma POG (Programação orientada a gambiarra). Primeiro baixe essa sprite (3x3):

https://dl.dropboxusercontent.com/u/38428395/spr_soft_pixel.png

É um desenho de um "*pixel com cantos arredondados" (Pra criar uma ilusão). Dê o nome da Sprite como spr_soft_pixel.

Agora baixe esse script que eu fiz:

https://dl.dropboxusercontent.com/u/38428395/draw_soft_line.gml

Para importar no GMS, clique com o direito na pasta Scripts e selecione a opção "Add existing script" e selecione o que tu baixou.

Depois só usar a função assim (Ex):

Código:
draw_soft_line(x, y, mouse_x, mouse_y, spr_soft_pixel, c_yellow);

*Dá pra criar uns efeitos bem legais se bem utilizado.

Espero que ajude.

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Vetorizar objetos Lineares?

Mensagem por Lighter em Qua 06 Ago 2014, 15:27

Vlw Alex o efeito funcionou  Cool ; Realmente, sou muito leigo quando o assunto é arte/vetor.

-Agora vou fazer as colisões com essa soft_line no meu game.
Pode trancar o tópico, acho que sua script sera útil para muitos aqui do fórum

Lighter

Ranking : Sem avaliações
Número de Mensagens : 307
Idade : 18
Data de inscrição : 16/01/2014
Reputação : 29
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://google.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Vetorizar objetos Lineares?

Mensagem por Conteúdo patrocinado Hoje à(s) 04:07


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