Conectar-se
Quem está conectado
32 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 32 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 25/12/2009
Número de Mensagens : 81
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://bkparada.blogspot.com/

Ajuda em como fazer um objeto giratorio.

em Sab 26 Dez 2009, 12:43
Oi galera!!! Eu gostaria de saber, como eu faço um objeto ficar rodando em volta de outro objeto, seguindo-o para onde esse objeto for, daí.
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Ajuda em como fazer um objeto giratorio.

em Sab 26 Dez 2009, 13:48
coloca esse codigo no begin step do objeto que gira:

velocidade=5//pode muda isso
raio=180//pode muda isso
direction+=velocidade
grau=0.02//pode muda isso
movimento_x=objeto_central.x+cos(direction*grau)*raio//mude nome objeto_central
movimento_y=objeto_central.y+sin(direction*grau)*raio//aqui tambem
x=movimento_x //nao pode muda isso
y=movimento_y //nao pode muda isso

Edit: ponha o raio em 70...ou como quiser...
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 11

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Ajuda em como fazer um objeto giratorio.

em Sab 26 Dez 2009, 17:51
Pedro Henrique escreveu:coloca esse codigo no begin step do objeto que gira:

velocidade=5//pode muda isso
raio=180//pode muda isso
direction+=velocidade
grau=0.02//pode muda isso
movimento_x=objeto_central.x+cos(direction*grau)*raio//mude nome objeto_central
movimento_y=objeto_central.y+sin(direction*grau)*raio//aqui tambem
x=movimento_x //nao pode muda isso
y=movimento_y //nao pode muda isso

Edit: ponha o raio em 70...ou como quiser...

Pelo que eu testei, isso não dá muito certo, além de você ter criado variáveis desnecessárias e haver algumas coisas sem sentido...
Vou refazer esse código e vou explicar:

No evento step:

Código:
direction += 5;
x = obj_Central.x+cos(direction/180*pi)*200;
y = obj_Central.y-sin(direction/180*pi)*200;

O "direction += 5;" aumenta a direção em 5 a cada step. Toda instância já "nasce" com essa variável (direction), então você não precisa criá-la. Já, se você quisesse usar outra variável (ex.: dir, direcao), você teria que criá-la no create (dir = 0;, direcao = 0);.

O "direction/180*pi" transforma a direção de graus para radianos (o que é nescessário para mecher com seno e cosseno). Outro jeito seria usar a função degtorad(direction); (degrees to radians).

No y, tem que colocar "-sin" em vez de "+sin" porque a direção começa em 0 na direta e aumenta no sentido anti-horário, assim 90 graus (cujo seno é 1) é para cima e 270 (cujo seno é -1) é para baixo, mas o eixo y cresce de cima para baixo, então tem que inverter o seno.

O "*200" é a distância que ele ficará do objeto.
Se você quiser que gire no sentido horário, tem que trocar "direction += 5;" por "direction -= 5;".

Não esqueça de trocar "obj_Central" pelo nome do seu objeto.
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Ajuda em como fazer um objeto giratorio.

em Sab 26 Dez 2009, 18:01
eu testei o meu codigo e funcionou... e tambem as variaveis servem pra ele ajustar do jeito que ele quiser...
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 11

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Ajuda em como fazer um objeto giratorio.

em Sab 26 Dez 2009, 18:14
Testei o seu código, o objeto dá uma volta inteira, volta um pouco, dá outra volta inteira, volta de novo, etc. Isso porque você colocou para multiplicar por aquela variável "grau", mas na verdade tem que transformar de graus para radianos. Mude a variável grau para .01 para ver como fica. Só parece que está certo porque, para transformar em radianos, tem que multiplicar por pi/180, que é 0,01745..., quase 0.02.

E também, como eu escrevi no post ali em cima, o certo é colocar "-sin", e não "+sin", como os graus aumentam no sentido anti-horário.
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Ajuda em como fazer um objeto giratorio.

em Dom 27 Dez 2009, 13:07
o seu codigo esta melhor...
mas eu acho que num tem diferenca se os graus rodam num sentido ou outro, ja que é um jogo...valeu por ajustar o codigo
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 25/12/2009
Número de Mensagens : 81
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://bkparada.blogspot.com/

Re: Ajuda em como fazer um objeto giratorio.

em Dom 27 Dez 2009, 14:46
Olá pessoal! Assim... Obrigado pela ajuda mas... acho faltou só uma coisinha, é que eu nõ sei muito bem mexer em codigos e... faltou um controlador da distancia em que o objeto gira em volta do outro... sera que tem como? Daí.
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Ajuda em como fazer um objeto giratorio.

em Seg 28 Dez 2009, 08:39
no meu codigo é so alterar o raio...
no meu codigo vc pode diminuir o grau de 0.02 para 0.0172
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 25/12/2009
Número de Mensagens : 81
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://bkparada.blogspot.com/

Re: Ajuda em como fazer um objeto giratorio.

em Seg 28 Dez 2009, 19:13
vlw, brigadão
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum