Conectar-se
Quem está conectado
14 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 14 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota E
Notas recebidas : E+E
Data de inscrição : 20/06/2012
Número de Mensagens : 131
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Perder vida a cada 2 segundos

em 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
avatar
Ranking : Nota D
Notas recebidas : D-C
Data de inscrição : 10/10/2010
Número de Mensagens : 582
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Perder vida a cada 2 segundos

em 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
avatar
Ranking : Nota E
Notas recebidas : E+E
Data de inscrição : 20/06/2012
Número de Mensagens : 131
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Perder vida a cada 2 segundos

em 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.
avatar
Ranking : Nota D
Notas recebidas : D-C
Data de inscrição : 10/10/2010
Número de Mensagens : 582
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Perder vida a cada 2 segundos

em 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
avatar
Ranking : Nota D
Notas recebidas : D + D
Data de inscrição : 06/04/2012
Número de Mensagens : 682
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 42

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Perder vida a cada 2 segundos

em 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
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: Perder vida a cada 2 segundos

em 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 !
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Perder vida a cada 2 segundos

em Dom 11 Nov 2012, 22:25
Ou simplesmente no Step:

Código:
if ((current_time mod 60)==0)
health -=  10;
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: Perder vida a cada 2 segundos

em Dom 11 Nov 2012, 22:32
*---* Me ensina como usar esse current time e pra que serve o mod ?
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Perder vida a cada 2 segundos

em 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).
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: Perder vida a cada 2 segundos

em 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 *---* ?
avatar
Ranking : Nota E
Notas recebidas : E
Data de inscrição : 06/04/2012
Número de Mensagens : 155
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.yiahooo.no.comunidades.net

Re: Perder vida a cada 2 segundos

em 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
avatar
Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0
Reputação : 177

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://redscreensoft.blogspot.com

Re: Perder vida a cada 2 segundos

em 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!
avatar
Ranking : Nota D
Notas recebidas : D-C
Data de inscrição : 10/10/2010
Número de Mensagens : 582
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Perder vida a cada 2 segundos

em 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...
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: Perder vida a cada 2 segundos

em 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.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum