Visitante!
Faça seu Login ou Registre-se!

Galeria de Jogos

Game Maker Studio (Destruição de Objeto) 6 Respostas | 898 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

mathpeseg

  • *
  • Mensagens: 291 Ouro: 44
    • Unity
    • Facebook
    • Twitter
    • LinkedIn
    • DeviantArt
    • Ver perfil
    • E-mail
  • NightWisher
Game Maker Studio (Destruição de Objeto)
Online: 15 Mai 2015, 23:23
Então, seguinte, tenho um objeto "Inimigo", e nele eu defini uma variável "hp" dentro de um evento "create", e setei ela em 100 (self.hp = 100;), ou seja, quando o objeto "Inimigo" é criado, ele cria a variável de vida para ele. Agora, dentro de um evento do tipo "step", adicionei uma condição "if (hp <= 0) { action_kill_object(); }", para quando o hp do "Inimigo" chegar a 0, ou menos, o objeto "Inimigo" em cena seja destruído.

Funciona, mas não quando eu crio vários objetos iguais dentro da cena, se eu faço isso, quando um dos objetos é destruído, todos os outros também são. Alguém sabe uma maneira de se fazer com que apenas uma das cópias do objeto em cena seja destruída no game maker studio?

Dentro do código do outro objeto que seria o objeto de criação de projeteis, criei um colisor dentro de um evento do tipo "step" assim:
Código: [Selecionar]
if !place_free (x, y)
    if !place_meeting (x,y,Jogador)
       if place_meeting (x,y, Inimigo)
       {
       instance_destroy();
       Inimigo.hp-=10;
       }

Alguém sabe como evitar que TODOS os objetos iguais dentro da cena sejam destruídos?
« Última modificação: 18 Mai 2015, 13:58 por King Gerar »

Phantomx

  • *
  • Mensagens: 188 Ouro: 285
    • Unity
    • Ver perfil
Re: Game Maker Studio (Destruição de Objeto)
Resposta 1 Online: 16 Mai 2015, 13:19
é só utilizar o instance_destroy(), ao em vez de destruir todos os objetos no mapa, ele apenas deleta a instancia.

mathpeseg

  • *
  • Mensagens: 291 Ouro: 44
    • Unity
    • Facebook
    • Twitter
    • LinkedIn
    • DeviantArt
    • Ver perfil
    • E-mail
  • NightWisher
Re:  Game Maker Studio (Destruição de Objeto)
Resposta 2 Online: 16 Mai 2015, 17:43
é só utilizar o instance_destroy(), ao em vez de destruir todos os objetos no mapa, ele apenas deleta a instancia.

Já tinha tentado isso. Isso foi a primeira coisa que eu fiz no código, mudei para action_kill_object porque o instance_destroy não estava funcionando, mas mesmo assim não deu certo. Não sei porque ele sempre deleta todos os objetos "clones" em cena. To tentando descobrir isso faz um tempo, procurei dicas no youtube, tutoriais por tudo, fucei em tudo que eu podia, mas não consegui achar uma maneira de resolver. To ficando desesperado já.
:T.T:

Phantomx

  • *
  • Mensagens: 188 Ouro: 285
    • Unity
    • Ver perfil
Re: Game Maker Studio (Destruição de Objeto)
Resposta 3 Online: 16 Mai 2015, 23:00


Dentro do código do outro objeto que seria o objeto de criação de projeteis, criei um colisor dentro de um evento do tipo "step" assim:
Código: [Selecionar]
if !place_free (x, y)
    if !place_meeting (x,y,Jogador)
       if place_meeting (x,y, Inimigo)
       {
       instance_destroy();
       Inimigo.hp-=10;
       }

Alguém sabe como evitar que TODOS os objetos iguais dentro da cena sejam destruídos?

O problema é esse "Inimigo.hp-=10;", basicamente você está tirando o hp de todas as instancias do objeto. Acho que a solução seria colocar o other, se não me engano ele funciona apenas com a instancia que está colidindo e não com o objeto, e se não funcionar, é melhor colocar a colisão no inimigo mesmo.

...
if(place_meeting(x,y,Inimigo)
{
instance_destroy();
other.hp -= 10;
}

mathpeseg

  • *
  • Mensagens: 291 Ouro: 44
    • Unity
    • Facebook
    • Twitter
    • LinkedIn
    • DeviantArt
    • Ver perfil
    • E-mail
  • NightWisher
Re: Game Maker Studio (Destruição de Objeto)
Resposta 4 Online: 17 Mai 2015, 12:32
Eu tentei isso ontem, e não funcionou. Sobre colocar o colisor dentro do inimigo, não tinha pensado nisso.
Testei e funcionou agora, só a colisão do projétil que ficou errada, mas isso é porque eu removi todo o colisor do projétil, acho que dá pra deixar apenas o instance_destroy nele.

Perfeito! ou quase... No instance_destroy que deixei no projétil, ele fica notificando algum problema, mas fechando o console o jogo funciona direitinho. Sabe porque ele fica notificando erro?


Phantomx

  • *
  • Mensagens: 188 Ouro: 285
    • Unity
    • Ver perfil
Re: Game Maker Studio (Destruição de Objeto)
Resposta 5 Online: 17 Mai 2015, 20:20
ao que parece o objeto Factory não existe, ou o nome está escrito errado.

mathpeseg

  • *
  • Mensagens: 291 Ouro: 44
    • Unity
    • Facebook
    • Twitter
    • LinkedIn
    • DeviantArt
    • Ver perfil
    • E-mail
  • NightWisher
Re: Game Maker Studio (Destruição de Objeto)
Resposta 6 Online: 17 Mai 2015, 23:35
Ele existe sim... Mas o problema já foi resolvido, depois de abrir e fechar o gamemaker ele passou a não dar mais esse erro. Enfim, obrigado por tudo. (Uma pena não estar habilitado dar ouro nessa parte do fórum)
 :ok:
« Última modificação: 17 Mai 2015, 23:37 por mathpeseg »

 

Versão Mobile