Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

ponte com esse efeito

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
divin sphere hirosha
Membro
Membro
Reações: 1
Mensagens: 97

ponte com esse efeito

Mensagem por divin sphere hirosha » Sex Out 21, 2016 2:09 pm

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?
Ei você! você que está do outro lado da telinha, Tudo ótimo? Venha conferir meus projetos na google play!

Cubow Racer Infinity
MineField
FishBreak
Bring The Block

Ver Todos os Projetos

Avatar do usuário
J_Marlon
Membro
Membro
Reações: 1
Mensagens: 41

Re: ponte com esse efeito

Mensagem por J_Marlon » Sex Out 21, 2016 5:48 pm

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!

Avatar do usuário
Rodrigo Santiago
Colaborador
Colaborador
Reações: 0
Mensagens: 273

Re: ponte com esse efeito

Mensagem por Rodrigo Santiago » Sex Out 21, 2016 6:18 pm

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);

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante