Entrar
Últimos assuntos
» Retorno da GMBR!!!por theguitarmester Ter 19 Mar 2024, 22:38
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» 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
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
Parar event depois de rodar uma vez
3 participantes
Página 1 de 1
Parar event depois de rodar uma vez
O player perde pontos e vida quando colide com o inimigo. Porém, como o inimigo não morre nessa colisão, a contagem de pontos e vidas vai diminuindo gradativamente enquanto os dois objetos ainda estão encostados. Ou seja, ao invés de perder apenas cem pontos e uma vida, o player acaba perdendo oitocentos pontos e oito vidas.
Preciso de uma ajuda para que o event pare de rodar depois que tira os cem pontos e uma vida, de modo que não fique em loop, tirando vários pontos e vidas. Lembrando que esse event deve voltar a rodar quando outra instância do objeto inimigo for criada.
Valeu!
Preciso de uma ajuda para que o event pare de rodar depois que tira os cem pontos e uma vida, de modo que não fique em loop, tirando vários pontos e vidas. Lembrando que esse event deve voltar a rodar quando outra instância do objeto inimigo for criada.
Valeu!
Nimsay- Data de inscrição : 24/04/2013
Reputação : 0
Número de Mensagens : 7
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Parar event depois de rodar uma vez
é só usar uma variavel, vou tentar fazer aqui de cabeça
no create do player poem assim:
dano=false
na colisão poem assim
if dano=false
{
//aqui vc poem as ações de perder vida e etc...
alarm[0]=10//aqui pode trocar o valor de 10 para o tempo que vc quiser que ele tenha um intervalo de tempo para dar o dano de novo
dano=true
}
no evento de alarm 0 vc poem assim
if dano=true
{
dano=false
}
pronto testa lá e veja se da certo
no create do player poem assim:
dano=false
na colisão poem assim
if dano=false
{
//aqui vc poem as ações de perder vida e etc...
alarm[0]=10//aqui pode trocar o valor de 10 para o tempo que vc quiser que ele tenha um intervalo de tempo para dar o dano de novo
dano=true
}
no evento de alarm 0 vc poem assim
if dano=true
{
dano=false
}
pronto testa lá e veja se da certo
RafaelCazarotto- Games Ranking :
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 :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Re: Parar event depois de rodar uma vez
OU você pode armazenar o valor da instância colidida numa variável, de forma que assim que terminar a colisão - e só quando terminar a colisão - ele possa voltar a colidir com a mesma instância.
Assim:
>create<
"E se eu estiver colidindo com duas instâncias ao mesmo tempo?"
Aí, lascou. O valor de colide_com vai ficar mudando e a verificação sempre vai dar que não é aquela instância, causando o mesmo erro que você está experimentando (mas com o dobro da potência). Mas tem como contornar, com arrays. Existe essa possibilidade?
Assim:
>create<
- Código:
colide_com = noone; // não colide com ninguém, no começo
- Código:
if (other.id != colide_com){ // se ainda não está colidindo com a instância em questão
colide_com = other; // passa a estar colidindo com ela
// perde pontos, vida, etc.
}
- Código:
if (colide_com != noone){ // se existe alguém em colisão
if (!place_meeting(x, y, colide_com)){ // e não estou mais colidindo com esse alguém
colide_com = noone; // passo a não estar colidindo com ninguém
}
}
"E se eu estiver colidindo com duas instâncias ao mesmo tempo?"
Aí, lascou. O valor de colide_com vai ficar mudando e a verificação sempre vai dar que não é aquela instância, causando o mesmo erro que você está experimentando (mas com o dobro da potência). Mas tem como contornar, com arrays. Existe essa possibilidade?
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Parar event depois de rodar uma vez
[RAFAEL]
Coloquei o que passou no objeto player, mas não funcionou. Tô com um pouco de dificuldade para trabalhar com variáveis booleanas dentro do game maker, não acho onde criá-las. Basta escrever em uma linha de código, como fez com "dano=false", que ele já reconhece como uma variável, ou precisa de algo mais?
[SAIM]
Coloquei esses códigos no objeto player, em linhas de código, mas não deu certo. Mudei "other" e "other.id" para os nomes do player e do inimigo, mas não deu certo também. Tem que mudar alguma outra coisa?
Essa questão de colidir com duas instâncias ao mesmo tempo acho que vai ser difícil acontecer, pois estou usando o "test chance" para criar os inimigos, com um espaço de 7 steps para (tentar) fazer com que não hajam dois inimigos na mesma posição simultaneamente.
Valeu, gente!
Coloquei o que passou no objeto player, mas não funcionou. Tô com um pouco de dificuldade para trabalhar com variáveis booleanas dentro do game maker, não acho onde criá-las. Basta escrever em uma linha de código, como fez com "dano=false", que ele já reconhece como uma variável, ou precisa de algo mais?
[SAIM]
Coloquei esses códigos no objeto player, em linhas de código, mas não deu certo. Mudei "other" e "other.id" para os nomes do player e do inimigo, mas não deu certo também. Tem que mudar alguma outra coisa?
Essa questão de colidir com duas instâncias ao mesmo tempo acho que vai ser difícil acontecer, pois estou usando o "test chance" para criar os inimigos, com um espaço de 7 steps para (tentar) fazer com que não hajam dois inimigos na mesma posição simultaneamente.
Valeu, gente!
Nimsay- Data de inscrição : 24/04/2013
Reputação : 0
Número de Mensagens : 7
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Parar event depois de rodar uma vez
eu posso fazer uma engine depois, é que agora to no cel hehehe mas é o seguinte a variavel se nao for global ela tenque ser inicializada, eu uso o Create do objeto para inicializar a variavel, e só coloco o valor que vc quer que ela comece como por exemplo dano=false ae depois ja pode alterar o valor da variavel sem problemas , sobre a engine, vc quer como? é só que o player colida com o monstro e o player nao fique perdendo vida isso?
flw
flw
RafaelCazarotto- Games Ranking :
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 :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Re: Parar event depois de rodar uma vez
Entendi! Agora deu certo!
Usei "set variable" e "test variable", mas eu precisei verificar duas vezes se a variável é igual a false: uma vez pra tirar pontos e uma vez pra tirar vidas.
Valeu mesmo pelo help!
(:
Usei "set variable" e "test variable", mas eu precisei verificar duas vezes se a variável é igual a false: uma vez pra tirar pontos e uma vez pra tirar vidas.
Valeu mesmo pelo help!
(:
Nimsay- Data de inscrição : 24/04/2013
Reputação : 0
Número de Mensagens : 7
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Parar event depois de rodar uma vez
Ok entao ;) qualquer coisa eh soh pedir
RafaelCazarotto- Games Ranking :
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 :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Re: Parar event depois de rodar uma vez
Ok, valeu! (:
Nimsay- Data de inscrição : 24/04/2013
Reputação : 0
Número de Mensagens : 7
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Parar event depois de rodar uma vez
Isso basta. O game maker não é mágico?Nimsay escreveu:Basta escrever em uma linha de código, como fez com "dano=false", que ele já reconhece como uma variável, ou precisa de algo mais?
Mas existem exceções, casos específicos, etc. Tem um tutorial sobre variáveis no game maker na minha assinatura. Nele, eu me aprofundo um pouco mais no assunto.
Não, era pra funcionar... O que aconteceu de errado? (só de curiosidade; se já está resolvido, não precisa mudar nada)Nimsay escreveu:Coloquei esses códigos no objeto player, em linhas de código, mas não deu certo. Mudei "other" e "other.id" para os nomes do player e do inimigo, mas não deu certo também. Tem que mudar alguma outra coisa?
Cuidado com esse "tentar"... Se a probabilidade for muito pequena de acontecer, ainda assim vai acontecer na hora que você estiver mostrando o jogo pra namorada. GARANTA que não vai acontecer. Por exemplo, dê a todos inimigos uma velocidade constante que não pode ser afetada por mais nada do jogo e faça com que essa velocidade impossibilite o contato com o próximo inimigo criado, em função do espaço de tempo (mínimo) entre suas criações. Aí, sim, você terá certeza que não haverão dois inimigos no mesmo lugar ao mesmo tempo.Nimsay escreveu:Essa questão de colidir com duas instâncias ao mesmo tempo acho que vai ser difícil acontecer, pois estou usando o "test chance" para criar os inimigos, com um espaço de 7 steps para (tentar) fazer com que não hajam dois inimigos na mesma posição simultaneamente.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Parar event depois de rodar uma vez
Beleza, vou dar uma olhada mais tarde!
Não lembro bem qual era, mas apareceu uma mensagem de erro quando gerei o executável. Tentei com as variáveis e deu certo, então não cheguei a ficar em cima do código tentando ver porque não funcionou.
HAHAHAHAHAHAHHAH, beleza! Todos os objetos já estão com velocidades constantes e os inimigos são criados a partir de um objeto que se movimenta pela tela, então não tem mesmo como sairem um atrás do outro mesmo que o "test chance" crie eles meio seguidos.
Valeu pela ajuda!
(:
Não lembro bem qual era, mas apareceu uma mensagem de erro quando gerei o executável. Tentei com as variáveis e deu certo, então não cheguei a ficar em cima do código tentando ver porque não funcionou.
HAHAHAHAHAHAHHAH, beleza! Todos os objetos já estão com velocidades constantes e os inimigos são criados a partir de um objeto que se movimenta pela tela, então não tem mesmo como sairem um atrás do outro mesmo que o "test chance" crie eles meio seguidos.
Valeu pela ajuda!
(:
Nimsay- Data de inscrição : 24/04/2013
Reputação : 0
Número de Mensagens : 7
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» como fazer os inimigos rodar um objeto sem parar ?
» Step event ou key event pra andar
» [Resolvido]Parar um sound_loop() sem parar os sons de mesmo nome.
» [Equipe] Event to GML
» Uso do Draw Event
» Step event ou key event pra andar
» [Resolvido]Parar um sound_loop() sem parar os sons de mesmo nome.
» [Equipe] Event to GML
» Uso do Draw Event
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|