Problemas com colisão!

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

Problemas com colisão!

Mensagem por The_Game em Seg 12 Mar 2012, 15:32

Desculpa estar aqui de novo , mas eu estou com um problema que nao consigo resolver , nao dá de jeito nenhum , eu ia deixar ele mesmo no jogo , mas cabei de me irritar por que deixa o jogo até que "chato" que é o problema da colisão , não sei porque mas quando eu toco nos blocos , aa nao sei esplicar muito bem , mas ele fica meio que 'flutuando' as veses em alguns blocos , na hora de pular um a um , que estao um do lado do outro ele pula meio que prendendo , as veses nao passa em um espaço pequeno , mas que ele cabe e é basicamente isso , a mask dele é exatamente igual ele , só que preta , e a colisão com o bloco é esta
Código:
move_contact_solid(direction,12)
vspeed=0
Agradeço já obrigado!

The_Game

Ranking : Nota C
Número de Mensagens : 149
Data de inscrição : 12/10/2011
Notas recebidas : C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Problemas com colisão!

Mensagem por saim em Seg 12 Mar 2012, 16:45

Mostre o código de movimentação.
E você esqueceu de zerar a gravidade. Não acho que esse seja o problema, mas é bom já mencionar isso.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Problemas com colisão!

Mensagem por The_Game em Seg 12 Mar 2012, 17:46

aqui está :
Código:
if place_free(x,y+2){gravity=1}else{gravity=0}


if mouse_x > x {direita=true}else{direita=false}
if direita=true{image_xscale=1}else{image_xscale=-1}
if reload=false {if mouse_check_button(mb_left) and pd=true and global.bala>0 and congelado=false and agaixado=false{instance_create(x,y-32,obj_bullet) pd=false alarm[0]=25 global.bala-=1 if direita=true{instance_create(x+32,y-32,obj_ft)}else{instance_create(x-32,y-32,obj_ft)}}}
if reload=false {if mouse_check_button(mb_right) and pdd=true and granada>0 and congelado=false and agaixado=false{instance_create(x,y-32,obj_granada) pdd=false alarm[4]=25 granada-=1 }}
if keyboard_check(ord("D")) and congelado=false and agaixado=false{x+=7 sprite_index=spr_player_a parado=false}
if keyboard_check(ord("A")) and congelado=false and agaixado=false{x-=7 sprite_index=spr_player_a parado=false}
if keyboard_check_released(ord("D")){sprite_index=spr_player }
if keyboard_check_released(ord("A")){sprite_index=spr_player}

if keyboard_check(ord("S")){agaixado=true sprite_index=spr_player_abaixado}
if keyboard_check_released(ord("S")){agaixado=false sprite_index=spr_player}
if keyboard_check_pressed(vk_space) and vspeed=0 and congelado=false{vspeed=-13}
if reload = false and keyboard_check(ord("R")) and congelado=false{global.bala=30 reload=true sprite_index=spr_reload alarm[3]=90}

if congelado=true{sprite_index=spr_player_cong}
if health<1{lives-=1 room_restart()}
if lives<0{game_end()}

if agaixado=true{mask_index=mask_agaixado}else{mask_index=sprite58}
EDIT :
Eu troquei o código por isso e funcionou :
if keyboard_check(ord("D")) and congelado=false and agaixado=false and place_free(x+7,y){x+=7 sprite_index=spr_player_a parado=false}
if keyboard_check(ord("A")) and congelado=false and agaixado=false and place_free(x+7,y){x-=7 sprite_index=spr_player_a parado=false}
de qualquer forma obrigado , mas se tiver outra maneira pf fala ai

The_Game

Ranking : Nota C
Número de Mensagens : 149
Data de inscrição : 12/10/2011
Notas recebidas : C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Problemas com colisão!

Mensagem por Conteúdo patrocinado Hoje à(s) 19:59


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