Página 1 de 1

Movimento específico em objeto (float)

Enviado: Qua Out 24, 2018 5:36 pm
por AdrianoPpaula
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 ^^'

Re: Movimento específico em objeto (float)

Enviado: Qua Out 24, 2018 6:12 pm
por None
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.