Página 1 de 1

[ENGINE] Trajetória de um Projétil

Enviado: Qui Set 08, 2016 1:42 am
por Denis Lemos
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

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

Enviado: Qui Set 08, 2016 11:20 am
por All-x
Bem bacana Denis!

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

Obrigado por compartilhar!

FLWS!

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

Enviado: Qui Set 08, 2016 11:45 am
por Superbomber
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.

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

Enviado: Qui Set 08, 2016 4:18 pm
por guimaraf
Belo exemplo e excelente artigo, eu estava procurando algo similar para um projeto.
Obrigado