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


[Resolvido] Colisão com formas do Draw

3 participantes

Ir para baixo

[Resolvido] Colisão com formas do Draw Empty [Resolvido] Colisão com formas do Draw

Mensagem por Golpe Baixo Sáb 19 Nov 2011, 14:38

Eai pessoal!

Estou desenvolvendo um projeto cujo objetivo do jogador é não ser pego pelas câmeras.

Para criar o campo de visão da câmera, criei um objeto que não usa sprite, mas para representá-lo, criei um desenho a partir do comando draw_line_color().

O que eu quero, é que quando o objeto do jogador colidir com esse desenho, ele se auto-destroir, para isso, usei o comando instance_destroy(). Tudo deveria acontecer do jeito que esperava, mas não aconteceu. Simplesmente o objeto do jogador ignora esse evento, e percorre a fase como se não houvesse o evento de colisão.

Gostaria que alguém me ajudasse a solucionar esse problema.

Código-Fonte




Até!


Última edição por Golpe Baixo em Dom 20 Nov 2011, 15:41, editado 2 vez(es)
Golpe Baixo
Golpe Baixo

Games Ranking : Sem avaliações

Notas recebidas : A
Data de inscrição : 01/10/2011
Reputação : 4
Número de Mensagens : 284
Prêmios : [Resolvido] Colisão com formas do Draw 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://caiqueluzsilva.wordpress.com/

Ir para o topo Ir para baixo

[Resolvido] Colisão com formas do Draw Empty Re: [Resolvido] Colisão com formas do Draw

Mensagem por Convidad Sáb 19 Nov 2011, 15:21

Você pode criar uma sprite similar a forma que é criada no draw,caso o draw line seja fixo. Assim pode usa-lo como máscara.......
Mas caso queira algo mas automático teras que usar o x é y do objeto é calcular o raio e redimensionar uma sprite de máscara.
flw
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

[Resolvido] Colisão com formas do Draw Empty Re: [Resolvido] Colisão com formas do Draw

Mensagem por Golpe Baixo Sáb 19 Nov 2011, 15:37

TRFN escreveu:Você pode criar uma sprite similar a forma que é criada no draw,caso o draw line seja fixo. Assim pode usa-lo como máscara.......
Mas caso queira algo mas automático teras que usar o x é y do objeto é calcular o raio e redimensionar uma sprite de máscara.
flw

Creio que desse jeito vai ser complicado de mais, pois o comando draw_line_color() não é fixo porque os argumentos mudam de acordo com o movimento de um outro objeto. Segue o código-fonte do protótipo do projeto:

Download
Golpe Baixo
Golpe Baixo

Games Ranking : Sem avaliações

Notas recebidas : A
Data de inscrição : 01/10/2011
Reputação : 4
Número de Mensagens : 284
Prêmios : [Resolvido] Colisão com formas do Draw 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://caiqueluzsilva.wordpress.com/

Ir para o topo Ir para baixo

[Resolvido] Colisão com formas do Draw Empty Re: [Resolvido] Colisão com formas do Draw

Mensagem por PedroX Sáb 19 Nov 2011, 15:54

Basta usar collision_line. Vou explicar.
No seu jogo você desenhou várias linhas e isso complica.

Essa é a função:
collision_line(x1,y1,x2,y2,obj,prec,notme)

Ela checa se há uma instância do objeto obj entre os dois pontos.

Prec = Se quer que colida com a sprite coloque 1, mas se quiser que colida com a Bounding Box, coloque 0.

Notme = coloque 1 para que ignore o objeto que chamou a função

Então coloque no Objeto Linha:
Código:
if collision_line(x_inicial_linha,y_inicial_linha,x_final_linha,y_final_linha, obj_player, 0, 1){
with(player) instance_destroy();
}

_________________


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:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6086
Prêmios : [Resolvido] Colisão com formas do Draw Empty

Medalhas x 0 Tutoriais x 17 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://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

[Resolvido] Colisão com formas do Draw Empty Re: [Resolvido] Colisão com formas do Draw

Mensagem por Golpe Baixo Sáb 19 Nov 2011, 23:47

Pedrø escreveu:Basta usar collision_line. Vou explicar.
No seu jogo você desenhou várias linhas e isso complica.

Essa é a função:
collision_line(x1,y1,x2,y2,obj,prec,notme)

Ela checa se há uma instância do objeto obj entre os dois pontos.

Prec = Se quer que colida com a sprite coloque 1, mas se quiser que colida com a Bounding Box, coloque 0.

Notme = coloque 1 para que ignore o objeto que chamou a função

Então coloque no Objeto Linha:
Código:
if collision_line(x_inicial_linha,y_inicial_linha,x_final_linha,y_final_linha, obj_player, 0, 1){
with(player) instance_destroy();
}

Vamos dizer que deu meio certo. Usei esse código para o campo de visão da Câmera 1 e funcionou perfeitamente. Já quando usei na Câmera 2, não funcionou. Creio que se você baixar (vide mensagem principal) e analisar o código-fonte do protótipo, acho que seria mais fácil me ajudar.




Até!
Golpe Baixo
Golpe Baixo

Games Ranking : Sem avaliações

Notas recebidas : A
Data de inscrição : 01/10/2011
Reputação : 4
Número de Mensagens : 284
Prêmios : [Resolvido] Colisão com formas do Draw 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://caiqueluzsilva.wordpress.com/

Ir para o topo Ir para baixo

[Resolvido] Colisão com formas do Draw Empty Re: [Resolvido] Colisão com formas do Draw

Mensagem por diego333 Dom 20 Nov 2011, 12:12

o collision_line nao iria funcionar pq ele só 'colide' com outras sprites e nao com outros 'collision_line' ou seja vc teria que usar apenas um collision_line ... ou sprites mesmo
avatar
diego333

Data de inscrição : 06/10/2010
Reputação : 3
Número de Mensagens : 84
Prêmios : [Resolvido] Colisão com formas do Draw 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

[Resolvido] Colisão com formas do Draw Empty Re: [Resolvido] Colisão com formas do Draw

Mensagem por Golpe Baixo Dom 20 Nov 2011, 14:16

diego333 escreveu:o collision_line nao iria funcionar pq ele só 'colide' com outras sprites e nao com outros 'collision_line' ou seja vc teria que usar apenas um collision_line ... ou sprites mesmo

Sim, o objeto que chama essa função não tem sprites, mas o objeto do jogador, que é o objeto a ser checado a colisão usa sprites sim.
Golpe Baixo
Golpe Baixo

Games Ranking : Sem avaliações

Notas recebidas : A
Data de inscrição : 01/10/2011
Reputação : 4
Número de Mensagens : 284
Prêmios : [Resolvido] Colisão com formas do Draw 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://caiqueluzsilva.wordpress.com/

Ir para o topo Ir para baixo

[Resolvido] Colisão com formas do Draw Empty Re: [Resolvido] Colisão com formas do Draw

Mensagem por PedroX Dom 20 Nov 2011, 14:58

Primeiramente, substitui aquele monte de draw_line_color por um único draw_triangle_color. Se quiser do outro jeito, não tem problema.

Eu usei um script chamado point_in_triangle e adaptei ao seu jogo, testando as colisões com base na bbox do sprite.

Problema resolvido:
http://dl.dropbox.com/u/38888521/PROJETO.gmk

_________________


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:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6086
Prêmios : [Resolvido] Colisão com formas do Draw Empty

Medalhas x 0 Tutoriais x 17 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://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

[Resolvido] Colisão com formas do Draw Empty [Resolvido] Colisão com formas do Draw

Mensagem por Golpe Baixo Dom 20 Nov 2011, 15:40

Pedrø escreveu:Primeiramente, substitui aquele monte de draw_line_color por um único draw_triangle_color. Se quiser do outro jeito, não tem problema.

Eu usei um script chamado point_in_triangle e adaptei ao seu jogo, testando as colisões com base na bbox do sprite.

Problema resolvido:
http://dl.dropbox.com/u/38888521/PROJETO.gmk

Opa!

Cara, muito obrigado. Funcionou perfeitamente, do jeito que eu queria. Sobre o modo que você solucionou o problema, está muito melhor do que antes, agora o código se resumiu em uma linha, e com o script ponto_triangulo() que você criou, ficou muito mais fácil fazer algo do tipo em outras situações semelhantes.

Mais uma vez, muito obrigado!

Podem trancar o tópico!




Até!
Golpe Baixo
Golpe Baixo

Games Ranking : Sem avaliações

Notas recebidas : A
Data de inscrição : 01/10/2011
Reputação : 4
Número de Mensagens : 284
Prêmios : [Resolvido] Colisão com formas do Draw 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://caiqueluzsilva.wordpress.com/

Ir para o topo Ir para baixo

[Resolvido] Colisão com formas do Draw Empty Re: [Resolvido] Colisão com formas do Draw

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