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
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39


[Resolvido]ajuda com inimigo

+2
CRP-Max
GuiEdu
6 participantes

Ir para baixo

[Resolvido]ajuda com inimigo Empty [Resolvido]ajuda com inimigo

Mensagem por GuiEdu Seg 04 Out 2010, 15:23

Gente, meu problema é o seguinte: criei um obj_inimigo; qndo ele colide com o tiro ele congela por determinado tempo e a variável inimigo_normal passa a ser false, então criei um alarm[0]; enquanto inimigo_normal for = false o sprite tem que ser spr_inimigo_parado e qndo voltar a ser true, sprite = inimigo1_normal.Entendem???
Aí eu fiz assim:
Código:
while (inimigo_normal = false)
{
    sprite_index = inimigo_parado
}
só que ao colidir com o tiro, o jogo trava =/
O que tá errado?Tem outro jeito de fazer isso, já tentei assim tbm
Código:
if inimigo_normal = false {sprite_index = inimigo_parado} else {sprite_index = inimigo1_normal}
só que o inimigo some, nem aparece na room =/
me ajudem pf Happy


Última edição por GuiEdu em Qua 06 Out 2010, 23:35, editado 2 vez(es)
GuiEdu
GuiEdu

Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios : [Resolvido]ajuda com inimigo 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

[Resolvido]ajuda com inimigo Empty Re: [Resolvido]ajuda com inimigo

Mensagem por CRP-Max Seg 04 Out 2010, 15:44

Na primeira situação você criou um laço, enquanto a variável inimigo_normal for false ela vai ser executada eternamente.
Na segunda, tem um erro no sprite: veja em vermelho.

if inimigo_normal = false {sprite_index = inimigo_parado} else {sprite_index = inimigo1_normal}

Por esse motivo o sprite some...

Espero ter ajudado. [Resolvido]ajuda com inimigo 582388
CRP-Max
CRP-Max

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 28/10/2008
Reputação : 29
Número de Mensagens : 822
Prêmios : [Resolvido]ajuda com inimigo 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

[Resolvido]ajuda com inimigo Empty Re: [Resolvido]ajuda com inimigo

Mensagem por GuiEdu Seg 04 Out 2010, 16:38

No
o nome inimigo1_normal é um sprite e inimigo_normal é a variável crida no create do obj inimigo_1, sacou? se eu colocar nomes iguais vai dar problema...
Minha maior dúvida msm é pq num dá com o while, pois a lógica está correta:
Código:
enquanto inimigo_normal = false  { imagem = inimigo parado} //não está em gml, claro, é só a lógica da situação
GuiEdu
GuiEdu

Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios : [Resolvido]ajuda com inimigo 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

[Resolvido]ajuda com inimigo Empty Re: [Resolvido]ajuda com inimigo

Mensagem por Gabreel Seg 04 Out 2010, 17:36

Olha cara, a segunda era pra funcionar...
as variáveis foram declaradas direito?
o sprite ta com o nome certo?
tenta..
if(inimigo_normal=true){sprite_index=inimigo1_normal;}else{sprite_index=inimigo_parado;}

é tipo tirar a prova real x;
Gabreel
Gabreel

Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios : [Resolvido]ajuda com inimigo 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • Outros


Ir para o topo Ir para baixo

[Resolvido]ajuda com inimigo Empty Re: [Resolvido]ajuda com inimigo

Mensagem por Janx Seg 04 Out 2010, 18:19

while (inimigo_normal = false)
{
sprite_index = inimigo_parado
}

O while vai repetir até que a expressão "inimigo_normal = false" seja falsa, ou seja, até que inimigo_normal receba o valor true.
Mas como o código é apenas
sprite_index = inimigo_parado
e em momento algum a variavel inimigo_normal é alterada, o loop nunca acaba e o jogo trava.
Use um if no lugar de while. Não tem porque usar while nesse caso.
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : [Resolvido]ajuda com inimigo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]ajuda com inimigo Empty Re: [Resolvido]ajuda com inimigo

Mensagem por GuiEdu Qua 06 Out 2010, 13:49

Bem, não tava dando com if pq o sprite sumia, daí eu criei outro obj e usei instance_change.
Agora surgiu outra dúvida: por exemplo, o inimigo tem que tomar 4 tiros para morrer; só que se ele já tomou 2, ao mudar para inimigo_parado esse valor tem que ser mantido.Como fazer? Tem um esquema que se faz usando PARENT num tem, como eu faria nesse caso, para que a vida seja controlada por esse obj (obj_parent), por exemplo?
GuiEdu
GuiEdu

Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios : [Resolvido]ajuda com inimigo 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

[Resolvido]ajuda com inimigo Empty Re: [Resolvido]ajuda com inimigo

Mensagem por Janx Qua 06 Out 2010, 16:28

Use uma variavel global para a vida. A variavel global não será "destruida" junto do objeto. Lembre-se de NÃO setar ele no create do objeto, senão ele ficará "recuperando" vida. Inicie só quando o personagem nasce pela primeira vez ou ganha vida.
Código:
global.vida = 4;

colisão com o tiro:
Código:
global.vida -= 1;

verificar se morreu:
Código:
if global.vida <= 0
{
//morreu
}
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : [Resolvido]ajuda com inimigo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]ajuda com inimigo Empty Re: [Resolvido]ajuda com inimigo

Mensagem por GuiEdu Qua 06 Out 2010, 16:50

Janx escreveu:Use uma variavel global para a vida. A variavel global não será "destruida" junto do objeto. Lembre-se de NÃO setar ele no create do objeto, senão ele ficará "recuperando" vida. Inicie só quando o personagem nasce pela primeira vez ou ganha vida.
Código:
global.vida = 4;

colisão com o tiro:
Código:
global.vida -= 1;

verificar se morreu:
Código:
if global.vida <= 0
{
//morreu
}
Eu tinha tentado com global, mas acontece que qndo um inimigo moprre, todos os outros morrem tbm, pois tem mais de um desse inimigo na room.
Só se eu estiver criando errado Razz se puder explicar mais detalhadamente, agradeço Happy
GuiEdu
GuiEdu

Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios : [Resolvido]ajuda com inimigo 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

[Resolvido]ajuda com inimigo Empty Re: [Resolvido]ajuda com inimigo

Mensagem por Janx Qua 06 Out 2010, 19:24

Ahh, você está fazendo isso para o inimigo... O melhor jeito seria não usar o instance change. =/
Com ele você perde todas as variaveis do outro objeto.
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : [Resolvido]ajuda com inimigo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]ajuda com inimigo Empty Re: [Resolvido]ajuda com inimigo

Mensagem por Super Games Qua 06 Out 2010, 19:50

Tenta usar a função Sleep para fazer o tempo que ficarra comgelado.

Espero ter ajudado!
Super Games
Super Games

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2799
Prêmios : [Resolvido]ajuda com inimigo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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


Ir para o topo Ir para baixo

[Resolvido]ajuda com inimigo Empty Re: [Resolvido]ajuda com inimigo

Mensagem por Mr. Kaleb Qua 06 Out 2010, 20:50

Tenta fazer assim (n sei se ta certo num so bom em GML):

if global.vida <= 0
instance_destroy()

Acho que assim vai morrer so o que colidiu com o tiro (num sei se ta certo)
Mr. Kaleb
Mr. Kaleb

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 07/09/2010
Reputação : 21
Número de Mensagens : 1400
Prêmios : [Resolvido]ajuda com inimigo 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

[Resolvido]ajuda com inimigo Empty Re: [Resolvido]ajuda com inimigo

Mensagem por GuiEdu Qua 06 Out 2010, 22:53

Gente, aconteceu um milagre shauhsauhuahsua
O inimigo parou de sumir do nada o.O"
como estava "resetando" a configuração das variáveis eu fiz um unico inimigo e usei if, e deu certo, axo que eu estava na nóia e__e" kkkkk
vlw janx pela ajuda, vlw SG vlw TGNF RESOLVIDO flw
Podem trancar, por favor.
GuiEdu
GuiEdu

Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios : [Resolvido]ajuda com inimigo 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

[Resolvido]ajuda com inimigo Empty Re: [Resolvido]ajuda com inimigo

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


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