Criando um raio!

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

Criando um raio!

Mensagem por Luiz A. Oliveira em Seg 04 Abr 2011, 09:42

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

Luiz A. Oliveira

Ranking : Nota C
Número de Mensagens : 914
Idade : 19
Data de inscrição : 08/09/2010
Notas recebidas : D-B-C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://luizgm.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Criando um raio!

Mensagem por sonic luan em Seg 04 Abr 2011, 09:48

muito bom o tutorial!!

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

Re: Criando um raio!

Mensagem por SIGILOSO 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

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

Re: Criando um raio!

Mensagem por Luiz A. Oliveira 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

Luiz A. Oliveira

Ranking : Nota C
Número de Mensagens : 914
Idade : 19
Data de inscrição : 08/09/2010
Notas recebidas : D-B-C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://luizgm.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Criando um raio!

Mensagem por SIGILOSO 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

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

Re: Criando um raio!

Mensagem por Markituh 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!

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Criando um raio!

Mensagem por Luiz A. Oliveira 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.

Luiz A. Oliveira

Ranking : Nota C
Número de Mensagens : 914
Idade : 19
Data de inscrição : 08/09/2010
Notas recebidas : D-B-C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://luizgm.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Criando um raio!

Mensagem por Tedi Ripper 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.

Tedi Ripper

Ranking : Nota C
Número de Mensagens : 765
Idade : 19
Data de inscrição : 21/11/2010
Notas recebidas : C
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Criando um raio!

Mensagem por sonic luan 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

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

Re: Criando um raio!

Mensagem por Markituh 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

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Criando um raio!

Mensagem por Conteúdo patrocinado Hoje à(s) 02:53


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