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.

Movimento específico em objeto (float)

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
AdrianoPpaula
Membro
Membro
Reações: 0
Mensagens: 59
Localização: Quissamã RJ

Contato:

Movimento específico em objeto (float)

Mensagem por AdrianoPpaula » Qua Out 24, 2018 5:36 pm

Fala pessoal blz com todos vocês??? ^__^

Então a um tempo venho pesquisando uma maneira de fazer um movimento simples em certos objetos na tela. Existe vairas maneiras de fazer isso mas queria saber de vocês como que cada um faria tao coisa.

A ideia é fazer um objeto "Flutuar", mas não se engane com física ou algo do tipo...somente visualmente mesmo, alguns itens em jogos ficam fazendo esse movimento subindo e descendo suavemente como se tivessem flutuando.

Eu poderia simplesmente fazer isso por sprite fazendo animação do sprite subindo e descendo mas gostaria de fazer isso em código. Ou seja....como que eu limito um valor para que ele tenha um limite e volte até um valor máximo?

Atualmente eu fiz dessa maneira referente a posições do objeto. mas a ideia aqui é criar uma variável que vá até um certo limite máximo e volte até um limite minimo.
Semelhante com a função lerp(a, b, amt) ou o random_range(n1, n2) que faz um valor "suavizar" até outro. Só que nesse caso não daria certo pois o valor não ficaria diminuindo e aumentando.

Create:

Código: Selecionar todos

pos_y=y
Step:

Código: Selecionar todos

if (y >= pos_y)  {vspeed=-0.1}; 
if (y < pos_y-20) {vspeed=+0.1};


Bom peço já desculpas acho que acabei me embolando todo e não consegui explicar direito kkk ^^'
Imagem

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: Movimento específico em objeto (float)

Mensagem por None » Qua Out 24, 2018 6:12 pm

Quando eu quero fazer este tipo de efeito eu crio uma variável de controle.
Por exemplo subindo.
If (subindo) código para flutuar para cima.
If (y >= ymax) subindo = !subindo
E o mesmo modelo para subindo false.

Se tudo for usado como variável você pode simplesmente instanciar o objeto na Room e definir lá mesmo os limites dele.
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Responder

Quem está online

Usuários navegando neste fórum: Bing [Bot] e 2 visitantes