Seno e Cosseno
 CasaDosJogos
 CasaDosJogos -=FORUM=-
 Multimedia Fusion
 Seno e Cosseno
  Registrar   Ajuda   Login

Tópico AnteriorTópico Anterior - Próximo TópicoPróximo Tópico
Tópico com 2970 visitas e 14 mensagens
Autor
Tópico: Seno e Cosseno
Captain_J_Sheridan
Lord of Games

Postagens: 8995
Registro: 30/10/2001
Local: Rio de Janeiro - RJ - Brasil
Idade: 33 anosSexo Masculino
 Postado em 24/04/2006 7:58:00 PM

Argh, faz tempo que eu não estudo isso... (nem na época eu estudava)

Tipo, eu tenho um personagem, Nights, que ao colidir com um inimigo, deve ficar girando em torno dele, e isso pede por um pouco de seno e cosseno, mas eu já não lembro quase nada disso

Alguém com bons dentes pra mastigar um pouco isso pra mim?

IP LogadoPróxima Mensagem
reN@To
Maker Aprendiz

Postagens: 57
Registro: 04/12/2004
Local: - SP - Brasil
Idade: 29 anosSexo Masculino
 Postado em 24/04/2006 11:20:00 PM

Primeiro faça um counter chamado "rotação". Depois faça o seguinte:

Always
set X("nights") to X("inimigo")+50*sin(value(rotação))
set Y("nights") to Y("inimigo")+50*cos(value(rotação))
add 5 to rotação

Esse "50" que eu coloquei é um valor de exemplo, você pode alterá-lo paro o valor que desejar. Ele determina a distância em que um objeto vai ficar de outro. se você quizer, você pode colocar um counter no lugar desse "50" podendo assim manipular a distância enquanto o jogo estiver sendo rodado.

Já esse valor "5"(pode ser qualquer outro valor também) que é sempre adicionado ao counter de rotação, determina a velocidade do objeto.

IP LogadoMensagem AnteriorPróxima Mensagem
Captain_J_Sheridan
Lord of Games

Postagens: 8995
Registro: 30/10/2001
Local: Rio de Janeiro - RJ - Brasil
Idade: 33 anosSexo Masculino
 Postado em 25/04/2006 1:02:00 AM

A teoria funcionou, mas na prática, ele fez baixo, diagonal inferior direita e direita, depois se alinhava com o hot spot do inimigo e repetia, tudo sempre tremendo pra frente e pra trás

Coisinha complicada =P

IP LogadoMensagem AnteriorPróxima Mensagem
Perciv@l
Game Maker Experiente

Postagens: 729
Registro: 25/07/2002
Local: Curitiba - PR - Brasil
Idade: 30 anosSexo Masculino
 Postado em 28/04/2006 6:00:00 PM

Não funcionou pq tá invertido, é cosseno pra X e seno pra Y. Esse método que o reN@To passou funciona mas não é muito preciso.

Uma variação que funciona melhor é usar counters ou variáveis para calcular a posição do objeto já que esses aceitam casas decimais.

aqui está um exemplo:

Start of Frame
set "value X" to 0.0
set "value Y" to 0.0

Always
set "value X" to cos( "value ângulo" ) * "value raio"
set "value Y" to sin( "value ângulo" ) * "value raio"
set position X ("personagem") to X("inimigo") + "value X"
set position Y ("personagem") to Y("inimigo") + "value Y"


Os values podem tanto ser counters como alterable values, só não adianta usar global values pois eles não aceitam casas decimais. Os valores do raio e do ângulo vc altera como quiser podendo usar números quebrados. O evento que define os valores para 0.0 no início do frame servem para forçá-los a trabalhar com casas decimais. Se vc não incluir este evento a precisão já era, mas funciona do mesmo jeito.

IP LogadoMensagem AnteriorPróxima Mensagem
Captain_J_Sheridan
Lord of Games

Postagens: 8995
Registro: 30/10/2001
Local: Rio de Janeiro - RJ - Brasil
Idade: 33 anosSexo Masculino
 Postado em 29/04/2006 12:05:00 PM

Não consegui inicializar com decimais não, isso é no MMF ou MMFx?

Alguma chance de eu ver um exemplo? Eu tenho tentado mas não tá dando muito certo

IP LogadoMensagem AnteriorPróxima Mensagem
Perciv@l
Game Maker Experiente

Postagens: 729
Registro: 25/07/2002
Local: Curitiba - PR - Brasil
Idade: 30 anosSexo Masculino
 Postado em 29/04/2006 11:24:00 PM

Agora não lembro se o MFX aceita decimais mas o MMF sim.
Mais um detalhe, na quarta ação do always troque o sinal + por - , já que no MMF o eixo Y é invertido.

IP LogadoMensagem AnteriorPróxima Mensagem
Captain_J_Sheridan
Lord of Games

Postagens: 8995
Registro: 30/10/2001
Local: Rio de Janeiro - RJ - Brasil
Idade: 33 anosSexo Masculino
 Postado em 30/04/2006 9:49:00 AM

Download (salvar destino como)

Tá, o que eu tou fazendo errado? =P

IP LogadoMensagem AnteriorPróxima Mensagem
Perciv@l
Game Maker Experiente

