[resolvido] Problema, ajudem!

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

[resolvido] Problema, ajudem!

Mensagem por Juninho em Ter 18 Nov 2008, 18:45

É o seguinte, eu botei pro meu personagem matar o inimigo pulando encima, e também coloquei pra q caso ele colida com o inimigo, perca 1% da saude. Então fiz assim:

Na colisão do inimigo com o personagem:
Código:

if other.y>y{
instance_destroy()}

Na colisão do personagem com o inimigo:

Código:
health-=1


Eu queria saber como faz o personagem só perder vida qdo encosta no lado do inimigo, pois se ele encostar encima, perde vida tbm, Ajudem aew, flw!

Juninho

Número de Mensagens : 468
Data de inscrição : 11/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Janx em Ter 18 Nov 2008, 19:03

na colisao do personagem com o inimigo poe:

if y < other.y
{
health -=1
}

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Convidad em Ter 18 Nov 2008, 19:05

Tente assim:
Código:
Obj inimigo > colisão com o player:
if other.vspeed>0 && other.y<y+sprite_height
    instance_change(obj_inimigo derrotado,true)

Obj player > create:
invencivel=0 //crie uma var para controlar a perda de health, do contrário irá decrescer todo o tempo em que estiver em colisão com o inimigo

Obj player > alarm[0]:
invencivel=0

Obj payer > step: //isso é para "piscar" enquanto estiver invisível
if invencivel=1
    {
    if visible=1
        visible=0
        else
        visible=1
    }
    else
    visible=1

Obj player > colisão com o inimigo:
if vspeed>0 && y<other.y+sprite_height
    motion_set(90,5) //isso é para dar aquele "salto" após matar o inimigo
    else
    {
    if invencivel=0
        {
        health-=1
        invencivel=1
        }
    alarm[0]=10 //troque o valor para um que fique legal no seu game
    }


...acho que é tudo, qq coisa só dizer =]

flw

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Juninho em Ter 18 Nov 2008, 19:08

Blz, mas o inimigo nao ta morrendo qdo eu pula encima dele, ele passa direto, oq será?

Juninho

Número de Mensagens : 468
Data de inscrição : 11/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Convidad em Ter 18 Nov 2008, 19:19

Eu passei esse código para o Gilomania no grupo de estudos e no dele funcionou OK... eu tmb já usei isso antes sem problemas;

Se está passando direto é pq pode haver algo errado na parte que checa a relação entre o y do player com o do inimigo...

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por gilomania3d em Ter 18 Nov 2008, 19:22

Não te esqueças de mudar o nome dos objectos e se quiseres destruir a instância usa em vez de "instance_change(obj_inimigo derrotado,true)" por "instance_destroy()"

gilomania3d

Número de Mensagens : 245
Idade : 25
Data de inscrição : 10/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Juninho em Ter 18 Nov 2008, 19:32

juninhodagavioes escreveu:Blz, mas o inimigo nao ta morrendo qdo eu pula encima dele, ele passa direto, oq será?
Ae fmanna, essa resposta foi pelao post do janx, mas vc postou junto comigo xD
Bom, eu fiz oq vc falou, mas deu isso:


Juninho

Número de Mensagens : 468
Data de inscrição : 11/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Convidad em Ter 18 Nov 2008, 19:36

Se vc puder postar o código que usou no step do player pra gente dar uma olhada ajudaria... a msgm só diz 3° ação do step do player, aí fica difícil;

flw

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Juninho em Ter 18 Nov 2008, 19:48

fmanna escreveu:Se vc puder postar o código que usou no step do player pra gente dar uma olhada ajudaria... a msgm só diz 3° ação do step do player, aí fica difícil;

flw

Ok tae:

Ação 1:
Código:
if (place_free(x,y+1)){
gravity=0.75; noar=true;}
else
{gravity=0;noar=false}

if (keyboard_check_pressed(vk_up)) && ! (place_free(x,y+1)){
vspeed=-8; noar=true;}
if (vspeed>12){
vspeed=12}

if (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x-4,y)){
x-=4; lado=0; andando=true; parado=false;}
if (keyboard_check(vk_right)) && ! (keyboard_check(vk_left)) && (place_free(x+4,y)){
x+=4; lado=1; andando=true; parado=false;}
if !(keyboard_check(vk_left))&& ! (keyboard_check(vk_right)){
parado=true; andando=false;}

if (noar==false){
if (andando=true)&&(lado==1){
sprite_index=spr_andando_direita}
if (andando=true)&&(lado==0){
sprite_index=spr_andando_esquerda}
if (andando==false)&&(parado==true)&&(lado==1){
sprite_index=spr_parado_direita}
if (andando==false)&&(parado==true)&&(lado==0){
sprite_index=spr_parado_esquerda}
}
else
{
if (vspeed>0)||(vspeed<0)&&(lado==1){
sprite_index=spr_pulando_direita;}
if (vspeed>0)||(vspeed<0)&&(lado==0){
sprite_index=spr_pulando_esquerda;}
}


Ação 2

Código:
{
    if visible=1
        visible=0
        else
        visible=1
    }
    else
    visible=1

Não tem ação 3 pois eu exclui a 2, entao a 3 passa ser a 2
A 2 era propriedades de piscar, mas como seu codigo ja possui resolvi excluir Smile


Última edição por juninhodagavioes em Ter 18 Nov 2008, 19:51, editado 1 vez(es)

Juninho

Número de Mensagens : 468
Data de inscrição : 11/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por gilomania3d em Ter 18 Nov 2008, 19:50

experimenta assim
if invencivel=1
{
if visible=1
visible=0
else
visible=1
}
else
visible=1
faltava-te if invencivel=1

gilomania3d

Número de Mensagens : 245
Idade : 25
Data de inscrição : 10/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Convidad em Ter 18 Nov 2008, 19:51

Isso mesmo gilomania3d... o erro é pq não é condição para as ações serem executadas;

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Janx em Ter 18 Nov 2008, 19:51

Código:
{
    if visible=1
        visible=0
        else
        visible=1
    }
    else
    visible=1

perceba que vc nao pois os "{" E "}"
no else o correto é:

Código:
{
    if visible=1{visible=0}
        else{visible=1}
    }
    else{visible=1}

EDIT:

{
if visible=1{visible=0}
else{visible=1}
}
else{visible=1}

OBS:se nao tiver um if antes das chaves em negrito ele nao vai reconhecer o else grifado


Última edição por janx em Ter 18 Nov 2008, 19:54, editado 1 vez(es)

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Juninho em Ter 18 Nov 2008, 20:03

Outro erro (desculpe mse eu estou sendo chato xD)

Juninho

Número de Mensagens : 468
Data de inscrição : 11/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por gilomania3d em Ter 18 Nov 2008, 20:04

Eu tenho assim e no meu funcionou não foi preciso pôr mais "{" e "}"

Confirma se poses-te no evento Create do player "invencivel=0" e no evento alarm[0] puseste "invencivel=0";

Confirma o código todo para ver se está tudo bem

gilomania3d

Número de Mensagens : 245
Idade : 25
Data de inscrição : 10/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Janx em Ter 18 Nov 2008, 20:24

repare no codigo errado:
instance_change(obj_inimigo derrotado,true)

esse derrotado eu axo que vc pode tirar!

vc so esta copiando os codigos é?
tente intendelos pelomenos!

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Juninho em Ter 18 Nov 2008, 20:32

Não cara, eu tentei entender, só nao entendi esse derrotado.
Edit: E o problema insiste, aff desisto.


Última edição por juninhodagavioes em Ter 18 Nov 2008, 20:39, editado 1 vez(es)

Juninho

Número de Mensagens : 468
Data de inscrição : 11/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por gilomania3d em Ter 18 Nov 2008, 20:39

Esse derrotado é se tiveres outro objecto que aparece depois de o matares o derrotado é o nome do objecto.

Ex:como no Mário quando matas o inimigo ele fica numa linha esse derrotado é isso mesmo em vez disso pões instance_destroy()

gilomania3d

Número de Mensagens : 245
Idade : 25
Data de inscrição : 10/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Juninho em Ter 18 Nov 2008, 20:45

gilomania3d escreveu:experimenta assim
if invencivel=1
{
if visible=1
visible=0
else
visible=1
}
else
visible=1
faltava-te if invencivel=1
Gilomania, vlw, eu fiz isso q vc disse, não dá mais erro, porém qdo o player pula encima do inimigo, o inimigo nao morre Sad

Juninho

Número de Mensagens : 468
Data de inscrição : 11/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Convidad em Ter 18 Nov 2008, 20:51

esse derrotado eu axo que vc pode tirar!
...esse instance_change é para o caso de vc tranformar o inimigo em outro obj (como os clássicos goombas que são "pisoteados")...

...se for só destruir o inimigo sem nenhuma animação nem nada use o instance_destroy() como o gilomania3d disse =]

flw

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Juninho em Ter 18 Nov 2008, 20:57

Mas porque o inimigo não morre? Fiz tudo certim mas não dá nada com ele.

Juninho

Número de Mensagens : 468
Data de inscrição : 11/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por gilomania3d em Ter 18 Nov 2008, 20:59

Amostra os comando que usou para eliminar o inimigo

gilomania3d

Número de Mensagens : 245
Idade : 25
Data de inscrição : 10/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Juninho em Ter 18 Nov 2008, 20:59

if other.vspeed>0 && other.y<y+sprite_height
instance_destroy()

Juninho

Número de Mensagens : 468
Data de inscrição : 11/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por gilomania3d em Ter 18 Nov 2008, 21:04

experimenta assim
if obj_player.y<y-sprite_height
instance_destroy()

O obj_player põe o nome do objecto que controlas

gilomania3d

Número de Mensagens : 245
Idade : 25
Data de inscrição : 10/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Juninho em Ter 18 Nov 2008, 21:05

Perfeito, cara vlw mesmo, finalmente tá resolvido!

Juninho

Número de Mensagens : 468
Data de inscrição : 11/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [resolvido] Problema, ajudem!

Mensagem por Conteúdo patrocinado Hoje à(s) 16:32


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