Avatar do usuário
Denis Lemos
Membro
Membro
Autor
Mensagens: 50
Registrado em: Ter Set 22, 2015 2:56 am
Karma: 45

[ENGINE] Trajetória de um Projétil

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

Tags:
 
Avatar do usuário
Alex FC
Administrador
Administrador
Mensagens: 510
Registrado em: Dom Abr 24, 2016 11:50 pm
Localização: Itaporã-MS
Karma: 886

Contato:

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

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
Experiente
Experiente
Mensagens: 293
Registrado em: Sáb Jun 04, 2016 9:02 pm
Localização: Natal-RN
Karma: 286

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

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
Mensagens: 461
Registrado em: Ter Mai 31, 2016 3:35 am
Localização: Contagem-MG
Karma: 1067

Contato:

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

Qui Set 08, 2016 4:18 pm

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

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante