[ RESOLVIDO ] Efeito Parallax usando Tiles
Enviado: Qui Out 05, 2017 4:49 pm
Fala pessoal blz, estou tendo dúvidas aqui pra implementar um efeito parallax só que dessa vez usando tiles.
Pesquisando mais a fundo conseguir achar essa maneira aqui que é bem simples porem está dando um erro quando a tela para no final da room teoricamente era para os tiles pararem de se moverem mas eles continuam. Tentei então usar a lógica do pessoal que me ajudaram com parallax com objetos porem não serve. Então viu explicar melhor agora:
Tópico do efeito parallax com objetos (tentei usar isso nos tiles mas não consegui)
https://tgmbrasil.com.br/viewtopic.php?f=108&t=1623&p=6525&hilit=parallax#p6525
- TENTATIVA 1 -
No step de algum objeto control
Resultado: Ficou bom porem ficou meio descontrolado pelo fato de usar a hspeed do personagem, percebi que se eu ficasse andando muito tempo pela room os tiles não ficaram posicionados certinho indo cada vez mais para o lado do que para o outro e sem falar também que quando a camera parava, quando chegava perto do final da room onde a câmera pare de se movimentar os tiles continuavam se mexendo =/
- TENTATIVA 2 -
Resultado: Dessa maneira os tiles não param o_O
Pesquisando mais a fundo conseguir achar essa maneira aqui que é bem simples porem está dando um erro quando a tela para no final da room teoricamente era para os tiles pararem de se moverem mas eles continuam. Tentei então usar a lógica do pessoal que me ajudaram com parallax com objetos porem não serve. Então viu explicar melhor agora:
Tópico do efeito parallax com objetos (tentei usar isso nos tiles mas não consegui)
https://tgmbrasil.com.br/viewtopic.php?f=108&t=1623&p=6525&hilit=parallax#p6525
- TENTATIVA 1 -
No step de algum objeto control
Código: Selecionar todos
if view_xview>0 and view_hspeed !=0 {
// FRENTE
tile_layer_shift(-1,0+(-player.hspeed/150),0);
// FRENTE 2
tile_layer_shift(-2,0+(-player.hspeed/250),0);
// FRENTE 3
tile_layer_shift(-3,0+(-player.hspeed/150),0);
}
- TENTATIVA 2 -
Código: Selecionar todos
if view_xview[0]>0 and view_hspeed[0] !=0 {
// FRENTE
tile_layer_shift(-1,0+(view_hspeed[0]/150),0);
// FRENTE 2
tile_layer_shift(-2,0+(view_hspeed[0]/250),0);
// FRENTE 3
tile_layer_shift(-3,0+(view_hspeed[0]/150),0);
}