Avatar do usuário
Tutoriais & Aulas
Colaborador
Colaborador
Autor
Mensagens: 174
Registrado em: Qui Abr 28, 2016 11:37 am
Karma: 250

[PROG] Usando Alarms

Qui Abr 28, 2016 4:07 pm

Autor original: CLT


Nome: Alarms

Autor: CLT

Plataforma: GM PRO/LITE

Nível: Iniciante

Introdução

Alarms como o próprio nome diz, são como relógios, que após um determinado tempo dispara, ocorrendo uma determinada ação.
Esse evento é muito utilizado em jogos de estratégia, como o jogo Roma.

Exemplo:

Crie um objeto e chame de obj_controle.

No Create deste objeto coloque:

pontos=0
alarm[0]=1*room_speed


Explicando


Toda vez que obj_controle for criado o alarm 0 será ativado e seus pontos serão 0.

No evento Alarm 0 coloque:

pontos+=1
alarm[0]=1*room_speed


Explicando


A cada 1 segundo os pontos do obj_controle aumentarão em 1 e o alarm 0 será reativado, então a cada 1 segundo os pontos aumentarão em 1.

No evento Draw coloque:

draw_text(32,32,"Pontos: "+string(pontos))


Explicando


Desenha os pontos em uma altura de 32 pixels e uma largura também de 32 pixels.

Coloque o objeto na room e teste. Se tudo foi feito certo à cada 1 segundo os pontos aumentarão em 1.

Calcular o tempo:

Para calcular o tempo, existem duas formas:



alarm[n°]=n°*room_speed




alarm[n°]=n°


Explicando


No 1° jeito, você coloca os segundos desejados, vezes a room_speed.

No 2° jeito, você tem que saber o room_speed para fazer, por exemplo se a room_speed for 60, você faz alarm[n°]=60. Então dará 1 segundo.

Usando mais de um Alarm:

Quando se está programando com Alarms, você pode adicionar até 12 Alarms, que vão de 0 a 11.

Exemplo:

Se você fez a primeira parte do tutorial, já poderá aproveitar para está parte.

Coloque no Create:

alarm[1]=5*room_speed


Explicando

Após 5 segundos da criação do obj_controle, o Alarm 1 será ativado:

Coloque no evento Alarm 1:

pontos*=2
alarm[1]=5*room_speed


Explicando

A cada 5 segundos os pontos são multiplicados por 2, e o Alarm 1 é reativado.

Ativando um Alarm através de outro objeto:

No obj_controle (mesmo de sempre) coloque no Alarm 2:

pontos-=5
alarm[2]=3*room_speed


Explicando

Quando o Alarm 2 for ativado, a cada 3 segundos os pontos diminuíram em 5 pontos, e o Alarm 2 será reativado.

Crie um novo objeto e chame de obj_ativador.

No Step coloque:

if keyboard_check_pressed(vk_space)
{
obj_controle.alarm[2]=3*room_speed
}


Explicando

Quando a tecla "space/espaço" for pressionada, o Alarm 2 do obj_controle será ativado.

Agora coloque os objetos na room e teste.

Tags:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante