Conectar-se

Esqueci minha senha

Últimos assuntos
» [Enquete] Concursos GMBR
por Willy Ontem à(s) 19:49

» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

Quem está conectado
15 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 15 Visitantes

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36
Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220919 mensagens em 30412 assuntos

Movimento circular ao redor de outro objeto

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Movimento circular ao redor de outro objeto

Mensagem por marcin_w_ em Sex 13 Mar 2015, 14:55

Vamos imaginar o objeto1 como uma arma que gira 360º

Preciso de um objeto2 que fique grudado em uma das extremidades da arma enquanto ela gira para dar o efeito de que o objeto2 está controlando o objeto1(arma)

Claro que seria fácil fazer isso através de sprites, porém não no meu top down shooter por 2 razões:

o objeto1(arma) é um fake 3d

o objeto2 tem 8 direções com sprites diferentes

Então acho que vcs ja perceberam o quanto está sendo dificil para mim criar esse efeito uma vez que sou fissurado por perfeccionismo.

quem puder ajudar de qualquer forma eu agradeço

vlw galera!
avatar
marcin_w_

Data de inscrição : 25/11/2012
Número de Mensagens : 77
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Movimento circular ao redor de outro objeto

Mensagem por vinians em Sex 13 Mar 2015, 15:11

Primeiro coloque centralize a origem do sprite que vai fica no centro. Basta fazer Sprite->Center.
No evento CREATE do objeto que vai ter o outro rodando em volta:
Código:

angulo = 0; // angulo atual do objeto bolinha
raio = 100; // raio do circulo que ele vai fazer
in = instance_create(x, y, objBola);
No evento STEP:
Código:

var dx, dy;
dx = cos(angulo) * raio + x;
dy = sin(angulo) * raio + y;
angulo += 5; // velocidade de rotaçao
in.x = dx;
in.y = dy;
Pronto assim ele já estará girando...
Flws!
avatar
vinians

Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0

Prêmios
   : 0
   : 2
   : 1

Ver perfil do usuário http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Movimento circular ao redor de outro objeto

Mensagem por marcin_w_ em Sex 13 Mar 2015, 15:34

então vinians, sua ideia deu muito mais certo doq qualquer outra minha, porém o objeto fica em constante rotação e como esse código é novo pra mim nao consigo achar uma forma de adaptar o objeto para se movimentar apenas quando a arma rotacionar de acordo com a direção da arma.

mas muito obrigado esse código vai ser muito útil em uma outra situação que tenho aqui.
avatar
marcin_w_

Data de inscrição : 25/11/2012
Número de Mensagens : 77
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Movimento circular ao redor de outro objeto

Mensagem por vinians em Sex 13 Mar 2015, 15:38

Para adaptar batas você desligar a rotação automática no evento STEP:
Código:

//angulo += 5;
E depois você pode mudar o valor dessa variavel angulo para a direcao que você quizer, por exemplo com teclado:
Código:

if (keyboard_check_pressed(ord('Z'))) angulo -= 5;
if (keyboard_check_pressed(ord('C'))) angulo += 5;
Pronto, agora quando você apertar a tecla Z e C ele muda o angulo do objeto.
avatar
vinians

Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0

Prêmios
   : 0
   : 2
   : 1

Ver perfil do usuário http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Movimento circular ao redor de outro objeto

Mensagem por marcin_w_ em Sex 13 Mar 2015, 15:46

Perfeito! funcionou muito bem! sempre quis descobrir como fazer isso...
o único detalhe que me falta é que preciso que ele obedeça a rotação da arma que é independente....não sou eu que controlo...ela tem seus próprios alvos

porém mais uma vez esse código vai me servir !
avatar
marcin_w_

Data de inscrição : 25/11/2012
Número de Mensagens : 77
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum