Conectar-se
Quem está conectado
20 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 20 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 25/02/2012
Número de Mensagens : 359
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 15

Prêmios
   : 0
   : 1
   : 1
Ver perfil do usuário

Duvida com colisao...sempre tive essa duvida...

em Qui 26 Jul 2012, 02:57
Sempre tive essa duvida de colisao nunca consegui faser...

Bom, é o seguinte
Tenho dois objetos o player e o bloco, o bloco é uma sprite 32x32 preta so pra testes por enquanto.
Queria que quando o player colidise com o obj_bloco, ele nao passase por cima do bloco nem ficasse grudado, se ele tivesse na direçao "esquerda para a direita" e colidisse com o bloco ele pudece andar normalmente para as direcoes livres" para cima e para baixo o voltar" sem ficar grudado no bloco.
Aqui tem uma engine para demonstrar oque eu quero so que no bloco ou na colisao do player com o bloco nao tem nenhum codigo:
Engine
avatar
Ranking : Nota A
Notas recebidas : A+A
Data de inscrição : 20/03/2010
Número de Mensagens : 1134
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 108

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttps://www.facebook.com/seito.washiro.7

Re: Duvida com colisao...sempre tive essa duvida...

em Qui 26 Jul 2012, 03:03
use variaveis temporarias para checar a colisão
isso sempre funciona e nunca gruda
ex:
Código:

var nx,ny,vel;vel=5;
nx=x+(keyboard_check(vk_right)-(keyboard_check(vk_left)))*vel;
ny=y+(keyboard_check(vk_down)-(keyboard_check(vk_up)))*vel;

if(place_free(nx,y))x=nx;
if(place_free(x,ny))y=ny;
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 25/02/2012
Número de Mensagens : 359
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 15

Prêmios
   : 0
   : 1
   : 1
Ver perfil do usuário

Re: Duvida com colisao...sempre tive essa duvida...

em Qui 26 Jul 2012, 03:15

Funcionou corretamente, mas no meu jogo to usando uma lib que encontrei aqui no forum para o player anda em um grid vertical e horizontal.
o movimento do player é dentro dessa lib por dra&drop, nao funcionou no jogo mas gostei muito desse seu codigo perfeito, obrigado Jiraya Meus parabens você é muito bom em GML.
Obrigado...
Aaa adicionei seu codigo na colisao do obj_player com o obj_bloco, devi se o local certo pq funcionou blz...

Off: Vou dormir amanha continuo
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 10/07/2012
Número de Mensagens : 621
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 35

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.craftstudios.com.br

Re: Duvida com colisao...sempre tive essa duvida...

em Seg 06 Ago 2012, 16:42
descul-pe me se estiver revivendo o topico mas, por exemplo como eu posso adaptar esse codigo a colisao de um inimigo com um bloco solido! pq nesse caso e do player com um bloco solido! pq no meu jogo aki qunato mais rapido fika o inimigo quando ele colide com o bloco solido fika grudado!
avatar
Ranking : Nota D
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Número de Mensagens : 712
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuário

Re: Duvida com colisao...sempre tive essa duvida...

em Seg 06 Ago 2012, 17:43
Código:
var nx,ny,vel;vel=5;
nx=x+(keyboard_check(vk_right)-(keyboard_check(vk_left)))*vel;
ny=y+(keyboard_check(vk_down)-(keyboard_check(vk_up)))*vel;

if(place_empty(nx,y))x=nx;
if(place_empty(x,ny))y=ny;

Tente isso deve funcionar;
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 10/07/2012
Número de Mensagens : 621
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 35

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.craftstudios.com.br

Re: Duvida com colisao...sempre tive essa duvida...

em Seg 06 Ago 2012, 18:38
mano eu disse inimigocomo inimigo pode usar keyboard? agente controla e so o player!
avatar
Data de inscrição : 19/01/2011
Número de Mensagens : 204
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Duvida com colisao...sempre tive essa duvida...

em Seg 06 Ago 2012, 20:32
(Já que reviveram msm)Eu tava vendo aqui, e não entendi uma parte, o que acontece na subtração do keyboard_check?Alguem poderia explicar?
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum