Página 1 de 1

ponte com esse efeito

Enviado: Sex Out 21, 2016 2:09 pm
por divin sphere hirosha
Fala pessoal,Eu estou com um problema,eu queria saber como fazer uma ponte com esse efeito:
Imagem

Só que eu queria que em vez da ponte ser uma linha,eu queria que ela fosse um sprite 16x16 como na imagem abaixo:

Imagem
eu tentei fazer da minha forma aqui,mas não consegui....Alguém sabe como?

Re: ponte com esse efeito

Enviado: Sex Out 21, 2016 5:48 pm
por J_Marlon
Não cheguei a testar, mas talvez esse vídeo lhe seja útil:
https://www.youtube.com/watch?v=TbW1nVb0nfU

Edit: você pode conferir a "fisica" sobre a ponte a partir dos 10:30.

Flw!

Re: ponte com esse efeito

Enviado: Sex Out 21, 2016 6:18 pm
por Rodrigo Santiago
Fiz aqui um codigo, chamado desenha_blocos :

Código: Selecionar todos

///desenha_blocos(x1,y1,x2,y2)
var x1 = argument0, y1 = argument1, x2 = argument2, y2 = argument3;
var dis = point_distance(x1,y1,x2,y2);
var tx, ty, sub, sDis = dis;
while(true) {
  sub = min(dis, spaceLeft);
  dis -= sub;
  spaceLeft -= sub;
  if (spaceLeft <= 0) {
    if (sDis == 0) {
      tx = x;
      ty = y;
    } else {
      tx = (x1 * dis / sDis + x2 * (1 - (dis / sDis)));
      ty = (y1 * dis / sDis + y2 * (1 - (dis / sDis)));
    }
    draw_sprite(spr_bloco, 0, tx, ty);
    spaceLeft = 16;
  }
if(dis <= 0){break;}
}
Pra usar , é melhor desenhar blocos circulares ( :ué: ) , e vocÊ tem a obrigaçãode declarar o spaceLeft antes, só pra desenhar varios :

Código: Selecionar todos

spaceLeft = 0;
desenha_blocos(0,0,100,100);
desenha_blocos(100,100,100,200);
desenha_blocos(100,200,200,200);
desenha_blocos(200,200,200,100);
desenha_blocos(200,100,300,0);