[Resolvido]Barreira circular

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

Resolvido [Resolvido]Barreira circular

Mensagem por Mestre Rá em Dom 28 Set 2014, 12:19

Olá pessoal, a minha dúvida é o seguinte:
Eu estou criando um escudo para o meu personagem, e quero que essa proteção fique girando ao redor do personagem e que fique girando, sei com se faz para seguir o personagem, e também já criei a path de movimento circular, só que quando coloco a path na barreira de fogo ela não segue o personagem.

Mestre Rá

Número de Mensagens : 106
Data de inscrição : 26/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Barreira circular

Mensagem por AxeInLine em Dom 28 Set 2014, 12:25

Isso acontece pois o Path impede outros tipos de movimento, ou algo assim (até a gravidade é mais fraca que o path).

Acredito que para isso você teria que criar uma animação da barreira girando, ou usar o "direction" & "speed" (mas seria meio difícil de fazer).

Vou dar umas olhadas aqui e verei se consigo dar um edit com a segunda maneira que te falei.

AxeInLine

Número de Mensagens : 211
Idade : 14
Data de inscrição : 23/03/2014
Reputação : 40
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Barreira circular

Mensagem por Mestre Rá em Dom 28 Set 2014, 13:47

Beleza

Mestre Rá

Número de Mensagens : 106
Data de inscrição : 26/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Barreira circular

Mensagem por Alex FC em Dom 28 Set 2014, 13:48

Usando paths fica um pouco complicado.

Tire quaisquer códigos de paths e coloque o seguinte no STEP dessa barreira:

Código:
//Se o personagem existe
if instance_exists(personagem)
{
    //distância do centro da rotação
    var dd; dd = 64;
   
    //angulo atual da rotação
    var aa; aa = (current_time*.01) mod 360;
   
    //Modifica posições
    x = personagem.x + lengthdir_x(dd, aa);
    y = personagem.y + lengthdir_y(dd, aa);
}

O valor de aa é apenas o ângulo em que a barreira se encontra. Eu usei a variável current_time (Tempo em Milisegundos), pois ela sempre está aumentando. Tu pode declarar uma var angulo e depois aumentando na velocidade que tu quiser.

Pra entender melhor como isso funciona, veja este tutorial:

http://gmbr.forumeiros.com/t19701-tutorial-lengthdir_x-e-lengthdir_y

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Barreira circular

Mensagem por Mestre Rá em Seg 29 Set 2014, 15:18

Muito obrigado cara, desculpe pela demora da resposta, internet estava horrível ontem, mas consegui fazer os testes e funcionou muito bem, muito obrigado.

Mestre Rá

Número de Mensagens : 106
Data de inscrição : 26/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Barreira circular

Mensagem por Conteúdo patrocinado Hoje à(s) 06:31


Conteúdo patrocinado


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