Perde um coração ao encostar no inimigo.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Perde um coração ao encostar no inimigo.

Mensagem por PKdor em Sab 17 Abr 2010, 20:02

Galera como faz para que quando o player encostar no inimigo ele perca um coracao, e quando zerar todos os coraçoes reinicia a room?

PKdor

Número de Mensagens : 52
Idade : 24
Data de inscrição : 31/03/2010
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Perde um coração ao encostar no inimigo.

Mensagem por Suadao em Sab 17 Abr 2010, 20:11

No evento Collision do obj_player com o obj_inimigo coloque:

Código:
global.coracoes-=1 //Diminui um coração.

E no evento Step do obj_player:

Código:
if global.coracoes = 0 //Se a global de coracoes for igual a 0
{
room_restart() //A room reinicia
}

TROQUE O O CORACOES PELA VARIÁVEL DE CORACOES (OU VIDAS SE FOR O CASO) QUE VOCÊ USA, COLOQUEI VARIÁVEL GLOBAL POIS NÃO SEI SE VOCÊ COLOCOU ELA EM OUTRO OBJETO.[b]

[b]Espero ter ajudado
Valew!

Suadao

Número de Mensagens : 1035
Idade : 26
Data de inscrição : 22/11/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Perde um coração ao encostar no inimigo.

Mensagem por Fabião em Sab 17 Abr 2010, 20:40

PKdor escreveu:Galera como faz para que quando o player encostar no inimigo ele perca um coracao, e quando zerar todos os coraçoes reinicia a room?


olá amigo, vc de fazer o seguinte:
neste caso pode usar variável lives que é padrão no gm.

No evento create coloque:

Código:
lives = 3
checa_colisao = false

Agora no evento colisão com inimigo coloque:
Código:

if ( checa_colisao:= false ) &&  (instance_place(x,y,inimigo)) begin
lives+= -1;  checa_colisao:= false; end

e no event step coloque assim:

Código:

if ( checa_colisao:= false ) && ! (instance_place(x,y,inimigo)) begin
checa_colisao:= true; end

if ( lives: = 0 ) room_restart();

Agora para mostrar a variavel (lives) vidas em forma de imagem.
coloque o seguinte código no evento draw:

Código:


var a;
a=16;//distância entre as sprites
repeat (lives)
{
    draw_sprite(sprite,-1,x*a,y);
    a+=1;
}

Fabião

Ranking : Nota B
Número de Mensagens : 247
Idade : 29
Data de inscrição : 06/07/2008
Notas recebidas : B
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Perde um coração ao encostar no inimigo.

Mensagem por PKdor em Sab 17 Abr 2010, 23:07

Pessoal seguinte eu estou usando um codigo de colisao aki para que quando o player pule e caia em cima do inimigo, o inimigo é destruido....
eis o codigo:
Código:
if y<other.y && vspeed>0//muda o 32 para a altura da sprite do player
{
vspeed=-5
with(other){instance_destroy()}//destroi o inimigo
}
else //senão
{room_restart()} //Reseta a room
Esse codigo ta na colisao do player com o inimigo.

Nao tem como alterar e aproveitar esse codigo e fazer com q se o player nao cair em cima do inimigo ele perca um coração?

PKdor

Número de Mensagens : 52
Idade : 24
Data de inscrição : 31/03/2010
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Perde um coração ao encostar no inimigo.

Mensagem por Denis Lemos em Sab 17 Abr 2010, 23:25

Sim !

Código:

if y<other.y && vspeed>0//muda o 32 para a altura da sprite do player
{
vspeed=-5
with(other){instance_destroy()}//destroi o inimigo
}
else //senão
{
    lives-=1 // Diminui uma vida
    if lives<=0 // Se as vidas acabarem
    {
          room_restart() // Restarta a room
    }
}

No Evento Create coloque:
Código:

lives=3 // Iniciar com 3 vidas

Como se faz para pintar os corações na tela o Fabião já mostrou !

Té + !!!

Denis Lemos

Número de Mensagens : 938
Idade : 28
Data de inscrição : 17/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Perde um coração ao encostar no inimigo.

Mensagem por PKdor em Dom 18 Abr 2010, 11:31

Tenho uma algumas duvidas...
O codigo:
Código:
lives=3 // Iniciar com 3 vidas
Eu coloco a onde? No obj do player ou no obj da vida?

E o codigo:
Código:
var a;
a=16;//distância entre as sprites
repeat (lives)
{
    draw_sprite([b]sprite[/b],-1,x*a,y);
    a+=1;
}
onde esta de Negrito é onde tenho q colocar o nome do meu sprite de vidas?

Mais um coisa...como faço para as vidas acompanharem o personagem?

PKdor

Número de Mensagens : 52
Idade : 24
Data de inscrição : 31/03/2010
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Perde um coração ao encostar no inimigo.

Mensagem por Conteúdo patrocinado Hoje à(s) 06:04


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum