Entrar
Últimos assuntos
» Problema ao entrar por uma porta e voltar por elapor macmilam Ontem à(s) 12:17
» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43
» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» 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
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
como fazer uma colisao em códigos
3 participantes
Página 1 de 1
como fazer uma colisao em códigos
bom.. a pergunta ta no nome do tópico XD
makgamer- Games Ranking :
Notas recebidas : D
Data de inscrição : 29/03/2009
Reputação : 7
Número de Mensagens : 941
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- Unity
- Java
- C#
- Javascript
- RPG Maker
- C ou C++
- Outros
Re: como fazer uma colisao em códigos
- Código:
Vc pode usar x+1 p/colisionar na direita,x-1 p/esquerda e etc...
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: como fazer uma colisao em códigos
Bom voce tambem pode usar cálculos matemáticos. Podemos usar a formula da distancia. Primeiro clique no botão CENTER la na definição do sprite.
Depois supondo que tenhamos 2 objetos: ob1 e ob2. E que eles tenham 32 x 32 de tamanho. Sabento que os pontos estão centralizados basta usar o teorema de Pitágoras no Evento Step:
Depois supondo que tenhamos 2 objetos: ob1 e ob2. E que eles tenham 32 x 32 de tamanho. Sabento que os pontos estão centralizados basta usar o teorema de Pitágoras no Evento Step:
- Código:
h := sqrt(abs(ob2.x - ob1.x) + abs(ob2.y - ob1.y));
if ( h < 16)
{
//colisao aqui
}
Re: como fazer uma colisao em códigos
eu me interesso...
vc pode postar?
vc pode postar?
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: como fazer uma colisao em códigos
Claro!, então a colisão baseada em bounding boxes é o tipo usado pelo GM quando voce nao seleciona "Precise Collision Check". Mas podemos fazer uma um pouco mais simples criando um script assim:
Crie um novo script e o chame de "colidindo"
Coloque este código:
Além disso ela é projetada pra ser rapida pois ja da retorno tao logo verifique a impossibilidade de colisao.
Assim voce pode criar o seu proprio evento de colisão.
obs: Voce precisa das "instancia" e não do "objeto" por isso usei o "'.id"
Crie um novo script e o chame de "colidindo"
Coloque este código:
- Código:
var ob1, ob2, sp1, sp2, w1, w2, h1, h2;
ob1 = argument0;
ob2 = argument1;
sp1 = ob1.sprite_index;
sp2 = ob2.sprite_index;
w1 = sprite_get_width(sp1);
w2 = sprite_get_width(sp2);
h1 = sprite_get_height(sp1);
h2 = sprite_get_height(sp2);
if (ob1.x + w1 < ob2.x) return false;
if (ob1.y + h1 < ob2.y) return false;
if (ob1.x > ob2.x + w2) return false;
if (ob1.y > ob2.y + h2) return false;
return true;
- Código:
if (colidindo(obj1.id, obj2.id))
{
//faça algo caso esteja colidindo.
}
Além disso ela é projetada pra ser rapida pois ja da retorno tao logo verifique a impossibilidade de colisao.
Assim voce pode criar o seu proprio evento de colisão.
obs: Voce precisa das "instancia" e não do "objeto" por isso usei o "'.id"
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|