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.


コメント