{ RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

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

{ RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Mystery_boy_maker em Seg 01 Fev 2010, 14:19

To fazendo um jogo de plataforma e to com uma duvida que tah me dando dor de cabeça, ja usei o " Buscar " do site mais as outras perguntas só explicam em jogos com a imgem de cima sem gravidade E isso nao é o meu caso ja que estou fazendo um game em plataforma !

A minha parede que esta grudando no caso é o mesmo objeto do chão só que um em cima do outro assim como mostra a foto a seguir



o problema é que quando ocorre a colisão entre os dois na horizontal o player fica preso porque na variavel pe_no_chao que estou usando faz o vspeed ser = 0 entao o player trava assim :





Eu tentei colocar esse codigo na colisão dos dois mais acabou bugando mais ainda


Código:

{
if other.vspeed<vspeed
  {
 
    {
     
   
move_contact_solid(direction,10)
vspeed = 0
pe_no_chao = true
     

      }


  }
  else
      {
     
      pe_no_chao = false
      }
      }



O que eu faço ?? Gostaria de continuar usanso a mesma variavel pe_no_chao porque se eu tiver que mudar ela vo ter que mudar todo o meu jogo


{RESOLVIDO }
MUITO OBRIGADO AOS USUARIOS JANX E KEKEGAMES SUAS PACIÊNCIAS E VONTADE DE ME AJUDAR ME IMPRESSIONARAM
MESMO QUE EU ACABE CONSEGUINDO SOLUCIONAR NÃO TERIA CHEGADO A MESA CONCLUSÃO SE NAO FOSSE VOCES 2 ! ABRÇOS AMIGOS SUCESSOS EM SEUS PROJETOS


Última edição por Mystery_boy_maker em Seg 01 Fev 2010, 18:27, editado 1 vez(es)

Mystery_boy_maker

Número de Mensagens : 908
Idade : 23
Data de inscrição : 25/01/2010
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Re: { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Janx em Seg 01 Fev 2010, 14:33

mude o codigo de colisão para:
Código:
move_contact_solid(direction,10)
vspeed = 0

no STEP coloque isso:
Código:
while (!place_free(x+1,y))
{x-=1;}
while (!place_free(x-1,y))
{x+=1;}

Tenha certeza de estar usando uma mascara de colisão para o objeto!
Recomendo um retangulo simples, com o tamanho do personagem na animação "Parado".

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}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Mystery_boy_maker em Seg 01 Fev 2010, 14:40

Eu ja usava esse codigo


Código:
move_contact_solid(direction,10)
vspeed = 0
pe_no_chao = true
     

e o bug persiti e quanto a mask eu uso o editor de mascaras do gm8 pra cada sprite e boto um retangulo simples como voce falou eu nao uso uma mascara para o objeto em si porque ele possui sprites dele abaixado e se eu usar uma mascara do tamanho dele em pé quando ele estiver abaixado o objetos que vão passar a cima dele vão colidir como se ele ainda estivece em pé

!!

Mystery_boy_maker

Número de Mensagens : 908
Idade : 23
Data de inscrição : 25/01/2010
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Re: { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Suadao em Seg 01 Fev 2010, 14:43

Eu até fiz uma engine pra você, mas como eu sou idiota não li isso:
Mystery_boy_maker escreveu:
O que eu faço ?? Gostaria de continuar usanso a mesma variavel pe_no_chao porque se eu tiver que mudar ela vo ter que mudar todo o meu jogo

Bom, se quiser ta ai: Engine de player não grudar na parede By Suadao

Obs: O Janx respondeu primeiro :@

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: { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Janx em Seg 01 Fev 2010, 14:45

Mystery_boy_maker escreveu:Eu ja usava esse codigo


Código:
move_contact_solid(direction,10)
vspeed = 0
pe_no_chao = true
     

e o bug persiti e quanto a mask eu uso o editor de mascaras do gm8 pra cada sprite e boto um retangulo simples como voce falou eu nao uso uma mascara para o objeto em si porque ele possui sprites dele abaixado e se eu usar uma mascara do tamanho dele em pé quando ele estiver abaixado o objetos que vão passar a cima dele vão colidir como se ele ainda estivece em pé

!!

Nesse caso, tente usar apenas 2 mascaras:
Ele abaixado e em pé.

O problema de muitas mascaras é que o tamanho dela varia:
em uma mascara mais "fina" o player não está na parede, na outra mais "grossa" ele entra na parede.
Você tem que usar elas com o mesmo tamanho HORIZONTAL para não ter esse problema.

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}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Mystery_boy_maker em Seg 01 Fev 2010, 15:01

Valeu Janx ( de novo ) fico bem melhor agora mais tem mais um problema que eu queria ajuda

se eu estiver caindo e pressionar o botão que anda na direção da prede ele fica grudado e quando eu solto ele cai normal como eu faço pra ele cair mesmo que eu esteja pressionando o botão que anda contra a parede caso nao tenha entendido vo add uma foto


Mystery_boy_maker

Número de Mensagens : 908
Idade : 23
Data de inscrição : 25/01/2010
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Re: { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Janx em Seg 01 Fev 2010, 16:11

Você pois o código que eu falei no step?
Código:
    while (!place_free(x+1,y))
    {x-=1;}
    while (!place_free(x-1,y))
    {x+=1;}

Se não, tente por embaixo do evento que você usa para o player andar de pressionar a tecla tanto pra esquerda quanto pra direita!
Se estiverem no mesmo código, você coloca esse ai que passei em cima.
Se tiver em eventos separados (tecla esquerda/direita)
coloque em cada um de acordo com a direção:
Código:
while (!place_free(x+1,y)) //DIREITA
{x-=1;}
while (!place_free(x-1,y)) //ESQUERDA
{x+=1;}

Tente por no step caso não queira funcionar.
Se ainda não funcionar, posta ai que tenho mais uma forma.
Mas você tera que mudar um pouco o código de movimento (pouco!)

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}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Mystery_boy_maker em Seg 01 Fev 2010, 16:33

Continua dando esse mesmo bug ! ? e ainda dps desse codigo cada vez que eu pulava a tela dava um tremida estranha !

Mystery_boy_maker

Número de Mensagens : 908
Idade : 23
Data de inscrição : 25/01/2010
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Re: { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Kevin em Seg 01 Fev 2010, 16:46

tenta isso...

na colisão da raposa com o chão coloque esse código

Código:
move_contact_solid(direction,12)
vspeed = 0
if !place_free(x,y+1) pe_no_chao = true

derrepente é a ação da var pé no chão que deva estar dando esse erro

se não funcionar isso... faça assim...

verifique se o chao esta sólido

se não tiver marque ele sólido

esse "GRUDE" na parede é por causa de um script no andar dele... PROVAVELMENTE!!!

bem... é isso ae Happy

FLWs

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Mystery_boy_maker em Seg 01 Fev 2010, 16:53

O mesmo erro ainda continua

esse é o meu step :

Código:
if keyboard_check_pressed(ord("X"))  and pe_no_chao = true and abaixado = false {
    vspeed = -12 sound_play(sound3)
    pe_no_chao = false}

if direita = true {//se para direita
    if pe_no_chao = false{//se estiver pulando
        if vspeed <= 0{//se estiver subindo
            sprite_index = spr_cat_pulando_direita
        }else{//se estiver caindo
            sprite_index = spr_pulando22
        }
    }else{//se nao estiver pulando
        if abaixado = true{//se estiver baixo
            sprite_index = spr_cat_abaixado_direita
        }else{//se não estiver para baixo
            if atacando = true{//se estiver atacando
                sprite_index = spr_cat_pulando_direita
            }else{//se não estiver atacando
                if andando = true{//se estiver andando
                    sprite_index = spr_cat_andando_direita
                }else{//se não estiver andando
                    sprite_index = spr_cat_parado_direita
                }
            }
        }
    }
}else{//se não estiver para direta (para esquerda)
    if pe_no_chao = false{//se estiver pulando
        if vspeed <= 0{//se estiver subindo
            sprite_index = spr_cat_pulando_esquerda
        }else{//se estiver caindo
            sprite_index = spr_pulando2
        }
    }else{//se nao estiver pulando
        if abaixado = true{//se estiver baixo
            sprite_index = spr_cat_abaixado_esquerda
        }else{//se não estiver para baixo
            if atacando = true{//se estiver atacando
                sprite_index = spr_cat_parado_esquerda
            }else{//se não tiver atacando
                if andando = true{//se estiver andando
                    sprite_index = spr_cat_andando_esquerda
                }else{//se não estiver andando
                    sprite_index = spr_cat_parado_esquerda
                }
            }
        }
    }
}
Código:


if (keyboard_check(vk_right)){while (!place_free(x+1,y)) //DIREITA
{x-=1;}
    hspeed = 4;direita = true;andando = true
}else{// se não foi
    if (keyboard_check(vk_left)){ while (!place_free(x-1,y))
{x+=1;}
        hspeed = -4;direita = false;andando = true
    }else{// se não foi
        hspeed = 0;andando = false
    }
}

if (keyboard_check(vk_down)){ abaixado = true; andadando = false hspeed = 0
}else{
    abaixado = false; andadando = true
   
    }

e o meu create

Código:
direita = true
pe_no_chao = false
andando = false
abaixado = false
atacando = false



ESSA é A INFORMAÇÃO DO MOVIMENTO DO MEU PERSONAGEM CENTRAL SE SERVI DE ALGUMA AJUDA !

Mystery_boy_maker

Número de Mensagens : 908
Idade : 23
Data de inscrição : 25/01/2010
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Re: { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Kevin em Seg 01 Fev 2010, 17:11

bem... estava olhando esses códigos... e depois abri alguns jogos meus de plataforma e vi que eles também grudavam na parede

resolvi rapidinho Very Happy

vou tentar lhe passar como resolvi Happy

nos códigos que você me passou Happy

bem... na colisão com o chão coloque esse código (comigo funfo Very Happy)

Código:
if !place_free(x+1,y){hspeed=0}
if !place_free(x-1,y){hspeed=0}

acho que só isso esta mais que bom Razz

lembrando para por esse código na colisão da raposa com o chão!!!

FLWs Happy

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Mystery_boy_maker em Seg 01 Fev 2010, 17:39

Ainda nao resolveu ! ainda se eu pressionar o pra andar quando tiver uma parede do lado e um buraco em baixo ele fica grudado na parede enquanto eu pressiono o botão só quando eu lardo ele cai no buraco !

Mystery_boy_maker

Número de Mensagens : 908
Idade : 23
Data de inscrição : 25/01/2010
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Re: { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Kevin em Seg 01 Fev 2010, 17:52

realmente naum sei :/

se pudesse postar o game em open source para que eu pudesse dar uma olhada...

prefiro resolver as coisas olhando... pq resolvendo assim fica muito no achismo Razz

FLWs

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Mystery_boy_maker em Seg 01 Fev 2010, 18:16

Eu acabei de consegui eu fiz assim criei uma variavel chamada na_parede
e fiz o topo do chão e o meio dele 2 objetos no contato com essa parte do chão que seria a parede eu botei assim

Código:
if ( keyboard_check(vk_left)) { hspeed = 0  na_parede = true }
if ( keyboard_check(vk_right)) { hspeed = 0 na_parede = true }



no create eu botei é claro
Código:
na_parede = false


depois foi só organizar os objetos da room de novo e testar que funcionou

Desculpe fazer voces perderem tempo amigo queria poder retribuir de alguma forma

Agradeço as suas intenções !!

Mystery_boy_maker

Número de Mensagens : 908
Idade : 23
Data de inscrição : 25/01/2010
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Re: { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Suadao em Seg 01 Fev 2010, 20:12

Eu também tentei te ajudar -.-

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: { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Mystery_boy_maker em Ter 02 Fev 2010, 16:20

Foi mal amigo esqueci de voce hashhs brigadão foi mal

e que na hora eu lembrei dos dois e a sua mensagem tavala no topo hashahs


Última edição por Mystery_boy_maker em Ter 02 Fev 2010, 22:05, editado 1 vez(es)

Mystery_boy_maker

Número de Mensagens : 908
Idade : 23
Data de inscrição : 25/01/2010
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Re: { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Suadao em Ter 02 Fev 2010, 16:42

Nao foi nada não sauhsuha

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: { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?

Mensagem por Conteúdo patrocinado Hoje à(s) 21:13


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