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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 25/11/2012
Número de Mensagens : 77
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4
Ver perfil do usuário

Movimento circular ao redor de outro objeto

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
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 1x 0 Insignia 2x 1 Insignia 3x 0
Reputação : 52

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: Movimento circular ao redor de outro objeto

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
Data de inscrição : 25/11/2012
Número de Mensagens : 77
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4
Ver perfil do usuário

Re: Movimento circular ao redor de outro objeto

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
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 1x 0 Insignia 2x 1 Insignia 3x 0
Reputação : 52

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: Movimento circular ao redor de outro objeto

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
Data de inscrição : 25/11/2012
Número de Mensagens : 77
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4
Ver perfil do usuário

Re: Movimento circular ao redor de outro objeto

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 !
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