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
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Perder vida a cada 2 segundos

+3
willcraft2
Luca$
cubano9999
7 participantes

Ir para baixo

barra de vida - Perder vida a cada 2 segundos Empty Perder vida a cada 2 segundos

Mensagem por cubano9999 Dom 11 Nov 2012, 16:30

Gente eu gostaria de saber o seguinte, se puderem me ajudar ficarei muito feliz pois não sei como fazer isso. Valeu Happy
barra de vida - Perder vida a cada 2 segundos Gamemaker3
cubano9999
cubano9999

Games Ranking : Nota E

Notas recebidas : E+E
Data de inscrição : 20/06/2012
Reputação : 1
Número de Mensagens : 131
Prêmios : barra de vida - Perder vida a cada 2 segundos 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

barra de vida - Perder vida a cada 2 segundos Empty Re: Perder vida a cada 2 segundos

Mensagem por Luca$ Dom 11 Nov 2012, 16:36

Tipo como se ele tivesse sangrando né?

Cria uma variável para saber se ele está ou não "sangrando",dai é só criar um alarm a cada 2 segundos para remover
EX:

Create:
Código:
sangrando=false
alarm[0]=60


Alarm 0:
Código:
if sangrando=true
{
vida-=10
}
alarm[0]=60


Pronto Smile
Luca$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : barra de vida - Perder vida a cada 2 segundos 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

barra de vida - Perder vida a cada 2 segundos Empty Re: Perder vida a cada 2 segundos

Mensagem por cubano9999 Dom 11 Nov 2012, 16:49

Luca$ escreveu:Tipo como se ele tivesse sangrando né?

Cria uma variável para saber se ele está ou não "sangrando",dai é só criar um alarm a cada 2 segundos para remover
EX:

Create:
Código:
sangrando=false
alarm[0]=60


Alarm 0:
Código:
if sangrando=true
{
vida-=10
}
alarm[0]=60


Pronto Smile

Mais cara onde eu coloco esse codigos no obj quadrado ou no redondo,e eu coloco onde, na colisão com o objeto quadrado? Valeu Happy desculpa se eu to perguntando demais é que eu não sei muitas coisas no GM.
cubano9999
cubano9999

Games Ranking : Nota E

Notas recebidas : E+E
Data de inscrição : 20/06/2012
Reputação : 1
Número de Mensagens : 131
Prêmios : barra de vida - Perder vida a cada 2 segundos 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

barra de vida - Perder vida a cada 2 segundos Empty Re: Perder vida a cada 2 segundos

Mensagem por Luca$ Dom 11 Nov 2012, 18:48

Ponha esses 2 códigos no objeto quadrado.
Adicione mais esse código:

Objeto:Quadrado
Evento:Colisão com o objeto redondo

Código:
sangrando=true
Luca$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : barra de vida - Perder vida a cada 2 segundos 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

barra de vida - Perder vida a cada 2 segundos Empty Re: Perder vida a cada 2 segundos

Mensagem por willcraft2 Dom 11 Nov 2012, 18:53

Bom você não sabe nem na onde deve por as coisas, recomendo você ler os tutoriais:

FAQ
Indice de Tutoriais
willcraft2
willcraft2

Games Ranking : Nota D

Notas recebidas : D + D
Data de inscrição : 06/04/2012
Reputação : 42
Número de Mensagens : 682
Prêmios : barra de vida - Perder vida a cada 2 segundos Empty

Medalhas x 0 Tutoriais x 1 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

barra de vida - Perder vida a cada 2 segundos Empty Re: Perder vida a cada 2 segundos

Mensagem por Zero. Dom 11 Nov 2012, 21:43

No exemplo do amigo lucas, ele não perderá vida a cada 2 seg pq sempre q sangrando for true alarm[0]=60 ou seja alarm[0] vai ser sempre 60.
Faça assim:

No create do quadrado:
Código:
sangrando=false // define se está ou não sangrando
s_define=false // aqui será para ele perder a cada 2 seg
obj_colide=false // obj que ele irá colidir que q se n existir irá faze-lo parar de sangrar

Na colisão com o obj_bola:
Código:
obj_colide=other.id
sangrando=true

No Step:

Código:
if sangrando=true and s_define=false and instance_exists(obj_colide) // checa se ele está sangrando se a contagem de 2 seg ainda está acontecendo (s_define) e se a bola ainda existe
{alarm[0]=60
s_define=true}

if !instance_exists(obj_colide) // se o obj_bola não estiver mais na room
{sangrando=false
s_define=false}

E No alarm[0] :

Código:
hp-=2
s_define=false

Espero que entenda Happy !
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : barra de vida - Perder vida a cada 2 segundos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 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

barra de vida - Perder vida a cada 2 segundos Empty Re: Perder vida a cada 2 segundos

Mensagem por PedroX Dom 11 Nov 2012, 22:25

Ou simplesmente no Step:

Código:
if ((current_time mod 60)==0)
health -=  10;

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : barra de vida - Perder vida a cada 2 segundos Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

barra de vida - Perder vida a cada 2 segundos Empty Re: Perder vida a cada 2 segundos

Mensagem por Zero. Dom 11 Nov 2012, 22:32

*---* Me ensina como usar esse current time e pra que serve o mod ?
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : barra de vida - Perder vida a cada 2 segundos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 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

barra de vida - Perder vida a cada 2 segundos Empty Re: Perder vida a cada 2 segundos

Mensagem por PedroX Dom 11 Nov 2012, 22:40

current_time -> É um valor que indica quanto tempo o sistema está ativo, em milésimos. Ajuda a calcular quanto tempo certas funções gastam.

mod -> Retorna o resto da divisão. Se for 0, é porque é um divisor.

Código:
5 mod 4 = 1
8 mod 5 = 3
9 mod 2 = 1
2 mod 2 = 0 //2 é divisor de 2

Ou seja, suponha que current_time é 1200. Então o resto da divisão é 0. Só depois de 60 milésimos que o resto será 0, já que os números entre 1201-1259 não dividem 60. Depois só no 1320 e assim vai.

Corrigindo meu código:
Código:
if ((current_time mod 2000)==0)
health -=  10;

Irá ocorrer em múltiplos de 2000 apenas (a cada 2 segundos).

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : barra de vida - Perder vida a cada 2 segundos Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

barra de vida - Perder vida a cada 2 segundos Empty Re: Perder vida a cada 2 segundos

Mensagem por Zero. Dom 11 Nov 2012, 23:02

Ok entendi, só não entendi o modo de uso, dá para escrever o código em palavras por favor *---* ?
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : barra de vida - Perder vida a cada 2 segundos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 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

barra de vida - Perder vida a cada 2 segundos Empty Re: Perder vida a cada 2 segundos

Mensagem por yiahooo Seg 12 Nov 2012, 10:05

de timeline e moment 40 set lives -2 relativeva no objeto que tem a vida set timeline no create e de loop true
yiahooo
yiahooo

Games Ranking : Nota E

Notas recebidas : E
Data de inscrição : 06/04/2012
Reputação : 2
Número de Mensagens : 155
Prêmios : barra de vida - Perder vida a cada 2 segundos 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

http://www.yiahooo.no.comunidades.net

Ir para o topo Ir para baixo

barra de vida - Perder vida a cada 2 segundos Empty Re: Perder vida a cada 2 segundos

Mensagem por All-x Seg 12 Nov 2012, 12:29

Só um pequeno detalhe Pedro, o current_time nem sempre dá o resultado esperado. Isso ocorre porque o tempo da máquina flui livremente independente do que ocorra. Caso haja um mínima queda de frame (Ex: room_speed é 30 e cai para 29, ou seja um slow down) já ocorre o risco de (current_time mod 2000)==0 não funcionar, pois "perdeu" o frame de vista.

Logo seria mais sábio criar uma variável de tempo de jogo e não de tempo de máquina que faça a mesma função. Ou seja, uma global que na ultima linha do evento Draw (Por ser o último loop) seja adicionada +1 à ela.

Então nosso amigo deve fazer o seguinte:

No evento Other>Game Start do objeto controle (Tem que estar sempre na room) colocar:
Código:
global.frames=0
Ainda no mesmo objeto no evento Draw na última linha de código:
Código:
global.frames+=1
No evento de colisão do retângulo com a bola:

Código:
if (global.frames mod (fps*2))==0
{
health-=10
}

Bom, não testei, mas deve funcionar.

FLWS!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : barra de vida - Perder vida a cada 2 segundos Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 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
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

barra de vida - Perder vida a cada 2 segundos Empty Re: Perder vida a cada 2 segundos

Mensagem por Luca$ Seg 12 Nov 2012, 13:35

Flyaway,não cheguei a testar,mas acho que o meu código funciona sim,não?

Porque a variavel é setada quando ele colide com o outro objeto,mas,o alarme não é ativado na colisão.

Me corrija se estiver errado...
Luca$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : barra de vida - Perder vida a cada 2 segundos 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

barra de vida - Perder vida a cada 2 segundos Empty Re: Perder vida a cada 2 segundos

Mensagem por Zero. Seg 12 Nov 2012, 14:51

Sim,sim está correto.
É que pensei que o código era no step e não no alarm[0] mas o problema é que o alarm ficará sempre contando. e a bola sumir e para de sangrar e outra bola aparecer e tocar nele o tempo ja estará contando.
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : barra de vida - Perder vida a cada 2 segundos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 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

barra de vida - Perder vida a cada 2 segundos Empty Re: Perder vida a cada 2 segundos

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

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