Timers são contadores existentes na classe Actor. Para cada Timer deve haver uma função associada que será executada quando a contagem chegar ao fim.
Vamos iniciar com um exemplo bem simples de Timer que conta 3 segundos e depois explode :)
Vamos iniciar com um exemplo bem simples de Timer que conta 3 segundos e depois explode :)
class SimplesTimer extends Actor
placeable;
event PostBeginPlay()
{
SetTimer(3);
}
function Timer()
{
//o comando abaixo escreve um texto na tela
worldinfo.game.broadcast(self, "KABOOM");
}
A função SetTimer() recebe como parâmetro a quantidade de segundos que deve contar. Quando esse tempo acabar será executada uma função com o nome de Timer() e depois disso este Timer será encerrado.
A função SetTimer() possui alguns parâmetros opcionais como pode ser visto abaixo:
A função SetTimer() possui alguns parâmetros opcionais como pode ser visto abaixo:
function SetTimer(float InRate, optional bool inbLoop, optional Name inTimerFunc='Timer', optional Object inObj)
Descrição dos parâmetros:
- InRate: Tempo de execução do Timer em segundos;
- inbLoop: Variável booleana (true ou false) que indica se o Timer deve ser repetido;
- inTimerFunc: Nome da função que o Timer deve chamar quando acabar a contagem;
- inObj: Nome do objeto que contém a função que será chamada;
No próximo exemplo vamos fazer um Timer que criará um inimigo no cenário a cada 10 segundos. Quando já tiverem sido criados 4 inimigos esse Timer será desativado.
class TesteTimer extends Actor
placeable;
var int numInimigos;
event PostBeginPlay()
{
SetTimer(10, true, 'criarInimigo');
numInimigos = 0;
}
function criarInimigo()
{
local Pawn inimigo;
inimigo = spawn(class 'UTGame.UTPawn');
inimigo.SpawnDefaultController();
numInimigos++;
if( numInimigos >= 4 )
{
ClearTimer('criarInimigo');
}
}
Para testar este código basta colocar no cenário um objeto dessa classe TesteTimer. Os inimigos serão criados na posição em que estiver o TesteTimer.
Existem outras funções relacionadas a Timers, segue abaixo a descrição de algumas delas:
Existem outras funções relacionadas a Timers, segue abaixo a descrição de algumas delas:
- function ClearTimer(optional Name inTimerFunc='Timer', optional Object inObj): Desativa o Timer informado.
- function ClearAllTimers(optional Object inObj): Desativa todos os Timers.
- function PauseTimer( bool bPause, optional Name inTimerFunc='Timer', optional Object inObj ): Pausa/Despausa o Timer informado.
- function bool IsTimerActive(optional Name inTimerFunc='Timer', optional Object inObj): Verifica se o Timer informado está ativo.
- function float GetTimerCount(optional Name inTimerFunc='Timer', optional Object inObj): Retorna o tempo que já passou no Timer.
- function float GetTimerRate(optional name TimerFuncName = 'Timer', optional Object inObj): Retorna o tempo de execução do Timer.
- function float GetRemainingTimeForTimer(optional name TimerFuncName = 'Timer', optional Object inObj): Retorna o tempo restante do Timer.
Nenhum comentário:
Postar um comentário