Bug de colisão

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

Resolvido Bug de colisão

Mensagem por Dark Holy Devil em Seg 04 Nov 2013, 21:30

Boa noite pessoal! Estou enfrentando um grande pequeno problema e gostaria que vocês me dessem uma mão.
Meu personagem quando pula num bloco geralmente fica tudo certo, porem, quando quando ele encosta apenas a ponta da arma no bloco após um pulo, ele acaba travando.
Pra vocês terem uma ideia, ta ae o exe dele.
http://www.mediafire.com/download/wgya8mpmv3v5zrh/Jogo+v0.0.0.0.0.0.0.1.rar

Obs: Já consegui arruma alguns bugs, exceto esse da lanterna travar no bloco!

Dark Holy Devil

Número de Mensagens : 59
Idade : 21
Data de inscrição : 13/06/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.geekhouse.xpg.com

Voltar ao Topo Ir em baixo

Resolvido Re: Bug de colisão

Mensagem por WellingtonBecker em Seg 04 Nov 2013, 22:26

Ola amigo, seria interessante mostrar o código usado para ajuda-lo.

WellingtonBecker

Ranking : Nota D
Número de Mensagens : 820
Idade : 35
Data de inscrição : 09/05/2013
Notas recebidas : D
Reputação : 105
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Bug de colisão

Mensagem por Willy em Seg 04 Nov 2013, 22:32

Tó:
Isso pode ser facilmente resolvido criando uma máscara retangular e aplicando no objeto do player. E de praxe, para não perder o costume, a boa e velha propaganda da minha Engine - Movimento Limpo! Garanto que usando-a, não terá problema algum com colisões, a não ser que não use uma mask retangular.

Espero que te ajude! Flws... blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: Bug de colisão

Mensagem por Dark Holy Devil em Seg 04 Nov 2013, 22:59

Código:
 //Movimentos
    
        if (place_free(x,y+1))
    {gravity=0.5; noar=true;
  
    } else
    
     {gravity=0; noar=false;
     }

    //-----
    if (keyboard_check_pressed(vk_space)) && ! (place_free(x,y+1))
    {
    vspeed=-7; noar=true; friction=0
    }

    if (vspeed>12)
    vspeed=12;

    if (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x-5,y))
    {x-=5; global.lado=0; andando=true; parado=false;
    }

    if (keyboard_check(vk_right)) && ! (keyboard_check(vk_left)) && (place_free(x+5,y))
    {x+=5; global.lado=1; andando=true; parado=false;

    if ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right))
    }

    //Sprites
    if (noar==false)

    {
    if (andando=true) && (global.lado==1)
    {
    sprite_index=spr_Bruce_cd; mask_index=spr_Bruce_cd_mask
    }
    if (andando=true) && (global.lado==0)
    {
    sprite_index=spr_Bruce_ce; mask_index=spr_Bruce_ce_mask
    }
    if (andando==false) && (parado==true) && (global.lado==1)
    {
    sprite_index=spr_Bruce_pd; mask_index=spr_Bruce_pd_mask
    }
    if (andando==false) && (parado==true) && (global.lado==0)
    {
    sprite_index=spr_Bruce_pe; mask_index=spr_Bruce_pe_mask
    }
    }
    else
    {
    if (vspeed<0)  && (global.lado==1)
    {
    sprite_index=spr_Bruce_puld1; mask_index=spr_Bruce_puld1_mask
    }
    if (vspeed<0)  && (global.lado==0)
    {
    sprite_index=spr_Bruce_pule1; mask_index=spr_Bruce_pule1_mask
    }
    if vspeed>1 && (place_free(x,y+2)) && (global.lado==1) {sprite_index=spr_Bruce_puld2; mask_index=spr_Bruce_puld2_mask}
   if vspeed>1 && (place_free(x,y+2)) && (global.lado==0) {sprite_index=spr_Bruce_pule2; mask_index=spr_Bruce_pule2_mask}
     }
    
    //-----------------Cair
    if y>room_height
{health=0}

Mais ou menos isso no movimento!

Dark Holy Devil

Número de Mensagens : 59
Idade : 21
Data de inscrição : 13/06/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.geekhouse.xpg.com

Voltar ao Topo Ir em baixo

Resolvido Re: Bug de colisão

Mensagem por WellingtonBecker em Seg 04 Nov 2013, 23:22

Parece que o código do seu player esta bom. Cada bloco do jogo é um objeto ou tileset com objeto invisível?

WellingtonBecker

Ranking : Nota D
Número de Mensagens : 820
Idade : 35
Data de inscrição : 09/05/2013
Notas recebidas : D
Reputação : 105
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Bug de colisão

Mensagem por Willy em Seg 04 Nov 2013, 23:59

Acho que você não viu a minha mão. bravo
Isso é problema na mask porque ela não é retangular, o que pode ser provado com o seguinte trecho de código:

if (vspeed<0)  && (global.lado==1)
 {
   sprite_index=spr_Bruce_puld1;        
   mask_index=spr_Bruce_puld1_mask
 }

Retire todos estes mask_index do seu código e coloque uma única máscara para este objeto. Lembre-se que ela deve ser lisa, ou seja, um retângulo e aplique no objeto nas configurações básicas do objeto (logo abaixo de onde se põe o parent).

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: Bug de colisão

Mensagem por Dark Holy Devil em Ter 05 Nov 2013, 20:40

WellingtonBecker
Cada bloco que utilizo é um objeto com um parent invisivel.
Willy
Já tentei fazer isso, mas parece que não deu muito certo =s

Dark Holy Devil

Número de Mensagens : 59
Idade : 21
Data de inscrição : 13/06/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.geekhouse.xpg.com

Voltar ao Topo Ir em baixo

Resolvido Re: Bug de colisão

Mensagem por WellingtonBecker em Ter 05 Nov 2013, 22:37

Dark Holy Devil escreveu:WellingtonBecker
Cada bloco que utilizo é um objeto com um parent invisivel.
Será que você não pode passar sua engine para tentar desvendar o problema? Ficaria mais fácil.

WellingtonBecker

Ranking : Nota D
Número de Mensagens : 820
Idade : 35
Data de inscrição : 09/05/2013
Notas recebidas : D
Reputação : 105
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Bug de colisão

Mensagem por Dark Holy Devil em Ter 05 Nov 2013, 23:24

WellingtonBecker escreveu:
Dark Holy Devil escreveu:WellingtonBecker
Cada bloco que utilizo é um objeto com um parent invisivel.
Será que você não pode passar sua engine para tentar desvendar o problema? Ficaria mais fácil.
Consegui resolver o problema! Era o tamanho diferente das sprites, deixei todas num tamanho só, mesmo sobrando partes em algumas delas, depois removi os mask_index.
Muitíssimo obrigado pela a ajuda de vocês!

Dark Holy Devil

Número de Mensagens : 59
Idade : 21
Data de inscrição : 13/06/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.geekhouse.xpg.com

Voltar ao Topo Ir em baixo

Resolvido Re: Bug de colisão

Mensagem por Conteúdo patrocinado Hoje à(s) 15:45


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