Como esticar as 4 pontas da sprite

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

Como esticar as 4 pontas da sprite

Mensagem por Kevin em Seg 01 Fev 2010, 16:29

Olá pessoal Very Happy

Depois de um bom tempo estou aqui devolta Happy

sai um pouco pois estava sem internet e estava dando uma estudada em outros scripts/linguagens de programação

mas... então vamos à minha pergunta XD

conforme parei de mexer no GM esqueci de umonte de coisas...

ainda não cheguei no ponto de confundir os scripts XD... mais dei uma esquecida em algumas coisas do gm :cry:

estou voltando ao GM pq foi meu berço de programação Razz (só que a primeira linguagem que aprendi foi HTML e depois GML Razz)

mas vamos à pergunta Happy

como eu faço para esticar as quatro partes de um draw?

por exemplo o draw_line

ele tem o x1 y1 x2 y2

x1 e y1 eles mostram a localização do draw
o x2 e y2 mostram a posição em que as linhas irão ficar...

agora tem como fazer um draw_sprite com por exemplo x1 x2 x3 x4 e y1 y2 y3 y4???

Bem... To Urgêntemente Precisando Disso

este Tópico Ficará Aberto Até uma resposta boa ou que da para levar com a barriga Razz

se não intenderam muito bem explico novamente Happy

PARA PESSOAS COM UM CONHECIMENTO AVANÇADO EM GML!!!

TÓPICO ABERTO ATÉ UMA RESPOSTA BOA DA PERGUNTA (ou até quando a moderação quiser XD)

VLW Pessoal Very Happy

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: Como esticar as 4 pontas da sprite

Mensagem por itallo em Seg 01 Fev 2010, 17:05

draw_sprite_general(sprite,-1,left,top,width,height,x,y,1,1,0,c1,c2,c3,c4,1)
left =x1
top = y1
width = x2
heighy = y2
left = x
top = x
width = tamanho em pixels que você desejar para a largura dela
height = altura em pixels

c1,c2,c3,c4 = cores das 4 pontas

itallo

Ranking : Sem avaliações
Número de Mensagens : 969
Idade : 24
Data de inscrição : 26/08/2009
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.zuluhotel.com.br

Voltar ao Topo Ir em baixo

Re: Como esticar as 4 pontas da sprite

Mensagem por Kevin em Seg 01 Fev 2010, 17:23

pelo seu raciocício até que poderia dar certo XP....

mais nem aparece o DRAW Oo...

e num tem até o x4 e y4 ae fica froidz pra mim :S

mais VLW Happy

Espero mais respostas Very Happy

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: Como esticar as 4 pontas da sprite

Mensagem por Kabeção em Seg 01 Fev 2010, 17:24

Se quer esticar a imagem de uma forma não retangular, teste isso:

No Create crie as variáveis:
Código:
x1 = x;
y1 = y;

x2 = x+128;
y2 = y-20;

x3 = x+256;
y3 = y+256;

x4 = x-32;
y4 = y+256;

spr = sprite_get_texture(nome_da_sprite,-1);
Você pode usar background_get_texture também se for um background.

No Draw use draw_primitive_begin_texture e draw_vertex_texture para montar uma a forma que queira.
Código:
draw_set_color(c_white);

draw_primitive_begin_texture(pr_trianglefan,spr)

    draw_vertex_texture(x1,y1,0,0);
    draw_vertex_texture(x2,y2,1,0);
    draw_vertex_texture(x3,y3,1,1);
    draw_vertex_texture(x4,y4,0,1);
    draw_vertex_texture(x1,y1,0,0);
   
draw_primitive_end()

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

Re: Como esticar as 4 pontas da sprite

Mensagem por Kevin em Seg 01 Fev 2010, 17:39

Kabeção.............

.....

ta PERFECT Happy

justamente oq eu queria...

vou tentar ver se consigo fazer oq eu to pensando e se der certo darei aqui como resolvido...

mais uma pergunta... tem uma script que possa fazer isso na versão LITE?

VLW

ta PERFECT Happy

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: Como esticar as 4 pontas da sprite

Mensagem por Kabeção em Seg 01 Fev 2010, 17:45

mais uma pergunta... tem uma script que possa fazer isso na versão LITE?
Não.
Só funciona na versão PRO.
E não sei outra forma para se fazer isso.

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

Re: Como esticar as 4 pontas da sprite

Mensagem por Kevin em Seg 01 Fev 2010, 17:50

cara :S

ta legal.. era quase como eu queria Oo...

a coisa que eu percebi é que ele fica quase sempre triangular XD

queria dum jeito que ele ficasse retangular...

mais será que seria possível num script parecido com esse??

VLW Happy

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: Como esticar as 4 pontas da sprite

Mensagem por Kabeção em Seg 01 Fev 2010, 18:20

Ué, é só colocar os xy em posições que faz o desenho ser retangular.

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

Re: Como esticar as 4 pontas da sprite

Mensagem por Kevin em Seg 01 Fev 2010, 18:29

oq é esse xvertex e esse yvertex???

precisa ter os 5 draw_vertex_texture para funcionar bem???

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: Como esticar as 4 pontas da sprite

Mensagem por Kabeção em Seg 01 Fev 2010, 21:12

São as posições dos pontos na textura.
Estão em forma de escala.

draw_vertex_texture(x1,y1,0,0); -> 0,0 indica a ponta superior esquerda da textura.
draw_vertex_texture(x2,y2,1,0); -> 1,0 indica a ponta superior direita da textura.
draw_vertex_texture(x3,y3,1,1); -> 1,1 indica a ponta inferior direita da textura.
draw_vertex_texture(x4,y4,0,1); -> 0,1 indica a ponta inferior esquerda da textura.

Se você usa-se 0.5,1 indicaria o meio superior.
0.5,0.5 o meio da textura.

No final preciso fechar a forma definindo o ponto inicial dela, por isso uso mais um draw_vertex_texture.
Se não, o lado esquerdo da forma ficaria aberto.

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

Re: Como esticar as 4 pontas da sprite

Mensagem por Conteúdo patrocinado Hoje à(s) 14:06


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