Conectar-se
Quem está conectado
26 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 26 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Willy Tutorial – Aprendendo a usar alarms!

em Dom 24 Abr 2011, 17:31
Reputação da mensagem: 100% (2 votos)
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)
avatar
Ranking : Nota E
Notas recebidas : E
Data de inscrição : 14/02/2011
Número de Mensagens : 396
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 13

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://planetaanalisandogames.blogspot.com/

Re: Willy Tutorial – Aprendendo a usar alarms!

em Dom 24 Abr 2011, 17:38
Gostei muito! Finalmente sei o que são os alarms!
avatar
Data de inscrição : 13/08/2010
Número de Mensagens : 390
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 6

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://rockstarfamilies.blogspot.com/

Re: Willy Tutorial – Aprendendo a usar alarms!

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!
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 26/09/2010
Número de Mensagens : 270
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 8

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Willy Tutorial – Aprendendo a usar alarms!

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
avatar
Ranking : Nota A
Notas recebidas : A+A+A+A+A+A+A
Data de inscrição : 06/06/2009
Número de Mensagens : 2264
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 39

Prêmios
   : 4
   : 2
   : 1
Ver perfil do usuário

Re: Willy Tutorial – Aprendendo a usar alarms!

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
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Willy Tutorial – Aprendendo a usar alarms!

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
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Willy Tutorial – Aprendendo a usar alarms!

em Seg 25 Abr 2011, 14:28
Reputação da mensagem: 100% (2 votos)
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))
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 10/10/2010
Número de Mensagens : 261
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Willy Tutorial – Aprendendo a usar alarms!

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
avatar
Data de inscrição : 05/03/2011
Número de Mensagens : 7
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Willy Tutorial – Aprendendo a usar alarms!

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
avatar
Ranking : Nota C
Notas recebidas : C-D-A-C
Data de inscrição : 28/01/2011
Número de Mensagens : 1003
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 18

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://sonicmaker.forumeiros.com/memberlist

Re: Willy Tutorial – Aprendendo a usar alarms!

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
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Willy Tutorial – Aprendendo a usar alarms!

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
avatar
Data de inscrição : 13/08/2010
Número de Mensagens : 390
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 6

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://rockstarfamilies.blogspot.com/

Re: Willy Tutorial – Aprendendo a usar alarms!

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:
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Willy Tutorial – Aprendendo a usar alarms!

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.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum