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
- divin sphere hirosha
- Membro
- Reações: 1
- Mensagens: 97
-
ponte com esse efeito
Fala pessoal,Eu estou com um problema,eu queria saber como fazer uma ponte com esse efeito:
Só que eu queria que em vez da ponte ser uma linha,eu queria que ela fosse um sprite 16x16 como na imagem abaixo:
eu tentei fazer da minha forma aqui,mas não consegui....Alguém sabe como?
Só que eu queria que em vez da ponte ser uma linha,eu queria que ela fosse um sprite 16x16 como na imagem abaixo:
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
Cubow Racer Infinity
MineField
FishBreak
Bring The Block
Ver Todos os Projetos
Re: ponte com esse efeito
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!
https://www.youtube.com/watch?v=TbW1nVb0nfU
Edit: você pode conferir a "fisica" sobre a ponte a partir dos 10:30.
Flw!
- Rodrigo Santiago
- Colaborador
- Reações: 0
- Mensagens: 273
-
Re: ponte com esse efeito
Fiz aqui um codigo, chamado desenha_blocos :
Pra usar , é melhor desenhar blocos circulares ( ) , e vocÊ tem a obrigaçãode declarar o spaceLeft antes, só pra desenhar varios :
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;}
}
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);
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante