PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Objeto se mover na tela de forma aleatória #612664

01/09/2020

0

Olá!

Estou tentando fazer um cálculo para gerar valores que façam um objeto se mover de forma aleatória para esquerda ou direita. E também durante um tempo aleatório dentre um valor minimo e máximo.

Entretanto, após muitas tentativas, simplesmente não consigo =/
O objeto fica sempre muito rápido ou muito bugado(indo pra esquerda e pra direita muito rápido, ao ponto de mal sair do lugar).
https://www.youtube.com/watch?v=5io3nt1qOh4

Aqui está o meu código:
OBS: O tempo em questão é igual a frames, ou seja, 60 frames = 1 segundo.
https://youtu.be/5io3nt1qOh4
function atualizaIcone(){
    const minimoX = 100;
    const maximoX = 400;
    const duracaoMaxima = 60 * 5; // 5 segundos
    const duracaoMinima = 60 * 2; // 2 segundos
    if(!duracao || duracao <= 0) {
        let direcao = Math.floor(2 * Math.random());// Se direção 0, vai para esquerda. || Se direção 1, vai para a direita.
        var duracao =  Math.floor(duracaoMaxima* Math.random()) + duracaoMinima; // Gera um número aleatório dentre os números minimoX e máximoX.
        if(direcao){  
            // se move para direita
            while(duracao--){
                this.hitmarkSprite.x++;
                if(this.hitmarkSprite.x >= maximoX) duracao = 0;
            }
        }else{
            // se move para esquerda
            while(duracao--){
                this.hitmarkSprite.x--;
                if(this.hitmarkSprite.x <= minimoX) duracao = 0;
            }
        }
    }
};


Eu gostaria que esse ícone se movesse linearmente para esquerda ou direita.
Eliaquim Nascimento

Eliaquim Nascimento

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar