GM_PC_Jogos
Novato
Novato
Autor
Mensagens: 15
Registrado em: Ter Jul 09, 2019 2:12 pm
Karma: 27

Parents - GMS

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.

Tags:
 
Avatar do usuário
Alex FC
Administrador
Administrador
Mensagens: 510
Registrado em: Dom Abr 24, 2016 11:50 pm
Localização: Itaporã-MS
Karma: 886

Contato:

Re: Parentes  Tópico resolvido

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:

// 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.
1
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!
 
GM_PC_Jogos
Novato
Novato
Autor
Mensagens: 15
Registrado em: Ter Jul 09, 2019 2:12 pm
Karma: 27

Re: Parents - GMS

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....

Quem está online

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