Animação usando divisões descontínuas (Phaser3)

この記事は約4分で読めます。
スポンサーリンク

Coisas que eu quero fazer

Ao animar um personagem no Phaser3, você cria a animação a partir de uma sequência de Splits (no exemplo abaixo, Splits 0-3 do personagem) da seguinte forma:

    this.anims.create({////animation when move to left
        key: 'left',
        frames: this.anims.generateFrameNumbers('dude', { start: 0, end: 3 }),
        frameRate: 10,
        repeat: -1
    });

No entanto, há momentos em que você deseja usar divisões não contíguas.

Aqui, criamos uma animação usando divisões não contíguas.

Para obter mais detalhes sobre o tutorial acima, consulte o seguinte artigo.

スポンサーリンク

Exemplo de uso

O tutorial do Phaser3 mencionado acima utiliza o seguinte modelo Splite:

A animação de caminhar para a esquerda é representada pelos números de 0 a 3, portanto, a animação é criada exibindo repetidamente as quatro imagens do lado esquerdo.

O problema aqui é que a primeira e a terceira imagens são iguais.

Quero usar o seguinte sprite com a imagem duplicada removida, mas quando especifico start: 0, end: 2, a imagem do pé direito aparece depois do pé esquerdo, o que faz com que a animação fique estranha.

O visor deve repetir 0, 1, 0, 2 aqui.

スポンサーリンク

implementação

Altere `start: 0, end: 3` para `frames:` conforme mostrado abaixo e defina o quadro a ser usado.

No exemplo de uso…[ 0, 1, 0, 2]Vou mudar para isto.

    this.anims.create({////animation when move to left
        key: 'left',
        frames: this.anims.generateFrameNumbers('dude', { frames: [ 0, 1, 0, 2] }),
        frameRate: 10,
        repeat: -1
    });
スポンサーリンク

Resultado

Consegui criar uma animação usando sprites descontínuos.

スポンサーリンク

Sites que utilizei como referência

AnimationState
Phaser.Animations.AnimationState

コメント

タイトルとURLをコピーしました