Postagens: 729
Registro: 25/07/2002
Local: Curitiba - PR - Brasil
Idade: 30 anosSexo Masculino
 Postado em 30/04/2006 7:00:00 PM

Eu tentei fazer um exemplo no MFX e...
...ARGH!! não sei como vc ainda consegue usar aquilo XP

Pra começar ele não tem função de seno e cosseno embutido, só por extensão. E como ele não aceita números decimais não tem jeito, não rola, já que as funções de seno e cosseno retornam valores entre 0 e 1.
Depois de mexer um pouco mais eu descobri pq quem programa com MFX usa tantos counters: só existem 3 alterable values por Objeto!!!

Por isso eu fiz um exemplo em MMF:
http://fire.prohosting.com/enuclear/rotacao.txt

É só renomear para .cca

Eu achei um exemplo de movimento 360 para TGF desenvolvido pela Tigerworks, mas a movimentação é toda quebrada parece até com o movimento standard de 32 direções. Acho que o problema está nos decimais mesmo.

IP LogadoMensagem AnteriorPróxima Mensagem
Elfalino
Maker Aprendiz

Postagens: 97
Registro: 08/04/2005
Local: São Paulo - SP - Brasil
Idade: 27 anosSexo Masculino
 Postado em 30/04/2006 8:55:00 PM

Mas com certeza deve haver uma maneira de fazer esse sistema "orbital" no mfx.
Só preciso descobrir como
Como talvez eu vá iniciar na vida de mini pluzes, vou tentar descobrir.

IP LogadoMensagem AnteriorPróxima Mensagem
Captain_J_Sheridan
Lord of Games

Postagens: 8995
Registro: 30/10/2001
Local: Rio de Janeiro - RJ - Brasil
Idade: 33 anosSexo Masculino
 Postado em 30/04/2006 11:37:00 PM

Tudo sobre a interface meu velho, odeio a do MMF XP

Tipo, eu tou com um exemplo aqui funcional, falta tentar aplicar no jogo mesmo, em algum tempo eu volto pra relatar

IP LogadoMensagem AnteriorPróxima Mensagem
Elfalino
Maker Aprendiz

Postagens: 97
Registro: 08/04/2005
Local: São Paulo - SP - Brasil
Idade: 27 anosSexo Masculino
 Postado em 02/05/2006 2:20:00 PM

Mensagem original postada por Captain_J_Sheridan Tudo sobre a interface meu velho, odeio a do MMF XP

Tipo, eu tou com um exemplo aqui funcional, falta tentar aplicar no jogo mesmo, em algum tempo eu volto pra relatar


Passa pra ieu??

IP LogadoMensagem AnteriorPróxima Mensagem
AzZaGhNoM
Game Maker Experiente

Postagens: 728
Registro: 05/11/2001
Local: Pres. Prudente - SP - Brasil
Idade: 30 anosSexo Masculino
 Postado em 03/05/2006 12:32:00 AM

Já mencionei que preciso pegar o MMF? Essa limitação de decimais no MMFx me mata XD
Agora deu até vontade de fazer uma engine de orbitação no MMF. Seguindo a gravitação universal de Newton. Será q tem como?! Seria lindo simular movimentos em orbitas circulares e elípticas XD

IP LogadoMensagem AnteriorPróxima Mensagem
Perciv@l
Game Maker Experiente

Postagens: 729
Registro: 25/07/2002
Local: Curitiba - PR - Brasil
Idade: 30 anosSexo Masculino
 Postado em 03/05/2006 1:13:00 PM

Mensagem original postada por AzZaGhNoM Já mencionei que preciso pegar o MMF? Essa limitação de decimais no MMFx me mata XD
Agora deu até vontade de fazer uma engine de orbitação no MMF. Seguindo a gravitação universal de Newton. Será q tem como?! Seria lindo simular movimentos em orbitas circulares e elípticas XD
No MMF tudo é possível XP

Eu já vi alguns exemplos de movimentos orbitais baseados em física de verdade, portanto acho q tem como sim.

No momento eu estou trabalhando em uma engine baseada em forças na forma de vetores e tenho progredido bastante. Uma vez concluida, basta eu fazer algumas adaptações para conseguir uma engine funcional de Ragdoll e até mesmo deformação de objetos sólidos em tempo real. Já tenho quase tudo na cabeça e estou pondo aos poucos em prática.

IP LogadoMensagem AnteriorPróxima Mensagem
Captain_J_Sheridan
Lord of Games

Postagens: 8995
Registro: 30/10/2001
Local: Rio de Janeiro - RJ - Brasil
Idade: 33 anosSexo Masculino
 Postado em 06/05/2006 10:36:00 AM

Encontrei a causa dos meus problemas, os números quebrados

No MMF funciona perfeitamente, no MMFx não

Mais tarde levo o projeto pro MMF e insiro isso

IP LogadoMensagem Anterior
 Todos os horários são de Brasília (GMT -03:00)
 Nova Mensagem desde a sua Última Visita.
[***] Palavra proibida pelo moderador do Grupo de Discussão

Tópico AnteriorTópico Anterior - Próximo TópicoPróximo Tópico

Volta para o Topo da Página



Forum Now! - Criar seu forum grátis