Phaser Actions: como alterar vários Game Objects sem escrever loops
Phaser.Actions aplica uma mudança a arrays ou Groups de Game Objects, e os parâmetros step, index e direction criam variação e controlam a ordem. A versão do Phaser não é especificada na fonte.

As Actions do Phaser permitem alterar vários Game Objects de uma vez, sem escrever um loop manual para cada ajuste. São funções estáticas do namespace `Phaser.Actions`: você passa um array de objetos, e a função aplica a mesma operação a todos. A fonte é a documentação oficial "Actions | Phaser Help", que não traz data de publicação nem indica a versão do Phaser. Por isso, confira a compatibilidade no projeto antes de adotar qualquer exemplo.
O que são Actions e quando usá-las
Segundo a documentação, uma Action costuma executar uma única tarefa combinando vários recursos do Phaser. Entre os exemplos citados estão alinhar sprites ao longo de uma linha e girar um conjunto de sprites em torno de um ponto. Algumas Actions foram pensadas para uma chamada única, e outras para rodar continuamente em um loop de atualização.
Por serem funções estáticas, elas são chamadas diretamente, sem instanciar nada.
Conheça jogos publicados na Rplay Games
Jogue grátis online, sem baixar.
🎮 WEB
Motoboy Game — Jogo de Moto e Entrega Online 3D
Jogo de moto online grátis em que você trabalha como motoboy pelas ruas de uma cidade brasileira. Pegue pedidos, faça entregas rápidas, desvie do trânsito e tente su…
🎮 WEB
Rajada FPS — Jogo de Tiro Online Grátis no Navegador
Entre no combate em Rajada FPS, um jogo de tiro online brasileiro com partidas rápidas, cenários inspirados no Brasil e ação FPS direto no navegador, sem precisar ba…
Pré-requisitos: conhecimento básico de Phaser, familiaridade com Game Objects, arrays JavaScript e a estrutura de uma cena.
Como aplicar uma Action a um Group
Actions recebem arrays. Para usá-las em um Group, passe o resultado de `getChildren()`. O exemplo da documentação define o alpha de todos os filhos do grupo como 0.5:
Phaser.Actions.SetAlpha(myGroup.getChildren(), 0.5);Step, index e direction: variação e ordem de iteração
Muitas Actions aceitam três parâmetros opcionais, que evitam chamadas repetidas.
- **step**: valor somado ao valor informado, multiplicado pelo contador da iteração. Com 10 sprites em `SetX` e valor 100, todos ficam em x = 100. Com step 50, o primeiro fica em 100, o segundo em 150, o terceiro em 200 e assim por diante.
- **index**: posição inicial no array. Ele pula os primeiros itens e aplica a Action só aos restantes. O padrão é zero, que atinge todos os itens, e o índice nunca deve exceder o tamanho do array.
- **direction**: o padrão 1 percorre do início ao fim; -1 percorre do fim ao início. Isso inverte a ordem de aplicação sem alterar o array.
Algumas Actions aceitam dois valores de step, porque ele é dividido entre x e y. Em `SetScale`, o primeiro vale para scaleX e o segundo para scaleY. A documentação recomenda consultar cada Action para saber se ela suporta isso.
Exemplos de Actions documentadas
**Angle** soma o valor informado à propriedade angle, em graus. Por ser aditiva, pode ser chamada em um update loop para incrementar a rotação aos poucos:
Phaser.Actions.Angle(myObjects, 90);**AlignTo** alinha os objetos um ao lado do outro. Recebe os itens, uma posição (constante de alinhamento como `Phaser.Display.Align.LEFT_CENTER`) e offsets opcionais em x e y:
Phaser.Actions.AlignTo(items, position, [offsetX], [offsetY]);Outras Actions descritas na página:
- `IncAlpha`, `IncX`, `IncY` e `IncXY`, todas aditivas. `IncXY` aceita index e direction, e seu step é dado em dois valores, stepX e stepY.
- `PlaceOnCircle`, `PlaceOnEllipse`, `PlaceOnLine` e `PlaceOnRectangle`, que posicionam objetos em pontos igualmente espaçados. A Origin dos objetos influencia como eles aparecem em relação a esses pontos.
- `GridAlign`, `GetFirst`, `GetLast` e `Call`.
Nas Actions de posicionamento, alterar depois a forma usada (círculo, elipse, linha ou retângulo) não move os objetos já posicionados. É preciso chamar a Action de novo. Para animar o efeito, a documentação sugere chamá-la em update, tween ou loop temporizado enquanto a forma muda.
O que a fonte não confirma
- Data de publicação e compatibilidade com versões específicas do Phaser.
- Impacto em desempenho ou FPS, que não é discutido.
- Os exemplos de arquivo citados na página, como os de angle e inc alpha em update, não vieram nos trechos analisados.
A Rplay Games não testou estes exemplos. Eles refletem apenas o que a documentação oficial descreve.
Orientações baseadas na fonte indicada; não testadas pela Rplay. Confira a versão e a plataforma antes de aplicar.
Unity Learn em tela única: como usar o Editor e o tutorial lado a lado
5 melhores jogos grátis de construção de cidades na Steam para jogar em 2026
Moto Xtr3Me BR chega à Rplay Games com manobras e cenários brasileiros no navegador
Moto Xtr3Me chega à Rplay Games com manobras 2D grátis no navegador