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 objetos

5 participantes

Ir para baixo

Colisão entre objetos Empty Colisão entre objetos

Mensagem por Wallacy Sebastian Qui 05 Fev 2009, 13:38

Como faz quando um objeto colidir em um certo lugar do outro objeto esse mesmo objeto se mova? :|
Wallacy Sebastian
Wallacy Sebastian

Data de inscrição : 11/12/2008
Reputação : 0
Número de Mensagens : 121
Prêmios : Colisão entre 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 objetos Empty Re: Colisão entre objetos

Mensagem por Juninho Qui 05 Fev 2009, 16:13

No objeto que vc quer colidir, set o evento colisão com o player, e execute code:

Código:
if (other.x)>x{
x+=SPEED  //em SPEED vc coloca a velocidade do seu personagem qdo anda
}

if (other.x)<x{
x-=SPEED  //em SPEED vc coloca a velocidade do seu personagem qdo anda
}


Espero ter ajudado, flw
Juninho
Juninho

Data de inscrição : 11/08/2008
Reputação : 0
Número de Mensagens : 468
Prêmios : Colisão entre 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 objetos Empty Re: Colisão entre objetos

Mensagem por Gusba Qui 05 Fev 2009, 23:12

vc quer saber o lugar???

use um for aninhado com outro for para varrer a sprite a procura de colisoes, assim vc sabera a posição exata da colisao
Gusba
Gusba

Data de inscrição : 03/08/2008
Reputação : 0
Número de Mensagens : 1156
Prêmios : Colisão entre objetos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

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

http://www.ciganospictures.hd1.com.br

Ir para o topo Ir para baixo

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

Mensagem por Lap1994 Qui 05 Fev 2009, 23:40

KKKKK, juninho q player? Naum tem player é só o objeto xD
Wallacy vc precisa ser mais descritivo. O mais básico é usar as bbox pra se orientar.
No evento de colisão de um objeto com o outro vc pode usar o IF com a bbox pra saber se colidiu emcima, embaixo ou dos lados do outro objeto:
if y<other.bbox_top //emcima
if y>other.bbox_bottom //embaixo
if x>other.bbox_right //a direita
if x<other.bbox_left //a esquerda

Outro caso seria se vc quiser saber se um objeto colidiu em uma area dentro de outro objeto(a bala acertou o olho do chefaum, o unico ponto fraco na maioria das vezes) Aew vc iria precisar usar uma mascara(mask)

E por ultimo pra fazer q um objeto se mova tem inumeras maneiras. Vc precisa ser mais especifico. Pra cima? Pra baixo? Pra direção oposta ao outro objeto? Na direção do outro objeto? Em direção a lua? Ao boteco? A prassa da sé? xD
Lap1994
Lap1994

Data de inscrição : 20/11/2008
Reputação : 0
Número de Mensagens : 350
Prêmios : Colisão entre 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

http://lap1994.deviantart.com/

Ir para o topo Ir para baixo

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

Mensagem por Gusba Sex 06 Fev 2009, 00:05

Outro caso seria se vc quiser saber se um objeto colidiu em uma area dentro de outro objeto(a bala acertou o olho do chefaum, o unico ponto fraco na maioria das vezes) Aew vc iria precisar usar uma mascara(mask)


cara, desenvolvi esse script q salva a posição wolrd de uma colisao:

Código:
for ( h = 0 ; h <= sprite_width ; h += 1 ) {
    for ( v = 0 ; v <= sprite_height ; v += 1 ) {
        if (position_meeting(x + h, y + v, other)) {
            colisao_x = x + h;
            colisao_y = y + v;
        }
    }
}
Gusba
Gusba

Data de inscrição : 03/08/2008
Reputação : 0
Número de Mensagens : 1156
Prêmios : Colisão entre objetos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

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

http://www.ciganospictures.hd1.com.br

Ir para o topo Ir para baixo

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

Mensagem por Lap1994 Sex 06 Fev 2009, 00:22

Naum rola. Há muitos erros alem disso acho q agente devia esperar ele nos dar uma descrição mais descritiva do q deseja.
Lap1994
Lap1994

Data de inscrição : 20/11/2008
Reputação : 0
Número de Mensagens : 350
Prêmios : Colisão entre 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

http://lap1994.deviantart.com/

Ir para o topo Ir para baixo

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

Mensagem por Wallacy Sebastian Sex 06 Fev 2009, 20:31

foi mal não expliquei direito msm :|
por exemplo: o player colide em cima do objeto, aí eu queria que esse objeto fosse
para baixo, tipo se colidir na esquerda o objeto vai pra direita, se a colisão for na direita o objeto vai para a esquerda. Smile
Wallacy Sebastian
Wallacy Sebastian

Data de inscrição : 11/12/2008
Reputação : 0
Número de Mensagens : 121
Prêmios : Colisão entre 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 objetos Empty Re: Colisão entre objetos

Mensagem por Igor KinGamer Sex 06 Fev 2009, 22:58

KKKKK, juninho q player? Naum tem player é só o objeto xD
por exemplo: o player colide em cima do objeto [...]

Hmm, parece que tem player sim.

É só fazer assim:

No evento do player colidir com o objeto, coloque isso:

other.x += hspeed;
other.y += vspeed;

Seu jogo deve ser visto de cima, certo?

Se seu personagem pode andar na diagonal, para evitar erros faça assim:

No evento do player colidir com o objeto:

if ((bbox_right < other.bbox_left) || (bbox_left > other.bbox_right))
other.x += hspeed;
else if ((bbox_bottom < other.bbox_top) || (bbox_top > other.bbox_bottom))
other.y += vspeed;

Não testei mas acho que funciona.
Igor KinGamer
Igor KinGamer

Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios : Colisão entre objetos Empty

Medalhas x 0 Tutoriais x 1 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 objetos Empty Re: Colisão entre objetos

Mensagem por Wallacy Sebastian Sáb 07 Fev 2009, 10:26

vlw Happy
mas o objeto esta movendo só para a direita e para baixo.
como faz pra mover pra esquerda ou pra cima?
Rolling Eyes
Wallacy Sebastian
Wallacy Sebastian

Data de inscrição : 11/12/2008
Reputação : 0
Número de Mensagens : 121
Prêmios : Colisão entre 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 objetos Empty Re: Colisão entre objetos

Mensagem por Gusba Sáb 07 Fev 2009, 13:43

pow cara, examina bem o code, acredito que vc tem capacidade para fazer, queremos que vc aprenda, pelo menos tente!
Gusba
Gusba

Data de inscrição : 03/08/2008
Reputação : 0
Número de Mensagens : 1156
Prêmios : Colisão entre objetos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

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

http://www.ciganospictures.hd1.com.br

Ir para o topo Ir para baixo

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

Mensagem por Wallacy Sebastian Dom 08 Fev 2009, 10:31

[code]

if direita = true{
if ((bbox_right < other.bbox_left) || (bbox_left > other.bbox_right)){
other.x += 5;
}else{
other.x -= 5;
}
}


if baixo = true{
if ((bbox_top < other.bbox_bottom) || (bbox_bottom > other.bbox_top)){
other.y += 5;
}else{
other.y -=5;
}
}
enfim, consegui Very Happy
Wallacy Sebastian
Wallacy Sebastian

Data de inscrição : 11/12/2008
Reputação : 0
Número de Mensagens : 121
Prêmios : Colisão entre 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 objetos Empty Re: Colisão entre 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