Pular para o conteúdo

Efeitos visuais

Cliente

Efeitos visuais são as partículas que o jogo desenha no mundo: fumaça, faíscas, sangue, cacos de vidro, respingos de água.

Existem três formas de usá-los:

  • efeitos contínuos — createEffect devolve um elemento do tipo effect que fica no mundo até você destruí-lo, e cuja densidade e velocidade podem ser ajustadas depois;
  • efeitos instantâneos — as funções fxAdd* disparam um efeito uma única vez numa posição e não deixam nada para trás;
  • partículas avulsas — fxCreateParticle injeta partículas soltas num sistema de partículas do jogo, com cor, tamanho e duração definidos por você.

Estas 20 funções existem somente no cliente. Chamá-las de um script de servidor resulta em erro de valor nulo.

Um efeito contínuo é um elemento de verdade: ele aparece em getElementType como "effect", aceita setElementPosition e setElementRotation, e some com destroyElement. Todos os efeitos criados por um resource são destruídos quando ele para.

Quando um argumento inválido é passado — um elemento que não é um efeito, um efeito já destruído — a função devolve false e escreve o motivo no console de debug.

As funções fxAdd* disparam um efeito uma única vez, na hora, numa posição do mundo. Elas não criam elemento nenhum: não há o que guardar, alterar ou destruir depois.

Todas devolvem true quando o efeito foi disparado e false quando o jogo ainda não está desenhando o mundo — por exemplo, antes de o jogador entrar nele. Esse caso não escreve nada no console de debug. Os únicos avisos vêm de fxAddSparks, fxAddDebris e fxAddGlass, quando um dos argumentos opcionais tem o tipo errado.

O vetor dx, dy, dz presente na maioria delas é a direção em que o efeito é lançado, e não um segundo ponto no mundo.