Entrar
Últimos assuntos
» player não consegue andarpor 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
Tutorial: Lógica em jogos de luta (colisões) Parte 1
+2
kevin sousa
Anderson3d
6 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Tutorial: Lógica em jogos de luta (colisões) Parte 1
Olá pessoal tudo bem?
Esse tutorial na verdade é uma aula pra que os iniciantes possam entender como funcionam as colisões nos jogos de luta.
Primeiro devemos analisar o erro mais freqüente nos jogos ou projetos de luta que já vi nesse fórum:
1- Todo o corpo do personagem serve como Mask de impacto tanto de ataque quanto de recebimento.
ex:
Esse ataque pode ser feito por uma única mudança de sprite, ou um novo objeto criado com esse sprite (prefiro usar um novo objeto e usar a opção Parent nas colisões).
ok, vamos raciocinar: Em um jogo de luta que se preze, o único local que poderá acertar o inimigo é a lâmina da espada. E o único lugar que poderá receber impacto do inimigo é o corpo do Ichigo (neste exemplo).
Então qual a solução pra este problema? Pois da forma que está o corpo de Ichigo irá causar dano no inimigo e a espada de Ichigo irá receber dano de um eventual ataque do inimigo.
A solução está em criar sprites externos que irão funcionar como masks (caixas de impacto e colisão).
Fiz a caixa decolisão (vamos chamar assim por enquanto) deste exemplo (caixa rosa- representa área que pode receber impactos do inimigo neste ataque):
Aqui é a caixa de impacto (área que irá causar dano no inimigo durante este ataque):
Perceba que ambas as masks tem o mesmo tamanho da imagem original, afinal, elas irão atuar nas mesmas coordenadas do sprite original (Ichigo)
Agora vcs já devem ter percebido que um jogo de luta é mais complexo em termo de colisões que um jogo normal, pois ele trabalha com duas Masks diferentes, uma de recebimento e outra de ataque. E que o Sprite mostrado é meramente a ilustração do confronto das maskaras dos objetos (personagens).
Mas como então farei pra meu objeto ter duas masks diferentes? calma, se vc acha que está complicado vai piorar hehehe, mas não desista, continue lendo pois esse conhecimento abrirá a sua cabeça em diversas lógicas pra jogos.
O Objeto Ichigo na verdade não terá duas maskaras diferentes, e sim, sempre que fizer um movimento ele criará dois objetos (quando preciso) que farão o papel das maskaras auxiliares. Esses objetos devem ser criados nas mesmas coordenadas do player (Ichigo no caso). na pratica teremos o seguinte:
obs: Diminuí a opacidade das caixas pra que percebam que os 3 objetos trabalham em conjunto.
Os 3 objetos irão aparecer juntos, e sempre que for executado novos movimentos surgirão outros que os substituirão. Resumindo, é extremamente trabalhoso criar jogos de luta no Game Maker, mas não é tão difícil.
Lembrando que a caixa rosa pode passar por cima da vermelha nesse exemplo caso o projetista do jogo queira causar encontro de espadas, então a espada tmb poderá receber dano (mas não é o nosso caso).
Na parte dois deste tutorial irei explicar como coordenar as ações de impactos entre caixas de colisões e de impacto, e com isso fazer o Player mostrar a imagem correta.
Parte 2 aqui!
Esse tutorial na verdade é uma aula pra que os iniciantes possam entender como funcionam as colisões nos jogos de luta.
Primeiro devemos analisar o erro mais freqüente nos jogos ou projetos de luta que já vi nesse fórum:
1- Todo o corpo do personagem serve como Mask de impacto tanto de ataque quanto de recebimento.
ex:
Esse ataque pode ser feito por uma única mudança de sprite, ou um novo objeto criado com esse sprite (prefiro usar um novo objeto e usar a opção Parent nas colisões).
ok, vamos raciocinar: Em um jogo de luta que se preze, o único local que poderá acertar o inimigo é a lâmina da espada. E o único lugar que poderá receber impacto do inimigo é o corpo do Ichigo (neste exemplo).
Então qual a solução pra este problema? Pois da forma que está o corpo de Ichigo irá causar dano no inimigo e a espada de Ichigo irá receber dano de um eventual ataque do inimigo.
A solução está em criar sprites externos que irão funcionar como masks (caixas de impacto e colisão).
Fiz a caixa decolisão (vamos chamar assim por enquanto) deste exemplo (caixa rosa- representa área que pode receber impactos do inimigo neste ataque):
Aqui é a caixa de impacto (área que irá causar dano no inimigo durante este ataque):
Perceba que ambas as masks tem o mesmo tamanho da imagem original, afinal, elas irão atuar nas mesmas coordenadas do sprite original (Ichigo)
Agora vcs já devem ter percebido que um jogo de luta é mais complexo em termo de colisões que um jogo normal, pois ele trabalha com duas Masks diferentes, uma de recebimento e outra de ataque. E que o Sprite mostrado é meramente a ilustração do confronto das maskaras dos objetos (personagens).
Mas como então farei pra meu objeto ter duas masks diferentes? calma, se vc acha que está complicado vai piorar hehehe, mas não desista, continue lendo pois esse conhecimento abrirá a sua cabeça em diversas lógicas pra jogos.
O Objeto Ichigo na verdade não terá duas maskaras diferentes, e sim, sempre que fizer um movimento ele criará dois objetos (quando preciso) que farão o papel das maskaras auxiliares. Esses objetos devem ser criados nas mesmas coordenadas do player (Ichigo no caso). na pratica teremos o seguinte:
obs: Diminuí a opacidade das caixas pra que percebam que os 3 objetos trabalham em conjunto.
Os 3 objetos irão aparecer juntos, e sempre que for executado novos movimentos surgirão outros que os substituirão. Resumindo, é extremamente trabalhoso criar jogos de luta no Game Maker, mas não é tão difícil.
Lembrando que a caixa rosa pode passar por cima da vermelha nesse exemplo caso o projetista do jogo queira causar encontro de espadas, então a espada tmb poderá receber dano (mas não é o nosso caso).
Na parte dois deste tutorial irei explicar como coordenar as ações de impactos entre caixas de colisões e de impacto, e com isso fazer o Player mostrar a imagem correta.
Parte 2 aqui!
Última edição por Anderson3d em Sáb 16 Abr 2011, 15:24, editado 2 vez(es)
Re: Tutorial: Lógica em jogos de luta (colisões) Parte 1
vlw vai ajudar no meu projeto de luta
kevin sousa- Data de inscrição : 21/02/2010
Reputação : 0
Número de Mensagens : 119
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial: Lógica em jogos de luta (colisões) Parte 1
nussa cara eu não sabia que dava pra usar masks juntas e diferentes no gmkr,que irado ,seu tuto é nota 10 e to esperando a continuação!!!
flwS!!!
flwS!!!
Re: Tutorial: Lógica em jogos de luta (colisões) Parte 1
muito bom essse tuto eu nunca consegui fazer isso
vi um tuto do alex Fc mas achei muito complicado esse ta simplecinho
vlw
vi um tuto do alex Fc mas achei muito complicado esse ta simplecinho
vlw
Re: Tutorial: Lógica em jogos de luta (colisões) Parte 1
Esse tutorial pode me ajudar na criação de meu possível próximo projeto, que seria de luta é claro. Aguardo a continuação. xD
Luan Maia- Games Ranking :
Notas recebidas : D+C+C+D
Data de inscrição : 01/07/2010
Reputação : 2
Número de Mensagens : 404
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial: Lógica em jogos de luta (colisões) Parte 1
n consigo ver as imagens
Doctor_Gamer- Data de inscrição : 18/10/2013
Reputação : 0
Número de Mensagens : 5
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Tutorial: Lógica em jogos de luta (colisões) Parte 2
» [Tutorial] Criando jogos em gml parte 1
» [TUTORIAL] Jogos Online com PHP e MySql PARTE 1
» [TUTORIAL] Jogos Online com PHP e MySql - PARTE 2
» [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3
» [Tutorial] Criando jogos em gml parte 1
» [TUTORIAL] Jogos Online com PHP e MySql PARTE 1
» [TUTORIAL] Jogos Online com PHP e MySql - PARTE 2
» [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos