Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Parents - GMS Tópico resolvido

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
GM_PC_Jogos
Novato
Novato
Reações: 0
Mensagens: 15

Parents - GMS

Mensagem por GM_PC_Jogos » Ter Ago 20, 2019 4:47 pm

Boa tarde para todos.

Tenho o objeto = obj_tiro

evento create:
speed = 20;
direction = 0;
dano = 10

evento collision com o obj_inimigo
instance_destroy();
other.vida -= dano;

E com o objeto obj_inimigo:

evento create:
vida = 100

evento step:
if(vida <= 0){
instance_destroy();
}

Minha duvida é a seguinte: O código acima está funcionando perfeitamente, (quando cada instância do obj_tiro acerta cada instância do obj_inimigo, diminui em 10 a vida de cada inimigo na tela, e si a vida for <= 0, a instância é destruída).
Mas como eu pretendo criar muitos inimigos diferentes, gostaria de criar um objeto que seja parente (pai) que pudesse controlar isso, porque vou ter que colocar um evento collision para cada inimigo criado, e ai ficaria um monte de evento collision.
Tentei algumas coisas, mas sem sucesso, pois cada inimigo terá uma quantidade de vida diferente.
tipo...criei o obj_inimigos e atribui o obj_inimigo como filho...e o obj_tiro com colisão com o obj_inimigos(pai), mas depois não sei como fazer.
Existe alguma maneira de fazer isso usando um objeto que seja parente para que o código fique mais organizado e limpo?

Obrigado pela atenção de todos.

Avatar do usuário
All-x
Administrador
Administrador
Reações: 8
Mensagens: 621
Localização: Dourados-MS

Contato:

Re: Parentes  Tópico resolvido

Mensagem por All-x » Ter Ago 20, 2019 11:20 pm

Siga os passos:

✔ Crie o objeto enemy_parent que vai ser pai de todos.
✔ Adicione esses códigos que você quer que tenham em todos.
✔ Crie seus inimigos diferentes: enemy_01, enemy_02 e etc. E selecione o parent como o enemy_parent.

O problema vem agora. Se você quer adicionar um novo código no evento Step do enemy_02, tu tem que adicionar a função event_enhithed() no inicio:

Código: Selecionar todos

// Executa os códigos do Step do pai
event_inherited();

// insira seus códigos de 'enemy_02' aqui
Caso insira um código sem essa função, ela vai ser substituída, ou seja, o código (no seu caso) de morrer após a vida ser menor que zero não acontece. Se não vai fazer nenhuma alteração no evento, nem adicione ele.

Espero ter elucidado tua dúvida.
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!

Avatar do usuário
GM_PC_Jogos
Novato
Novato
Reações: 0
Mensagens: 15

Re: Parents - GMS

Mensagem por GM_PC_Jogos » Qua Ago 21, 2019 4:42 pm

Muito obrigado Alex pela ajuda.
Era isso mesmo que estava faltando. Sem essa função event_enhithed(), eu colocava os códigos e não funcionava.

Vlw mesmo....

Trancado

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes