Colisão entre dois objetos

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

Colisão entre dois objetos

Mensagem por Kol 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 ?

Kol

Número de Mensagens : 56
Data de inscrição : 11/09/2013
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Colisão entre dois objetos

Mensagem por Willy 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!

___________


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

Re: Colisão entre dois objetos

Mensagem por Kol 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 ¬¬

Kol

Número de Mensagens : 56
Data de inscrição : 11/09/2013
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Colisão entre dois objetos

Mensagem por Willy 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...

___________


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

Re: Colisão entre dois objetos

Mensagem por Kol 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 ?

Kol

Número de Mensagens : 56
Data de inscrição : 11/09/2013
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Colisão entre dois objetos

Mensagem por Willy em Sab 14 Set 2013, 16:34

Se usar sprite, é certeza que dá certo... Agora, redimensionar, isso eu não sei não...

___________


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

Re: Colisão entre dois objetos

Mensagem por Kol em Sab 14 Set 2013, 17:36

Achei aki image_xscale e image_yscale

Kol

Número de Mensagens : 56
Data de inscrição : 11/09/2013
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Colisão entre dois objetos

Mensagem por Conteúdo patrocinado Hoje à(s) 22:12


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