Avatar do usuário
Koreha
Novato
Novato
Autor
Mensagens: 17
Registrado em: Qui Out 20, 2016 5:35 pm
Karma: 16

Como fazer o path se mover junto com o personagem

Sáb Jan 14, 2017 2:39 am

       Estou trabalhando em um jogo de plataforma em que o ataque do protagonista é invocar uma espada que se move em um arco. Esse arco é um path utilizado no evento Create da espada. 
       O problema é que a espada fica defasada em relação ao movimento do jogador, ou seja, o path fica no mesmo lugar enquanto o player se mexe. Gostaria que saber como fazer o path se mover junto do personagem.

Tags:
 
Avatar do usuário
Mateus
Novato
Novato
Mensagens: 7
Registrado em: Seg Ago 24, 2015 7:50 am
Karma: 5

Re: Como fazer o path se mover junto com o personagem

Sáb Jan 14, 2017 8:27 am

Bom dia caro colega,
Imagino que essa espada criada seja um objeto, não?
Por que não faz com que o ponto de origem dessa espada não tenha o diâmetro do arco que você quer e então faça ela um parente do player e gire ela no ângulo desejado.
Acho que dessa forma você vai conseguir o efeito desejado caso não seja possível mover o path.
Bom, vamos aguardar novas dicas.
Espero ter conseguido ajudar.
 
Avatar do usuário
Koreha
Novato
Novato
Autor
Mensagens: 17
Registrado em: Qui Out 20, 2016 5:35 pm
Karma: 16

Re: Como fazer o path se mover junto com o personagem

Sáb Jan 14, 2017 10:58 am

Mateus escreveu:
Bom dia caro colega,
Imagino que essa espada criada seja um objeto, não?
Por que não faz com que o ponto de origem dessa espada não tenha o diâmetro do arco que você quer e então faça ela um parente do player e gire ela no ângulo desejado.
Acho que dessa forma você vai conseguir o efeito desejado caso não seja possível mover o path.
Bom, vamos aguardar novas dicas.
Espero ter conseguido ajudar.

Agradeço pela ajuda. Mas acho que isso não é possível.
A espada não só gira como se move também. Ela realiza os dois movimentos : muda-se seu image_angle a cada step, enquanto ela segue a trajetória de arco do path.
 
Avatar do usuário
Koreha
Novato
Novato
Autor
Mensagens: 17
Registrado em: Qui Out 20, 2016 5:35 pm
Karma: 16

Re: Como fazer o path se mover junto com o personagem

Sáb Jan 14, 2017 11:11 am

Segue GIF mostrando o que ocorre: quando o jogador anda ele fica na frente da espada.
Imagem

EDIT: GIF com melhor qualidade.
 
Avatar do usuário
Dust
Membro
Membro
Mensagens: 111
Registrado em: Qui Mai 26, 2016 6:56 pm
Localização: Santa Catarina
Karma: 154

Re: Como fazer o path se mover junto com o personagem

Sáb Jan 14, 2017 12:17 pm

Você pode definir a posição da espada no step com um x=player.x+valor_x, assim a espada sempre ficara de frente ao objeto.
Porém, creio que o movimento do patch que possa estar dando esse efeito, talvez lá no patch você esteja tacando a espada pra frente e logo depois pra tras, como um arco, ai possa estar dando essa impressão. O caminho de um Patch sempre vai estar acima de um outro movimento, a execuçao dele é obrigatória, eu acho kkk.
Flw!
 
Avatar do usuário
Koreha
Novato
Novato
Autor
Mensagens: 17
Registrado em: Qui Out 20, 2016 5:35 pm
Karma: 16

Re: Como fazer o path se mover junto com o personagem

Sáb Jan 14, 2017 12:29 pm

Dust escreveu:
Você pode definir a posição da espada no step com um x=player.x+valor_x, assim a espada sempre ficara de frente ao objeto.
Porém, creio que o movimento do patch que possa estar dando esse efeito, talvez lá no patch você esteja tacando a espada pra frente e logo depois pra tras, como um arco, ai possa estar dando essa impressão. O caminho de um Patch sempre vai estar acima de um outro movimento, a execuçao dele é obrigatória, eu acho kkk.
Flw!

Está tudo certinho com o path. O problema é que ele fica parado enquanto o personagem se mexe, por isso que o player fica em cima da espada.
1
 
Avatar do usuário
Dust
Membro
Membro
Mensagens: 111
Registrado em: Qui Mai 26, 2016 6:56 pm
Localização: Santa Catarina
Karma: 154

Re: Como fazer o path se mover junto com o personagem

Sáb Jan 14, 2017 12:44 pm

Bem... Então acontence que o path é o único movimento que pode ser executado, o path irá bloquear qualquer outro movimento que esteja sendo executado no step.
Crie o movimento da espada sem um path, crie um caminho que a espada iria percorrer por step.
Assim ela sempre vai poder estar a frente do player e seguindo ele sem problemas.
Eu fico escrevendo patch sem quere kk
 
Avatar do usuário
Koreha
Novato
Novato
Autor
Mensagens: 17
Registrado em: Qui Out 20, 2016 5:35 pm
Karma: 16

Re: Como fazer o path se mover junto com o personagem

Sáb Jan 14, 2017 12:55 pm

Dust escreveu:
Bem... Então acontence que o path é o único movimento que pode ser executado, o path irá bloquear qualquer outro movimento que esteja sendo executado no step.
Crie o movimento da espada sem um path, crie um caminho que a espada iria percorrer por step.
Assim ela sempre vai poder estar a frente do player e seguindo ele sem problemas.
Eu fico escrevendo patch sem quere kk

E como eu poderia fazer isso? Ela faz um movimento em arco, acho que o único jeito seria usando equações da circunferência mas não faço ideia de como usar.
1
 
Avatar do usuário
saim
Membro
Membro
Mensagens: 20
Registrado em: Dom Jul 17, 2016 1:50 am
Localização: BH - Minas
Karma: 20

Re: Como fazer o path se mover junto com o personagem  Tópico resolvido

Ter Jan 17, 2017 12:12 pm

Como o path é simples, a solução de definir os pontos e variáveis da imagem (image_angle) a cada step é simples, tembém. Se você tem um centro, uma distância e um ângulo, o assunto está encerrado
cx = ? // coordenada "x" do centro (provavelmente, as coordenadas do personagem)
cy = ? // coordenada "y" do centro
ang = ? // ângulo da espada
dist = ? // distância do personagem à espada

x = cx + lengthdir_x(dist, ang);
y = cy + lengthdir_y(dist, ang);

image_angle = ang;

Você pode escolher quais variáveis dependem da posição do personagem, sendo que cx e cy certamente dependerão.
Agora, paths mais complexos também podem usar equações. Uma vez, eu fiz umas orbes que circulavam ao redor do personagem, com a depth variando em função dela estar indo ou voltando. Dá muito trabalho e requer uma boa dose de conhecimentos matemáticos, mas o resultado costuma valer a pena.
 
Avatar do usuário
Koreha
Novato
Novato
Autor
Mensagens: 17
Registrado em: Qui Out 20, 2016 5:35 pm
Karma: 16

Re: Como fazer o path se mover junto com o personagem

Ter Jan 17, 2017 1:46 pm

saim escreveu:
Como o path é simples, a solução de definir os pontos e variáveis da imagem (image_angle) a cada step é simples, tembém. Se você tem um centro, uma distância e um ângulo, o assunto está encerrado
cx = ? // coordenada "x" do centro (provavelmente, as coordenadas do personagem)
cy = ? // coordenada "y" do centro
ang = ? // ângulo da espada
dist = ? // distância do personagem à espada

x = cx + lengthdir_x(dist, ang);
y = cy + lengthdir_y(dist, ang);

image_angle = ang;

Você pode escolher quais variáveis dependem da posição do personagem, sendo que cx e cy certamente dependerão.
Agora, paths mais complexos também podem usar equações. Uma vez, eu fiz umas orbes que circulavam ao redor do personagem, com a depth variando em função dela estar indo ou voltando. Dá muito trabalho e requer uma boa dose de conhecimentos matemáticos, mas o resultado costuma valer a pena.

Não entendi completamente o código, mas agradeço encarecidamente por me apresentar as funções lengthdir_x e  lengthdir_y. Acho que elas me ajudarão, e muito, no que procuro implementar.

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes