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. |
[ RESOLVIDO ] Efeito parallax usando objetos
- AdrianoPpaula
- Membro
- Reações: 0
- Mensagens: 59
- Localização: Quissamã RJ
-
- Contato:
[ RESOLVIDO ] Efeito parallax usando objetos
Fala pessoal blz? Retornando as atividades aqui \0/
Então, dessa vez estou aqui com problema que estou passado e que está quase sendo resolvido mas preciso de algumas sugestões, vamos lá
Estou recentimente trabalhando no cenario do jogo. Porem pintou um problema, existe um objeto que possui uma certa animacão. Esse objeto faz parte do cenario e deve ficar na frente do personagem e o pior esses objetos devem se comportar como backgrounds com efeito parallax. Atualmente fiz da seguinte maneira
If player.hspeed > 0 { x += 1 }
If player.hspeed < 0 { x -= 1 }
Resumidamente fiz com essa ideia simples e até que funcionou mas da bugs pois se o personagem se mover muito rápido o cenario n volta pro lugar certinho.
Então, dessa vez estou aqui com problema que estou passado e que está quase sendo resolvido mas preciso de algumas sugestões, vamos lá
Estou recentimente trabalhando no cenario do jogo. Porem pintou um problema, existe um objeto que possui uma certa animacão. Esse objeto faz parte do cenario e deve ficar na frente do personagem e o pior esses objetos devem se comportar como backgrounds com efeito parallax. Atualmente fiz da seguinte maneira
If player.hspeed > 0 { x += 1 }
If player.hspeed < 0 { x -= 1 }
Resumidamente fiz com essa ideia simples e até que funcionou mas da bugs pois se o personagem se mover muito rápido o cenario n volta pro lugar certinho.
Editado pela última vez por AdrianoPpaula em Qui Jul 27, 2017 9:00 am, em um total de 1 vez.
Re: [80%] Efeito parallax usando objetos
Pra ficar bem posicionado o mais correto seria fazer em relação à própria view, e não ao player.
Vou considerar que você quer manter a posição inicial do objeto.
No Step:
Ou seja o objeto vai passar 25% mais rápido pela tela.
Se fosse para um objeto no fundo só trocar o 1.25 por 0.75, por exemplo, sendo 25% mais lento.
Espero que ajude.
FLWS!
Vou considerar que você quer manter a posição inicial do objeto.
No Step:
Código: Selecionar todos
x = xstart - (view_xview[0] * 1.25);
Se fosse para um objeto no fundo só trocar o 1.25 por 0.75, por exemplo, sendo 25% mais lento.
Espero que ajude.
FLWS!
- AdrianoPpaula
- Membro
- Reações: 0
- Mensagens: 59
- Localização: Quissamã RJ
-
- Contato:
Re: [80%] Efeito parallax usando objetos
Poxa brigadão mesmo funcionou perfeitamente dessa maneira, antes o cenário estava deslizando descontroladamente mas agora tudo está perfeito!
Eu fiz da seguinte forma usando a sua resposta pra poder criar vários objetos que se comporta como parallax.
Criei 4 grupos de objetos: frente, frente_2 ,frente_3, frente_4
ai no draw do parente desses objetos fiz assim
ai na room eu coloco qualquer objeto parent e vou no creation code por exemplo
Dessa forma posso fazer qualquer objeto na room se comportar com a profundidade e movimento parallax, tipo criando layer para os cenários de maneira rustica
Eu fiz da seguinte forma usando a sua resposta pra poder criar vários objetos que se comporta como parallax.
Criei 4 grupos de objetos: frente, frente_2 ,frente_3, frente_4
ai no draw do parente desses objetos fiz assim
Código: Selecionar todos
if frente=true {
//MOVIMENTO PARALLAX 1
x = xstart - (view_xview[0] * 0.1);
}
if frente_2=true {
//MOVIMENTO PARALLAX 2
x = xstart - (view_xview[0] * 0.2);
}
if frente_3= true {
//MOVIMENTO PARALLAX 3
x = xstart - (view_xview[0] * 0.3);
}
if frente_4= true {
//MOVIMENTO PARALLAX 4
x = xstart - (view_xview[0] * 0.4);
}
Código: Selecionar todos
depth=-3;
frente_3=true;
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes