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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


[DÚVIDA] Colisão de objeto afetar apenas um

3 participantes

Ir para baixo

[DÚVIDA] Colisão de objeto afetar apenas um Empty [DÚVIDA] Colisão de objeto afetar apenas um

Mensagem por Dragonrod Qua 28 Jun 2017, 22:32

Olá a todos os membros, tudo bem?

Tenho uma dúvida recorrente há algum tempo e não encontrei nenhum modo de sequer procurar como fazer isso...

Vou tentar demonstrar minha dúvida ilustrando-a nesta imagem:
[DÚVIDA] Colisão de objeto afetar apenas um Ayudameeee_by_dragonrod342-dbeeb72

Em um código de colisão comum, os objetos verde e azul estariam colidindo com o ataque em vermelho, então ambos tomariam dano, porém, gostaria de saber como faço para este mesmo ataque atingir apenas um dos alvos de cada vez, seja o que estiver mais próximo, ou o que estiver com o depth maior/menor, ou qualquer modo mais fácil/prático que vossas senhorias conhecerem.

Espero não ter feito essa explicação muito confusa XD
Agradeço-lhes desde já
Dragonrod
Dragonrod

Games Ranking : Sem avaliações

Data de inscrição : 28/06/2017
Reputação : 0
Número de Mensagens : 5
Prêmios : [DÚVIDA] Colisão de objeto afetar apenas um 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

https://dragonrod342.deviantart.com/

Ir para o topo Ir para baixo

[DÚVIDA] Colisão de objeto afetar apenas um Empty Re: [DÚVIDA] Colisão de objeto afetar apenas um

Mensagem por Thiago Jaqueta Qui 29 Jun 2017, 02:48

Ao invés de usar um evento de colisão, cheque pela colisão no step do seu inimigo. Caso tenha colisão e o ataque ainda não tenha acertado ninguem, o inimigo vai determinar que o ataque ja acertou alguem.
Código:

var attack_hit;
attack_hit=instance_place(x,y,obj_attack); //Diferente do place_meeting que só retorna boolean, esta função retorna o ID do ataque

if (attack_hit!=noone) //Se tem colisão com alguem
{
    if (attack_hit.hit == false) //Se o ataque ainda não atingiu ninguem
    {
        hp-=attack_hit.damage; //Tira HP...
        hspeed=attack_hit.knockback*sign(x-attack_hit.x); //Aplica knockback etc...
        with(attack_hit)
        {
            hit=true; //E determina que esse ataque ja acertou alguém, caso algum outro inimigo seja atingido por ele, nada vai acontecer por causa da linha 6.
            instance_destroy(); //E talvez seja uma boa ideia destruir o ataque pra evitar que acerte mais inimigos nos próximos steps
        }
    }
}

GL! [DÚVIDA] Colisão de objeto afetar apenas um 31640
Thiago Jaqueta
Thiago Jaqueta

Games Ranking : Sem avaliações

Data de inscrição : 29/06/2017
Reputação : 7
Número de Mensagens : 8
Prêmios : [DÚVIDA] Colisão de objeto afetar apenas um 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

https://discord.gg/9VuJYjr

Ir para o topo Ir para baixo

[DÚVIDA] Colisão de objeto afetar apenas um Empty Re: [DÚVIDA] Colisão de objeto afetar apenas um

Mensagem por Leandro Nery Qui 06 Jul 2017, 00:30

Boa noite. Não entendi o que significa attack_hit.hit na 6 linha. Esse hit.hit não consegui entender
Leandro Nery
Leandro Nery

Data de inscrição : 10/01/2013
Reputação : 0
Número de Mensagens : 1
Prêmios : [DÚVIDA] Colisão de objeto afetar apenas um 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

[DÚVIDA] Colisão de objeto afetar apenas um Empty Re: [DÚVIDA] Colisão de objeto afetar apenas um

Mensagem por Thiago Jaqueta Qui 06 Jul 2017, 02:13

Leia o código de novo. O attack_hit é uma variável temporária que contem o ID do objeto do ataque (ID é um numero de identificação próprio de cada objeto, tipo um CPF dele :v).

A variavel "hit" do nosso objeto de ataque, determina se o ataque já atingiu alguém ou não. A linha 6 checa isso e caso seja seja falso, ele vai transformar em verdadeiro, para garantir que outro objeto NÃO leve hit dele também. Entendeu agora?
Thiago Jaqueta
Thiago Jaqueta

Games Ranking : Sem avaliações

Data de inscrição : 29/06/2017
Reputação : 7
Número de Mensagens : 8
Prêmios : [DÚVIDA] Colisão de objeto afetar apenas um 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

https://discord.gg/9VuJYjr

Ir para o topo Ir para baixo

[DÚVIDA] Colisão de objeto afetar apenas um Empty Re: [DÚVIDA] Colisão de objeto afetar apenas um

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