GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Colisão entre dois objetos

2 participantes

Ir para baixo

Colisão entre dois objetos Empty Colisão entre dois objetos

Mensagem por Kol Sáb 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
Kol

Data de inscrição : 11/09/2013
Reputação : 8
Número de Mensagens : 56
Prêmios : Colisão entre dois objetos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Colisão entre dois objetos Empty Re: Colisão entre dois objetos

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

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : Colisão entre dois objetos Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

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

Ir para o topo Ir para baixo

Colisão entre dois objetos Empty Re: Colisão entre dois objetos

Mensagem por Kol Sáb 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á:

Colisão entre dois objetos GhqI3tQ

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

Edit: Com o inimigo e personagem da certo, mas os dois draw não da ¬¬
Kol
Kol

Data de inscrição : 11/09/2013
Reputação : 8
Número de Mensagens : 56
Prêmios : Colisão entre dois objetos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Colisão entre dois objetos Empty Re: Colisão entre dois objetos

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

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : Colisão entre dois objetos Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

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

Ir para o topo Ir para baixo

Colisão entre dois objetos Empty Re: Colisão entre dois objetos

Mensagem por Kol Sáb 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
Kol

Data de inscrição : 11/09/2013
Reputação : 8
Número de Mensagens : 56
Prêmios : Colisão entre dois objetos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Colisão entre dois objetos Empty Re: Colisão entre dois objetos

Mensagem por Willy Sáb 14 Set 2013, 16:34

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

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : Colisão entre dois objetos Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

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

Ir para o topo Ir para baixo

Colisão entre dois objetos Empty Re: Colisão entre dois objetos

Mensagem por Kol Sáb 14 Set 2013, 17:36

Achei aki image_xscale e image_yscale
Kol
Kol

Data de inscrição : 11/09/2013
Reputação : 8
Número de Mensagens : 56
Prêmios : Colisão entre dois objetos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Colisão entre dois objetos Empty Re: Colisão entre dois objetos

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos