Hall of Fame
Login

Esqueci minha senha

Últimos assuntos
» Não consigo baixar um jogo no YoYo Games --'
por baraodopirapora Hoje à(s) 12:07 am

» MOUSEkey - Rodando no Android!
por Super Maker Ontem à(s) 11:56 pm

» Quero criar um jogo de RTS, parecido com o Outlive
por jpcms Ontem à(s) 11:29 pm

» Mundo infinito?
por Pedrø Ontem à(s) 11:28 pm

» [HTML5][Minilib] Movimento, sprites, colisão
por Pedrø Ontem à(s) 11:26 pm

» GMBR Nos Celulares
por kapoty Ontem à(s) 9:39 pm

» A - NameLess
por showeidek Ontem à(s) 9:03 pm

» [CQ #13] - Futuro
por Pedrø Ontem à(s) 8:48 pm

Parceiros











[Willy Tutorial] Como fazer um filho!

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

Qualidade [Willy Tutorial] Como fazer um filho!

Mensagem por Willy em Qui Abr 28, 2011 12:33 am

Você sabe o que são pais e filhos?
Não? Então vamos descobrir!


Em algumas situações, você vai precisar criar objetos usando um objeto. Logicamente, em alguma situação você vai querer manipular este objeto que foi criado.
Mas, suponhamos que você crie cinco objetos com o mesmo nome, se você tentar alterar algum valor dele (velocidade, variável, etc.) todos os objetos com o mesmo nome vão sofrer alteração. E agora, o que fazer? Mas é claro, fazendo filhos (e automaticamente, um pai.)! Antes de pensar besteira (isso se já não pensou ao ver o titulo do tópico...), vamos deixar claro que “pais e filhos” são apenas termos para designar um “criador de objeto” (pai) e o “objeto criado” (filho).

A parte teórica é apenas isso que você acabou de ler, vamos fazer algo prático agora, criaremos um sistema simples para vermos como funciona um sistema de “pais e filhos”.

Sprites:
Inicie um novo projeto e crie três sprites da maneira que você quiser. Serão eles um bloco, uma bolinha e alguma coisa para representar um pai (uma bolinha maior). Procure cores diferentes uma das outras para facilitar a identificação deles. Marque todos como Center (exceto o bloco). Só vamos precisar desses sprites para o nosso exemplo.
Sprites em mãos, vamos criar os objetos agora.

Objetos: Três sprites, três objetos: obj_bloco, obj_pai e obj_filho.
obj_bloco: Marque apenas a opção solid.

obj_pai: Esse vai ser o nosso reprodutor, digo, nosso criador de objetos!
No evento create, vamos gerar o filho desse bloco com sua esposa, a variável!
Código:
filho=instance_create(room_width/2,room_height/2,obj_filho)

“filho” é aqui que definimos quem será o filho desse objeto, vamos sempre usar “filho” quando nos referimos ao objeto que foi criado. Ao usarmos “room_width/2” e “room_height/2” estamos indicando que queremos criar o “obj_filho” no meio da room.
Veremos um exemplo de como usar o “pai” mais para frente. O esquema do pai é o mesmo que o esquema do filho!
Filho criado, agora vamos “definir” o seu futuro!
Código:
filho.speed=choose(6,7,8) //Escolhe uma velocidade entre 6, 7 e 8
filho.direction=random(360) //Direção Aleatória

Usando “filho.”, estamos definindo um valor para ele graças ao “.”, pois esse ponto significa que queremos atribuir o valor á variável “filho” que no caso, é um objeto criado anteriormente. Sempre coloque as características do filho depois de criá-lo.
Pronto, criamos o filho, mas para que ele não “cresça” sem saber quem é seu pai, vamos dizer para ele quem é o papai!
Código:
filho.pai=id

“id” é a IDentidade do pai. Cada objeto na room tem um ID diferente, e é aqui que acontece a mágica! Agora sabemos quem é o pai e quem é o filho! Coloque em “Depth” o valor “-1” para que fique sobre outros objetos. Isto encerra o nosso pai.

Agora vamos criar o nosso filho, o obj_filho:
Como já definimos o que ele vai fazer, não vamos criar nada no create.
Primeiramente, vamos fazer ele se destruir ao colidir com seu respectivo pai. Faremos isso no step:
Código:
if place_meeting(x,y,pai){ //Se estiver em contato com seu pai
instance_destroy()//Se destroi.
}

Repare que usamos “pai” ao invés de “obj_pai”, pois se usássemos “obj_pai” iríamos destruir todos os objetos com o mesmo nome. Esse esquema pode ser usado para o filho também.
Na colisão com o obj_bloco, faremos algo simples, apenas se rebater:
Código:
move_bounce_solid(1);

Nesse caso, ele vai rebater em todo objeto solido. Nada de mais até aqui.
Feito isso, coloque vários “obj_pai” na room, cerque toda a room usando o “obj_bloco”, teste o jogo e veja o que acontece. Se os filhos começarem a sumir quando colidirem com seus pais, seu sistema esta funcionando. Mas, que é o pai de quem? Siga o exercício abaixo e você vai descobrir!

Faremos um exercício simples para ver se você entendeu como usar os filhos e os pais! Vamos desenhar uma linha que vai ligar cada filho com seu pai!
Você vai precisar usar dois comandos, o "draw_line" e o "draw_sprite".
Código:
draw_line(x1,y1,x2,y2)

Para usar o draw_line, você tem que colocar em ‘x1’ e ‘y1’ a respectiva posição (x,y), mas no ‘x2’ e no ‘y2’ você precisa colocar as coordenadas do pai.
Depois disso, coloque o seguinte comando:
Código:
draw_sprite(sprite_index,image_index,x,y)//Desenha a sprite normalmente, mas sem efeitos especiais.

Isso vai servir para desenhar o sprite. Sem isso, só iria aparecer a linha.
Teste o jogo, se uma linha ligar o “obj_filho” com o “obj_pai” você conseguiu realizar o exercício! Parabéns!

Agora você já sabe o que são “pais e filhos” e como usar!

Espero que tenham gostado do tutorial!
Duvidas é só perguntar!
DOWNLOAD EXEMPLO
blz


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

Willy
Membro
Membro

Ranking: Nota B
Alerta:
0 / 1000 / 100

Número de Mensagens: 801
Idade: 18
Data de inscrição: 08/06/2009

Prêmios
   : 1
   : 1
   :

Ver perfil do usuário http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: [Willy Tutorial] Como fazer um filho!

Mensagem por Anderson3d em Qui Abr 28, 2011 12:49 am

Isso me quebrou um galhão junto coma engine do Alex.
Muito bom maxo, agora o povo poderá criar objetos iguais e controlar suas variáveis independentemente.

Anderson3d
Membro
Membro

Ranking: Nota A
Alerta:
0 / 1000 / 100

Número de Mensagens: 1466
Idade: 28
Data de inscrição: 15/02/2009

Prêmios
   : 1
   : 0
   : 1

Ver perfil do usuário http://andersonrochagames.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: [Willy Tutorial] Como fazer um filho!

Mensagem por vinians em Qui Abr 28, 2011 1:23 am

Legal Willy, já uso esse tipo de coisa em meus projetos a bastante tempo. Geralmente uso pra criar por exemplo um robo com uma garra, ou um soldado com uma espada etc
Seu tutorial ficou bom, espero que o pessoal aprenda a usar isso pois é muito interessante e util.
Flws!

vinians
Colaborador
Colaborador

Ranking: Nota B
Alerta:
0 / 1000 / 100

Número de Mensagens: 2002
Idade: 23
Data de inscrição: 18/09/2008

Prêmios
   : 0
   : 2
   : 1

Ver perfil do usuário http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Qualidade Re: [Willy Tutorial] Como fazer um filho!

Mensagem por sonic luan em Qui Abr 28, 2011 8:19 am

muito bom o tutorial nunca achei nada parecido no forun você e um verdadeiro mestre do gml Wili, agora sei porque tem reputação tão alta.

sonic luan
Banido
Banido

Ranking: Nota C
Alerta:
0 / 1000 / 100

Número de Mensagens: 1018
Idade: 13
Data de inscrição: 28/01/2011

Prêmios
   : 0
   : 0
   : 1

Ver perfil do usuário http://sonicmaker.forumeiros.com/memberlist

Voltar ao Topo Ir em baixo

Qualidade Re: [Willy Tutorial] Como fazer um filho!

Mensagem por SIGILOSO em Qui Abr 28, 2011 11:02 am

Grande Willy, mandou um duplo sentido legal no título do tópico ein! kkkk
Já tive muitos problemas com isso, muita desorganização (pequeno Mirfo que o diga), mas é prciso sempre ter atenção pra não fazer com que algum objeto faça ou não algo que apenas o pai faz.

Agora deu vontade de ouvir legião... o,o
afro

SIGILOSO
Colaborador
Colaborador

Ranking: Nota A
Alerta:
0 / 1000 / 100

Número de Mensagens: 2054
Idade: 18
Data de inscrição: 06/06/2009

Prêmios
   : 3
   : 2
   : 1

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Qualidade Re: [Willy Tutorial] Como fazer um filho!

Mensagem por Grotle em Qui Abr 28, 2011 11:44 am

Muito bom o tutorial!
Eu já usava esse método antes, fica mais fácil se precisar criar vários objetos, principalmente se você quiser que eles apareçam em um lugar randômico.
Parabéns pelo tutorial, vai ajudar muita gente!
Flws!

Grotle
Membro
Membro

Ranking: Nota B
Alerta:
0 / 1000 / 100

Número de Mensagens: 565
Idade: 17
Data de inscrição: 28/02/2010

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://gsogaming.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: [Willy Tutorial] Como fazer um filho!

Mensagem por Utakata em Qui Abr 28, 2011 12:19 pm

Nossa nem sonhava que existia esse jeito ai de criar "filhos"
muito bom vai ajudar muita gente Happy

PS:Quando vi ali nos ultimos assuntos ja pensei besteira kkkkkk

Té+ flw

Utakata
Membro
Membro

Ranking: Nota D
Alerta:
25 / 10025 / 100

Número de Mensagens: 227
Idade: 14
Data de inscrição: 03/03/2011

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Qualidade Re: [Willy Tutorial] Como fazer um filho!

Mensagem por Niko Bellic em Qui Abr 28, 2011 2:14 pm

Não vale! Você já explicou isso para um cara aqui no fórum! até eu aprendi vendo sua mensagem, aí eu saquei que esse negócio de pai e filho na verdade foi uma coisa meio que inventada mas agora você complementou e muito com seu tutorial, continue assim que você não será um colaborador, será um senior-colaborador! Smile
FLW!

Niko Bellic
Membro
Membro

Alerta:
0 / 1000 / 100

Número de Mensagens: 395
Idade: 15
Data de inscrição: 13/08/2010

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://rockstarfamilies.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: [Willy Tutorial] Como fazer um filho!

Mensagem por Dancity em Qui Abr 28, 2011 2:19 pm

Até hoje, eu pensava que se fazia filhos de outra forma...
Mas é por código mesmo... Interressante...

Ótimo tuto cara! Você está mesmo se esforçando Happy
Admiro isso, parabéns!

Você pode criar vários pais e seus respectivos filhos, ou criar um pai com um código que já identifica o seu filho.

Proximo Tuto: Educando seu filho

Dancity
Colaborador
Colaborador

Ranking: Nota A
Alerta:
0 / 1000 / 100

Número de Mensagens: 1226
Data de inscrição: 11/01/2009

Prêmios
   : 1
   :
   :

Ver perfil do usuário http://zegusta.blogspot.com

Voltar ao Topo Ir em baixo

Qualidade Re: [Willy Tutorial] Como fazer um filho!

Mensagem por Willy em Qui Abr 28, 2011 6:35 pm

Obrigado por lerem e acompanharem o tutorial!
Espero que estas dicas sirvam em projetos futuros de vocês, afinal, é algo realmente útil como alguns citaram.
Pelo visto o título do meu tópico teve o resultado que eu queria, chamar muita atenção (principalmente de mentes poluídas...)!
Muito obrigado pelos comentários de vocês, fico feliz em ver meu trabalho correspondido! Breve eu posto mais tutoriais!

Até a próxima!
blz

Willy
Membro
Membro

Ranking: Nota B
Alerta:
0 / 1000 / 100

Número de Mensagens: 801
Idade: 18
Data de inscrição: 08/06/2009

Prêmios
   : 1
   : 1
   :

Ver perfil do usuário http://willy-gmbr.blogspot.com/

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