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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : D-B-C
Data de inscrição : 08/09/2010
Número de Mensagens : 914
Insígnias de JAM :

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

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

Criando um raio!

em Seg 04 Abr 2011, 09:42
Reputação da mensagem: 100% (1 votos)
Criando um raio!
Descrição: Após o SIGI tuto de criar chuva realista, vamos criar o clarão do raio!
Nível de dificuldade: iniciante/mediano
Requerimentos: Versão do GM 6/7/8 - Pro/Lite e um som de trovão.

Bem vamos agora criar um obj_raio e um obj_controlador.
Para o obj_raio vamos criar uma sprite toda preenchida de branco, pode ser de qualquer tamanho até 1x1.

Agora no Create do obj_raio:
Código:
image_alpha = 0 //Representa a transparência do objeto.
fade = true //Representa o fade do objeto, vamos usar a transparência com essa variável.
alarm[0] = 100 // Ativa o alarme 0 que vamos criar
image_xscale = room_width // Deixa o tamanho horizontal igual o tamanho horizontal da room
image_yscale = room_height //Deixa o tamanho vertical igual o tamanho vertical da room
E Agora no Alarm 0:
Código:
instance_destroy() // Destrói o objeto
E por ultimo no Step Event:
Código:
if image_alpha > 0.9 // Se a transparência é maior que 0.9
fade = false // Ativa o fade
if fade = true // Se o fade é ativo
image_alpha += 0.2 // aumenta a transparência à + 0.2
if fade = false // Se o fade é desativado
image_alpha -= 0.2 // diminui a transparência à -0.2
O trovão já está pronto, agora vamos programar quando vamos criar ele no obj_controlador:
No Create:
Código:
alarm[0] = random(120)+130 // Ativa o alarme 0 com um valor aleatório de 0 à 120 somado à 130
instance_create(0,0,obj_raio) //Cria o raio
sound_play(snd_trovao) // Reproduz o som
E agora no alarm 0: Repita o código acima

Para quem não entender poste sua dúvida e a engine
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: Criando um raio!

em Seg 04 Abr 2011, 09:48
muito bom o tutorial!!
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: Criando um raio!

em Seg 04 Abr 2011, 13:18
Um iniciante não entenderia nada. Já que o tutorial tem o objetivo de ensinar, explique como cada código funciona, coloque imagens do resultado, essas coisas.
afro
avatar
Ranking : Nota C
Notas recebidas : D-B-C
Data de inscrição : 08/09/2010
Número de Mensagens : 914
Insígnias de JAM :

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

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

Re: Criando um raio!

em Ter 05 Abr 2011, 19:37
@SIGILOSO escreveu:Um iniciante não entenderia nada. Já que o tutorial tem o objetivo de ensinar, explique como cada código funciona, coloque imagens do resultado, essas coisas.
afro
Expliquei sim. Após cada linha fiz um //Comentário
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: Criando um raio!

em Ter 05 Abr 2011, 19:42
Eu sei disso, acontece que muita gente apenas pega os códigos, sem nem ler eles antes, aí acabam não vendo a explicação. Você podia fazer um resumo dos códigos embaixo deles que aí fica mais fácil entendê-los _o/
afro
avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

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

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

Re: Criando um raio!

em Ter 05 Abr 2011, 20:02
Hmmm... SIGI, não viu um erro no tutorial?
image_xscale = room_width // Deixa o tamanho horizontal igual o tamanho horizontal da room
image_yscale = room_height //Deixa o tamanho vertical igual o tamanho vertical da room
Usar scale para esse tipo de coisa é horrível, pois não vai ficar igual, e sim maior que a room. Porque? Vou te dizer como o scale funciona. Suponhamos que temos uma sprite de 32x32, o image_xscale é 1. Se eu coloca o image_xscale igual a 2, eu vou adicionar mais 32, que vai ficar 64. Basicamente, o scale é o largura da sprite(xscale) ou a altura da sprite(yscale) multiplicado pelo valor dado na variável. -1 é espelhamento.

E se a room for como vem padrão, 640, vai ficar 640 x 32 = 20480! Olha só o tamanho! Seria melhor usar stretched, mas ficaria esticado(caso não for uma sprite de 1x1), então o que você pode fazer é o seguinte: Pegue o tamanho da room e divida pelo da sprite, depois pegue o resultado e multiplique pelo tamanho da sprite. Se for largura, e a room for 640 de largura e a sprite 32 de largura: 640/32 = 20 -> 32*20 = 640 -> Certinho! Caso fosse um oturo número, a coisa já sairia uns quebrados, mas dava só arrendondar né? No caso da altura, e a room for 480 e a sprite 32: 480/32 = 15 -> 32x15 = 480.

20480... Saca só a RAM que iria tomar! Anyway, nice tutorial!
avatar
Ranking : Nota C
Notas recebidas : D-B-C
Data de inscrição : 08/09/2010
Número de Mensagens : 914
Insígnias de JAM :

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

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

Re: Criando um raio!

em Ter 05 Abr 2011, 20:19
Totalmente correto GMPédia!
Acho que não tem nenhuma variável, array, função,... que você não conheça!
Mas se a sprite fosse de 1x1?
Basicamente, o scale é o largura da sprite(xscale) ou a altura da sprite(yscale) multiplicado pelo valor dado na variável.
1x640=640 lOl
E mesmo assim, acho que não ocuparia tanta ram, pois além de ter esse tamanho, a sprite seria branca. Mas essa é minha opinião.
avatar
Ranking : Sem avaliações
Data de inscrição : 21/11/2010
Número de Mensagens : 775
Insígnias de JAM :

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

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

Re: Criando um raio!

em Ter 05 Abr 2011, 20:26
estranho, se eu me lembro bem, image_alpha é só pra gm pro, sei lá, bom tuto ai kra.
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: Criando um raio!

em Ter 05 Abr 2011, 20:46
@Tedi Ripper escreveu:estranho, se eu me lembro bem, image_alpha é só pra gm pro, sei lá, bom tuto ai kra.
image_alpha e do lite
avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

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

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

Re: Criando um raio!

em Ter 05 Abr 2011, 20:53
A regra valeria caso a sprite não fosse de 1x1, mas já que é, no problem. Afinal de contas, você disse:
Para o obj_raio vamos criar uma sprite toda preenchida de branco, pode ser de qualquer tamanho até 1x1.
Pode ser de qualquer tamanho e até 1x1, então não se sabe ao certo se irão colocar 1x1 ou de qualquer tamanho. O que ocuparia a RAM é se a sprite fosse de 32x32, como eu estava dizendo no exemplo. 20480 é um valor alto, mas o GM armazena a menor informação possível para deixar que você faça a room do tamanho que quiseres(mas há um limite, claro); mas mesmo assim estaria ocupando um espaço de 19840 pixels inúteis. Mas faça como quiser, só estava dando uma dica.

Abraços! Very Happy
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