Willy Tutorial – Aprendendo a usar alarms!

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Qualidade Willy Tutorial – Aprendendo a usar alarms!

Mensagem por Willy em Dom 24 Abr 2011, 17:31

Olá amigos da GMBR!
Este é o meu primeiro tutorial como colaborador, e o tema deste tutorial será aprender a usar alarms!
Muita gente por aqui tem dificuldades em entender como usar os alarms, neste tutorial, vou ensinar o que é um alarm e como usar.

Primeiramente, vamos a parte teórica da aula.
Um alarm tem a função de um alarme (sério?), ou seja, você ajusta um "horário" e quando o a hora atual for igual a hora que você ajustou, ele faz sua função, ou seja, faz um barulho irritante e voa para a parede. Basicamente, isso é um alarme.
O Game Maker disponibiliza até 12 alarmes para serem usados, sendo que vai desde o “0” até o “11”. Recomendo que sempre use os alarmes na ordem. Por exemplo, se precisar usar 3 alarmes, não use o alarm[7], alarm[2] e o alarm[10], isso vai complicar sua vida. Use de forma gradual, ou seja, alarm[0], alarm[1] e alarm[2].

Vamos a parte prática agora. Pra começar, algo muito simples. Ativar um alarm no create.
Crie um objeto (com qualquer sprite) e no evento Create, coloque:
Código:
alarm[0]=30*3
E no evento Alarm[0]:
Código:
Instance_destroy()
Esse objeto tem uma função muito simples, no Create¹, ele ativa o alarme, e no Alarm[0] ele se autodestrói.
Spoiler:
Cada “1” do alarme, representa 1 frame. 30 frames representam 1 segundo, “*3” multiplica 30 por três, que resulta 90 que é igual a 3 segundos. Se estiver usando um “room speed” diferente, o tempo não vai ser o mesmo!
Essa é uma forma bem simples de se usar um alarm, mas vão ser poucas vezes que você vai usar no create. Mas então, aonde se usa mais? Ah, claro, no step!
Ai você vai, coloca isso no step e...
_Caramba! Não funciona? Porqueeeeeeeeeeeeeeeeeeeeeee?
Muito simples, o evento step executa os códigos constantemente, ou seja, a cada frame, vai mudar o valor do alarm, ou seja, ele SEMPRE vai fiar 90.
E nesse ponto que o pessoal declara:
_É, eu não sei usar alarms.
As pessoas vêem o alarm como um bicho de 84 cabeças (7 cabeças por alarm ), mas depois que descobrem a coisa simples que direi agora, tudo fica fácil (eu acho). O segredo é muito simples, é o uso de variáveis!
Com a variável, eu posso checar se o alarm já foi ativado ou não!

Vamos fazer um exemplo pratico com o uso de alarm no step.
Crie dois sprites, uma bolinha pequena e uma grande. Marque a "origin" dos sprites como "center" .
Agora, crie um objeto para a bolinha grande. Chame-a como quiser.
Primeiramente, coloque no campo "depth" o valor "-1" para que fique sobre as bolinhas que esse objeto vai criar.
No create dela, iremos criar uma variável:
Código:
atirou=false
Essa é a variável que vamos usar para checar se o alarme foi ativado ou não.
Agora, no step, vamos colocar isso:
Código:
if atirou=false{//Se não tiver atirado
alarm[0]=15 //Ativa o alarme (1/2 de segundo)
atirou=true //Diz que atirou¹
}
//1: Isso impede que o alarme não fique sempre 15!

Checamos se a variável "atirou" é false, e, se for, ativa o alarm e se torna true, impedindo de o alarm sempre ficar 15.
No alarm[0], você coloca isso:
Código:
instance_create(x,y,obj_bola_pequena)//Cria o objeto bola_pequena quando o alarme for ativado.
atirou=false//Torna possível atirar novamente
Quando o valor do alarm[0] for 0, ou seja, quando ele acabar, ele executa sua função, que no caso acima, é criar uma bolinha.

Pronto, o seu sistema de alarm já esta funcionando. Porém, se executar assim, vai perceber que as bolinhas não se mechem. Mas por quê? Porque não definimos uma função para a bolinha fazer. Vamos fazer algo bem simples, vamos fazer ela correr em uma direção aleatória.
No create do "obj_bola_pequena", coloque isso:
Código:
//Aqui vamos definir a função da bolinha, que no caso, é andar para uma direção aleatória.direction=random(360)//¹
speed=10//Velocidade da bolinha
1:direction é a direção da bolinha. Random faz uma direção aleatória entre 360 graus.
Nesse caso, estamos definindo a direção dela usando a função random (aleatório) em 360.
Speed é a velocidade da bolinha.
Não se esqueça de colocar isso no "outiside room":
Código:
instance_destroy()//Se destruir ao sair da room

Agora sim, seu sistema de alarme esta pronto!
Você podem baixar o .gmk do tutorial clicando aqui! (MediaFire)

[EDITADO]
A pedido do saim preparei mais um exemplo para vocês verem como é a "contagem regressiva" do alarm. Não sei se funciona no lite, se alguém testar no lite e funcionar ou não, me avisem.

Primeiramente, crie mais um objeto, e no create, coloque:
Código:
alarm[0]=30 //1 segundo
No alarm[0], repita
Código:
alarm[0]=30//1 segundo
Até aqui, estamos fazendo a cada 1 segundo, ativar o alarm[0] infinitamente.
Agora que vem a parte legal, no evento draw, coloque:
Código:
draw_rectangle(x+alarm[0],y+alarm[0],x-alarm[0],y-alarm[0],true)
Aqui estamos desenhando um quadrado, sendo que suas dimensões são o valor do alarm[0]."true" quer dizer que é para desenhar apenas a outline, se você colocar false, vai desenhar um quadrado com preenchimento.
Obs.: Ao usar DRAW, o sprite do objeto não aparece.
Testem e vejam o resultado (ficou bonitinho)!

Espero que tenham gostado e entendido!
Duvidas é só falar!
blz



Última edição por Willy em Sab 21 Maio 2011, 15:08, editado 2 vez(es)

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: Willy Tutorial – Aprendendo a usar alarms!

Mensagem por Supersonic933 em Dom 24 Abr 2011, 17:38

Gostei muito! Finalmente sei o que são os alarms!

Supersonic933

Ranking : Nota E
Número de Mensagens : 396
Data de inscrição : 14/02/2011
Notas recebidas : E
Reputação : 13
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://planetaanalisandogames.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: Willy Tutorial – Aprendendo a usar alarms!

Mensagem por Assassino em Dom 24 Abr 2011, 18:05

E ai Beleza ? gostei do tutorial, deram o cargo de colaborador para a pessoa certa :C:, só vim alerta-lo uma coisinha boba: para facilitar a vida dos programadores, o true e o false podem ser substituídos por 1 e 0 respectivamente, ou seja, todo valor acima de zero é declarado verdadeiro (true) caso ao contrário todo valor igual ou menor que zero é declarado falso (false). é ridículo mas o game maker sempre tem a razão, e o pior que é mesmo :C: (verso citado por ramon em uma de suas aulas)
FLW!

Assassino

Número de Mensagens : 390
Idade : 20
Data de inscrição : 13/08/2010
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://rockstarfamilies.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: Willy Tutorial – Aprendendo a usar alarms!

Mensagem por Carlos L. em Dom 24 Abr 2011, 19:43

Opa muito bom o tutorial, mostrou o uso dos alarms com um exemplo simples e pratico com uma coisa que muito iniciante usa quando está começando que é fazer um personagem atacar.
Só tenho uma coisa a lhe dizer parabéns.
flw

Carlos L.

Ranking : Nota C
Número de Mensagens : 270
Data de inscrição : 26/09/2010
Notas recebidas : C
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Willy Tutorial – Aprendendo a usar alarms!

Mensagem por SIGILOSO em Dom 24 Abr 2011, 19:46

Muito bom cara, tá fazendo um excelente papel de colaborador! Boa sorte na staff, é sempre bom ter pessoal competente na equipe Happy
afro

SIGILOSO

Ranking : Nota A
Número de Mensagens : 2264
Idade : 23
Data de inscrição : 06/06/2009
Notas recebidas : A+A+A+A+A+A+A
Reputação : 39
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 4
   : 2
   : 1

Voltar ao Topo Ir em baixo

Qualidade Re: Willy Tutorial – Aprendendo a usar alarms!

Mensagem por Willy em Seg 25 Abr 2011, 13:02

@Supersonic933:
Bom, pelo visto meu objetivo com esse tutorial foi atingido!

@weslleyvieira:
Obrigado por ler o tutorial e dizer que fui bem escolhido! Fiquei muito feliz com a confiança que depositaram em mim. Em relação ao true e false, não achei necessário usar dessa forma, tendo em vista que o tutorial é voltado para os iniciantes, mas obrigado por informar.

@Carlos L.:
Obrigado por comentar, o exemplo foi o primeiro que veio na cabeça, mas ficou bem legal.

@SIGILOSO:
Obrigado rapaz, esse foi meu primeiro serviço como colaborador, ainda pretendo fazer outros tutoriais e principalmente engines.

Obrigado a todos que leram o tutorial!
Até a próxima!

blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: Willy Tutorial – Aprendendo a usar alarms!

Mensagem por saim em Seg 25 Abr 2011, 14:28

Willy, já que você começou esse tutorial, que tal acrescentar:
- alarms feitos manualmente
- checar o valor do alarm (quem sabe, usando o valor pra desenhar uma barra que vai diminuindo, tipo draw_rectangle(x,y,x+alarm[0],y+10,0))

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Qualidade Re: Willy Tutorial – Aprendendo a usar alarms!

Mensagem por Nedotavio1807 em Seg 25 Abr 2011, 15:26

Valeu Willy sempre tive duvidas com alarm e vc me mostrou q é facil, continue assim fazendo o forum crescer, seu jogo novo é 10 rapaz concerteza vai levar o trofeu

Nedotavio1807

Ranking : Nota D
Número de Mensagens : 261
Idade : 23
Data de inscrição : 10/10/2010
Notas recebidas : D
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Willy Tutorial – Aprendendo a usar alarms!

Mensagem por zerromax em Seg 25 Abr 2011, 18:58

n sabia q pra gml valor abaixo de 0 era false tonto

eu tou acostumado a "qualquer valor q n seja 0 eh false..."

argh, odeio diferenças nas linguagens nervoso

zerromax

Número de Mensagens : 7
Idade : 20
Data de inscrição : 05/03/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Willy Tutorial – Aprendendo a usar alarms!

Mensagem por sonic luan em Seg 25 Abr 2011, 22:05

exelente tuto wili sorrindo2 vai ajudar muitas pessoas pois e uma das duvidas mas frequentes sobre game maker sorrindo otimo tutorial nota : 10

sonic luan

Ranking : Nota C
Número de Mensagens : 1003
Idade : 17
Data de inscrição : 28/01/2011
Notas recebidas : C-D-A-C
Reputação : 18
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://sonicmaker.forumeiros.com/memberlist

Voltar ao Topo Ir em baixo

Qualidade Re: Willy Tutorial – Aprendendo a usar alarms!

Mensagem por Willy em Seg 25 Abr 2011, 23:07

@saim:
Os alarms manuais não acho necessario explicar nesse tópico, isso seria um outro assunto... Porém, gostei da sua idéia de demonstrar o uso de um alarm desenhando um retangulo. Fiz um teste aqui e vou adcionar no tutorial.

@Nedotavio1807:
Se ainda tiver dúvidas, fique a vontade para perguntar. Espero ganhar o troféu! Cool

@zerromax:
Pode fazer um teste para ver isso na pratica:

Crie um objeto qualquer, no create, coloque:
Código:
true_ou_false=-5
E no keyboard pressed, coloque:
Código:
if true_ou_false=false{
show_message("FALSE")
}else{
show_message("TRUE")
}
Assim você pode analizar os resultados. Altere o valor para ver novos resultados.

@sonic luan:
Obrigado por comentar meu tutorial e por dar uma nota!

Obrigado a todos por acompanharem o tutorial e comentar!
blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: Willy Tutorial – Aprendendo a usar alarms!

Mensagem por Assassino em Seg 25 Abr 2011, 23:16

zerromax escreveu:n sabia q pra gml valor abaixo de 0 era false tonto

eu tou acostumado a "qualquer valor q n seja 0 eh false..."

argh, odeio diferenças nas linguagens nervoso
Pois é meu amigo só postei aquilo para facilitar a vida de muitos programadores, então numa das antigas aulas do ramon eu tinha me recordado daquilo e então me lembrei pois antigamente eu era viciado em Game Maker e minha vida só era o Gm 7, depois veio o 8 e eu fiquei mais azilado, isso faz tempo hoje eu comecei a aprofundar nos estudos e perdi a graça :C:

Assassino

Número de Mensagens : 390
Idade : 20
Data de inscrição : 13/08/2010
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://rockstarfamilies.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: Willy Tutorial – Aprendendo a usar alarms!

Mensagem por saim em Ter 26 Abr 2011, 08:33

zerromax escreveu:n sabia q pra gml valor abaixo de 0 era false tonto
Pra gml, valores até quase 0.5 são false. De 0.5 pra cima são true.

Willy, acho importante incluir os alarms manuais pra deixar muito claro o funcionamento dos alarms: diminui 1 a cada step, executa o código quando "=0" e pára de diminuir quando <0. Dessa forma, evitam-se erros como, por exemplo, definir um alarm como um valor não-inteiro.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Qualidade Re: Willy Tutorial – Aprendendo a usar alarms!

Mensagem por Conteúdo patrocinado Hoje à(s) 06:46


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum