GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


[Willy Tutorial] Como fazer um filho!

+8
Assassino
Utakata
Grotle
SIGILOSO
sonic luan
vinians
Anderson3d
Willy
12 participantes

Ir para baixo

[Willy Tutorial] Como fazer um filho! Empty [Willy Tutorial] Como fazer um filho!

Mensagem por Willy Qui 28 Abr 2011, 00:33

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

[Edit]
O usuário RafaelCazzaroto me enviou uma dúvida por MP, o que fez perceber que faltou um pequeno detalhe, porém importante a ser dito aqui.
Suponhamos que você queira fazer com que seu filho execute uma ação, como por exemplo, se autodestruir (que sádico ê.ê). Se você fizer assim:
Código:
filho.instance_destroy();
Você não irá conseguir. O “.” é usado para se referir ou mudar alguma variável do filho.
Já que “filho” guarda o ID do filho, para fazer com que o mesmo execute uma ação, deve-se usar with, ficando dessa forma:
Código:
with(filho){`
instance_destroy();
}


Última edição por Willy em Dom 20 Jan 2013, 16:09, editado 2 vez(es)
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : [Willy Tutorial] Como fazer um filho! Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

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

Ir para o topo Ir para baixo

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

Mensagem por Anderson3d Qui 28 Abr 2011, 00:49

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
Anderson3d

Games Ranking : Nota A

Notas recebidas : A - A
Data de inscrição : 15/02/2009
Reputação : 9
Número de Mensagens : 1479
Prêmios : [Willy Tutorial] Como fazer um filho! Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.indiegamebr.com

Ir para o topo Ir para baixo

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

Mensagem por vinians Qui 28 Abr 2011, 01:23

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
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2716
Prêmios : [Willy Tutorial] Como fazer um filho! Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

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

Mensagem por sonic luan Qui 28 Abr 2011, 08:19

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

Games Ranking : Nota C

Notas recebidas : C-D-A-C
Data de inscrição : 28/01/2011
Reputação : 18
Número de Mensagens : 1003
Prêmios : [Willy Tutorial] Como fazer um filho! Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://sonicmaker.forumeiros.com/memberlist

Ir para o topo Ir para baixo

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

Mensagem por SIGILOSO Qui 28 Abr 2011, 11:02

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
SIGILOSO

Games Ranking : Nota A

Notas recebidas : A+A+A+A+A+A+A
Data de inscrição : 06/06/2009
Reputação : 39
Número de Mensagens : 2267
Prêmios : [Willy Tutorial] Como fazer um filho! Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 4 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

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

Mensagem por Grotle Qui 28 Abr 2011, 11:44

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
Grotle

Games Ranking : Nota B

Notas recebidas : B-B
Data de inscrição : 28/02/2010
Reputação : 12
Número de Mensagens : 559
Prêmios : [Willy Tutorial] Como fazer um filho! Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://gsogaming.blogspot.com/

Ir para o topo Ir para baixo

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

Mensagem por Utakata Qui 28 Abr 2011, 12:19

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
Utakata

Games Ranking : Nota D

Notas recebidas : C+D+D+D
Data de inscrição : 03/03/2011
Reputação : 10
Número de Mensagens : 252
Prêmios : [Willy Tutorial] Como fazer um filho! Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

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

Mensagem por Assassino Qui 28 Abr 2011, 14:14

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!
Assassino
Assassino

Data de inscrição : 13/08/2010
Reputação : 6
Número de Mensagens : 390
Prêmios : [Willy Tutorial] Como fazer um filho! Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://rockstarfamilies.blogspot.com/

Ir para o topo Ir para baixo

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

Mensagem por Dancity Qui 28 Abr 2011, 14:19

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
Dancity

Games Ranking : Nota A

Notas recebidas : A
Data de inscrição : 11/01/2009
Reputação : 8
Número de Mensagens : 1340
Prêmios : [Willy Tutorial] Como fazer um filho! Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

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

Mensagem por Willy Dom 20 Jan 2013, 16:14

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

[Edit] Devido a uma dúvida enviado pelo usuário RafaelCazzaroto, o tópico foi atualizado (final do tutorial).
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : [Willy Tutorial] Como fazer um filho! Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

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

Ir para o topo Ir para baixo

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

Mensagem por RafaelCazarotto Dom 20 Jan 2013, 16:25

Parabens pelo seu tutorial vai me ajudar muito Very Happy masi uma coisa eu tbm tentei fazer tipo mais de um filho (eu sei... eu sei essa frase não pegou legal) e da, no create do pai
filho=instance_create(room_width/2,room_height/2,obj_filho)
filho.pai=id
se quiser outro fiilho é só por um numero qualquer do lado, eu fiz e funcionou certinho ai fica assim
filho1=instance_create(room_width/2,room_height/2,obj_filho_1)
filho1.pai=id
Vlw Very Happy
RafaelCazarotto
RafaelCazarotto

Games Ranking : Nota C

Notas recebidas : D-D-D-C-C-B
Data de inscrição : 15/03/2012
Reputação : 13
Número de Mensagens : 564
Prêmios : [Willy Tutorial] Como fazer um filho! Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

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

Mensagem por Marcellomine Ter 22 Jan 2013, 15:15

Muito show o seu Tuto!! Parabéns!!
Marcellomine
Marcellomine

Data de inscrição : 22/01/2013
Reputação : 11
Número de Mensagens : 134
Prêmios : [Willy Tutorial] Como fazer um filho! Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

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

Mensagem por Tanker GT Qua 05 Mar 2014, 22:13

Eu devia ter comentado antes, é que para falar a verdade eu ainda não tinha entendido direito Razz 
Mas eu não podia deixar de agradecer, o tutorial esta ótimo, se não fosse ele acho que eu nem conseguiria continuar meu jogo.
Então parabéns pela pelo tuto e pela paciência de explicar tudo  Happy
Tanker GT
Tanker GT

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 08/10/2011
Reputação : 11
Número de Mensagens : 106
Prêmios : [Willy Tutorial] Como fazer um filho! Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

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

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos