Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

[ENGINE] Trajetória de um Projétil

Sprites, Modelos 3D, Exemplos, Áudios, Extensões e outros Recursos
Avatar do usuário
Denis Lemos
Membro
Membro
Reações: 0
Mensagens: 49

[ENGINE] Trajetória de um Projétil

Mensagem por Denis Lemos » Qui Set 08, 2016 1:42 am

Nome: Projectile Trajectory
Versão: Game Maker: Studio(Pro)
Nível: Intermediário

Imagens:
Imagem

Sobre: Esse é um exemplo que mostra como fazer para descobrir a trajetória de um projétil antes mesmo dele ser arremessado, e desenhar a sua possível trajetória na tela para que o jogador decida o melhor momento de apertar o gatilho. Isso é muito útil em jogos de arremesso como Angry Birds, jogos de basquete, arco e flecha, etc...

Scripting API: O exemplo tem apenas dois scripts bem simples e que só precisa passar alguns parâmetros.
calculateTrajectory(startPosition X, startPosition Y, startSpeed X, startSpeed Y, Gravity X, Gravity Y, stepSize, n )
Calcula a trajetória do projétil e desenha os passos(pontos) de acordo com os parâmetros passados. Deve ser usado dentro de um "loop for".

getPower(startPos X, startPos Y, target X, target Y, power)
Calcula a força de saída proporcional necessária para que o projétil seja arremessado corretamente na direção do alvo(target).


Como funciona: Eu criei esse exemplo baseado nesse artigo aqui, então para quem quer entender melhor o funcionamento, eu aconselho a leitura.
Somente me baseando pelo artigo eu não consegui fazer o que queria, que era fazer o projétil ser disparado corretamente na direção do mouse para que coincidisse com a direção que o canhão está apontando. As equações do artigo funcionaram perfeitamente, mas os valores da velocidade de partida do projétil tinham que ser definidas manualmente e é preciso usar valores diferentes para cada direção. Para contornar esse problema eu criei o script getPower() que calcula proporcionalmente a velocidade necessária de X e Y para que faça o projétil ir corretamente em determinada direção, pois os valores de X e Y variam individualmente dependendo da direção que se deseja arremessar o projétil.

Controles:
Left Mouse: Cria o projétil.
Mouse Wheel: Aumenta e diminui a força do arremesso.

Clique aqui para Jogar Online
Links:
TESTE NO NAVEGADOR
DOWNLOAD LINK

Avatar do usuário
All-x
Administrador
Administrador
Reações: 8
Mensagens: 620
Localização: Dourados-MS

Contato:

Re: [ENGINE] Trajetória de um Projétil

Mensagem por All-x » Qui Set 08, 2016 11:20 am

Bem bacana Denis!

Gosto quando há referências, e o artigo que citou é ótimo. 

Obrigado por compartilhar!

FLWS!
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!

Avatar do usuário
Superbomber
Programador
Programador
Reações: 0
Mensagens: 283
Localização: Natal-RN

Re: [ENGINE] Trajetória de um Projétil

Mensagem por Superbomber » Qui Set 08, 2016 11:45 am

Cada vez mais tenho medo de abrir um tópico neste fórum.
Logo mais deixo de frequentar. :detetive:

Bem legal Denis, há enormes possibilidades de uso.
Entrem neste link com o JavaScript desabilitado e vejam a mágica: https://tgmbrasil.com.br/?PageSpeed=n0script

Avatar do usuário
guimaraf
Colaborador
Colaborador
Reações: 0
Mensagens: 456
Localização: Contagem-MG

Contato:

Re: [ENGINE] Trajetória de um Projétil

Mensagem por guimaraf » Qui Set 08, 2016 4:18 pm

Belo exemplo e excelente artigo, eu estava procurando algo similar para um projeto.
Obrigado

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes