[Ajuda] Qual a melhor forma de colisão?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [Ajuda] Qual a melhor forma de colisão?

Mensagem por loganout em Dom 17 Nov 2013, 11:06

Já pesquisei e usei várias várias formas de se fazer uma colisão, mas percebo uma falha, pequena, mas se prestar atenção na movimentação do player incomoda.
Então, gostaria de uma indicação para uma colisão perfeita, tanto vertical quanto horizontal.

Meu game é de Tiro em plataforma
Dispositivo android.

PS: Estarei deixando aqui uma indicação de uma mesa digitalizadora que uso para criar meus desenhos (Sprites) muito boa.
é uma Wacom Intuos Creative Pen & Touch Tablet CTH 480L, para quem estiver a procura recomendo...


Última edição por loganout em Dom 17 Nov 2013, 18:05, editado 1 vez(es)

loganout

Número de Mensagens : 63
Data de inscrição : 10/04/2012
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.ihebhost.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Ajuda] Qual a melhor forma de colisão?

Mensagem por Alex FC em Dom 17 Nov 2013, 11:10

Acho que a engine de movimento limpo, do nosso ilustre Willy pode te ajudar:

http://gmbr.forumeiros.com/t27557-engine-movimento-limpo-20-willy

Está muito bem feita e comentada.

Aproveite para aprender esta técnica suprema desse mito que é o Willy Wonka. xD

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Ajuda] Qual a melhor forma de colisão?

Mensagem por loganout em Dom 17 Nov 2013, 11:40

Só roda no game maker 8 o meu é Studio ! =(
Existe alguma forma de criar uma compatibilidade ?

loganout

Número de Mensagens : 63
Data de inscrição : 10/04/2012
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.ihebhost.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Ajuda] Qual a melhor forma de colisão?

Mensagem por Alex FC em Dom 17 Nov 2013, 11:45



1 - Clique na aba Import;
2 - Selecione o tipo a ser importado: gm6;*.gmk;*.gm81;
3 - Abra a engine clicando em "..."
4 - Clique no botão Import e pronto.


FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Ajuda] Qual a melhor forma de colisão?

Mensagem por loganout em Dom 17 Nov 2013, 12:11

Obrigado,
Eu baixei o 8 mas está com erro quando inicia o game.

ERROR in
action number 1
of  Step Event
for object o_jog1:

Illegal argument count calling script "scr_hspeed".
Script requires 3 arguments, 1 have been supplied.

Imagem do erro:

E no game maker Studio mostra assim:

In object o_professor, event Alarm 1, action 1 at line 1: Unknown function or script: window_set_visible
In object o_professor, event Step, action 2 at line 30: Unknown function or script: window_set_visible
In Room room0, Room creation Code, at line 2: Unknown function or script: show_info

Alguém já testou essa engine e nunca reclamou esse erro?
estranho hehehe !

loganout

Número de Mensagens : 63
Data de inscrição : 10/04/2012
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.ihebhost.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Ajuda] Qual a melhor forma de colisão?

Mensagem por Alex FC em Dom 17 Nov 2013, 12:44

É mais fácil fazer uma nova engine, do que arrumar esse erros. Fiz uma rapidão aqui, com o básico:

https://dl.dropboxusercontent.com/u/38428395/Engines/plataforma_limpa.gmk

Espero que te ajude, está bem comentada. O movimento é perfeito e limpo, sem bugs na colisão com os blocos. Funciona bem no GM:S e no 8 também.

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Ajuda] Qual a melhor forma de colisão?

Mensagem por loganout em Dom 17 Nov 2013, 14:38

Show, obrigado ficou bem suave a colisão e movimentação.
Aproveitando sem querer abusar,
Sabe onde posso encontrar sobre multi touch?
Fiz objetos de botões para que meu personagem ande para direita, esquerda, cima (se esconde), botões para atirar e saltar.

Porem ele só faz uma coisa de cada vez hehe é burrinho ainda. Quando estou andando ele não salta para frente e o salto é somente para cima. não atira andando etc, como disse uma coisa de cada vez =)

loganout

Número de Mensagens : 63
Data de inscrição : 10/04/2012
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.ihebhost.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Ajuda] Qual a melhor forma de colisão?

Mensagem por Alex FC em Dom 17 Nov 2013, 14:48

Cara, tem na documentação ai na parte Reference -> Mouse, Keyboard and Other Controls -> Device Input, é só jogar no Google Translate e seguir os exemplos. É assim que fui aprendendo a mexer Very Happy

Qualquer coisa de não conseguir, posta aqui de novo.

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Ajuda] Qual a melhor forma de colisão?

Mensagem por loganout em Dom 17 Nov 2013, 16:31

Puts, valeu pela dica dessa documentação. encontrei e consegui fazer o que queria...

Para ajudar a outros colocarei aqui o que fiz hoje com sua ajuda...
Baixei sua Engine e modifiquei a tecla de movimentação para letras, só por preferência minha...

Ficando assim::
//Direita
if keyboard_check(ord("D"))
{
   xspeed = 5;
   image_xscale = 1;
}
//Esquerda
else if keyboard_check(ord("A"))
{
   xspeed = -5;
   image_xscale = -1;
}
Procurando nas referências, encontrei sobre virtual keys e criei um objeto para cada controle, por exemplo:

No Create de cada um coloquei:
Botão Esquerdo:
///Desenha o virtual key
display_set_gui_size(960,540)//960 é largura e 540 é altura da minha view

global.moveLeft = virtual_key_add(256,480,64,64,ord("D"))//desenha a área do toque 256 é a posição X e 480 a posição Y, 64 largura e 64 altura

virtual_key_show(global.moveLeft);//mostra o virtual key na tela, mas fica branco pelo que entendi é só para testar posição
Botão Direito:
///Desenha o virtual key
display_set_gui_size(960,540)//960 é largura e 540 é altura da minha view

global.moveRight = virtual_key_add(64,480,64,64,ord("A"))//desenha a área do toque 64 é a posição X e 480 a posição Y, 64 largura e 64 altura

virtual_key_show(global.moveRight);//mostra o virtual key na tela, mas fica branco pelo que entendi é só para testar posição
Com isso da pra ter um exemplo de como ficou aqui.

Obrigado pela ajuda e espero que isso ajude também outras pessoas.

loganout

Número de Mensagens : 63
Data de inscrição : 10/04/2012
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.ihebhost.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Ajuda] Qual a melhor forma de colisão?

Mensagem por Willy em Dom 17 Nov 2013, 19:47

loganout escreveu:

loganout escreveu:Obrigado,
Eu baixei o 8 mas está com erro quando inicia o game.

ERROR in
action number 1
of  Step Event
for object o_jog1:

Illegal argument count calling script "scr_hspeed".
Script requires 3 arguments, 1 have been supplied.

Imagem do erro:

E no game maker Studio mostra assim:

In object o_professor, event Alarm 1, action 1 at line 1: Unknown function or script: window_set_visible
In object o_professor, event Step, action 2 at line 30: Unknown function or script: window_set_visible
In Room room0, Room creation Code,  at line 2: Unknown function or script: show_info

Alguém já testou essa engine e nunca reclamou esse erro?
estranho hehehe !
Este erro acontece porque fiz uma "pseudo gambiarra" achando que não daria problema... Simplesmente fiz um script que tem apenas 1 argumento obrigatório e 2 opcionais, ou seja, tem vários scripts faltando argumentos... NO GM8 funciona perfeitamente, mas no 8.1 e no GMS não dá certo. Enfim... Corrigi o problema atualizando-o.
Os erros "Unknown function" acontecem por serem funções obsoletas no GMS, ou seja, são funções que foram retiradas... Portanto, fiz uma versão especial para o GMS.

Agora você pode baixar a nova versão clicando aqui.
Flws... blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

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

Voltar ao Topo Ir em baixo

Resolvido Re: [Ajuda] Qual a melhor forma de colisão?

Mensagem por Conteúdo patrocinado Hoje à(s) 16:23


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum