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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 11/09/2013
Número de Mensagens : 56
Insígnias de JAM :

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

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

Colisão entre dois objetos

em Sab 14 Set 2013, 02:18
Gostaria de saber se dois objetos estão colidindo por codigo, sem estar no objeto. Por exemplo no step objeto start quero saber se o objeto 1 e objeto 2 estão colidindo, é possivel ?
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Colisão entre dois objetos

em Sab 14 Set 2013, 03:23
É possível sim, e é bem simples. Fiz em forma de script pois é mais fácil do que repetir todo o código várias vezes... Pois bem, segue o script:

scr_isColidindo(obj1,obj2):
Código:
with(argument0){
    return  place_meeting(x,y,argument1);
}
Esse script retorna true ou false, portanto, armazene o valor dele em uma varíavel assim:
Código:
estaColidindo = isColidindo(obj1,obj2);
E é claro, a Engine!
avatar
Data de inscrição : 11/09/2013
Número de Mensagens : 56
Insígnias de JAM :

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

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

Re: Colisão entre dois objetos

em Sab 14 Set 2013, 15:44
Não deu certo, vou te explicar oque está acontecendo:

Eu crio um array com valores

Código:

global.personagem[0,0] = instance_create(80,80,personagem);
global.personagem[0,1] = instance_create(80,80,alcance_ataque);

global.inimigo[0,0] = instance_create(80,80,inimigo);
global.inimigo[0,1] = instance_create(80,80,alcance_ataque);
Ou seja toda vez que eu criar um personagem ou inimigo, vai ter essa area de ataque. Mas queria fazer o global.inimigo[0,1] colidir com o global.personagem[0,1].
Esse alcance_ataque é um draw de um elipse.
Código:

 scr_isColidindo(global._playerz[0,22],global._mobz[0,1]
Não deu certo aki, uma imagem de como está:



----------------------------------------------------

Edit: Com o inimigo e personagem da certo, mas os dois draw não da ¬¬
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Colisão entre dois objetos

em Sab 14 Set 2013, 16:20
Não dá pra fazer colisão com o draw...
Teria que usar funções como collision_elipse, por exemplo. É um pouco complicado de se usar.
Se essa área for um tamanho fixo, você pode desenhar um sprite e colocar como mask, ai pode dar certo, pois o place_meeting precisa de um sprite ou mask pra detectar a colisão.

[Edit] Ragnarok, bons tempos...
avatar
Data de inscrição : 11/09/2013
Número de Mensagens : 56
Insígnias de JAM :

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

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

Re: Colisão entre dois objetos

em Sab 14 Set 2013, 16:31
Bons tempos mesmo xD - Mas enfim, esse collision_elipse, já pensei em usar, mas teria qe ter um collision_elipse em colisão com outro collision_elipse, então nao vai dar certo, mas como vc disse que não dá, pensei em fazer o seguinte, eu faço um sprite de circulo e depois faço um redimensionamento na imagem vertical e horizontal separado, tem como ?
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Colisão entre dois objetos

em Sab 14 Set 2013, 16:34
Se usar sprite, é certeza que dá certo... Agora, redimensionar, isso eu não sei não...
avatar
Data de inscrição : 11/09/2013
Número de Mensagens : 56
Insígnias de JAM :

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

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

Re: Colisão entre dois objetos

em Sab 14 Set 2013, 17:36
Achei aki image_xscale e image_yscale
Conteúdo patrocinado

Re: Colisão entre dois objetos

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