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.
Obrigado por visitar a The Game Makers Brasil |
Como fazer o path se mover junto com o personagem Tópico resolvido
Como fazer o path se mover junto com o personagem
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.
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.
Re: Como fazer o path se mover junto com o personagem
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.
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.
Re: Como fazer o path se mover junto com o personagem
Agradeço pela ajuda. Mas acho que isso não é possível.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.
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.
Re: Como fazer o path se mover junto com o personagem
Segue GIF mostrando o que ocorre: quando o jogador anda ele fica na frente da espada.

EDIT: GIF com melhor qualidade.

EDIT: GIF com melhor qualidade.
Re: Como fazer o path se mover junto com o personagem
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!
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!
Re: Como fazer o path se mover junto com o personagem
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.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!
Re: Como fazer o path se mover junto com o personagem
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
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
Re: Como fazer o path se mover junto com o personagem
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.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
Re: Como fazer o path se mover junto com o personagem Tópico resolvido
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
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.
Código: Selecionar todos
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;
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.
Re: Como fazer o path se mover junto com o personagem
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.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á encerradoVocê pode escolher quais variáveis dependem da posição do personagem, sendo que cx e cy certamente dependerão.Código: Selecionar todos
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;
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.
Re: Como fazer o path se mover junto com o personagem
Elas funcionam como seno e cosseno, já multiplicados pela distância e funcionando com graus, ao invés de radianos. Seria fácil criar um script que fizesse a mesma coisa, mas elas já estão aí, built-in, funcionando lindamente.
Tatue essas duas no antebraço, você ainda vai usar elas como se fossem oxigênio.
O código só pega as variáveis de entrada (centro, ângulo e distância) e usa pra achar uma posição. Como eu vi, no gif, que o image_angle também era importante, incluí ele. O importante, mesmo, são os valores de entrada, o centro (o ombro da personagem), a distância (seria o tamanho do braço, se houvesse um braço) e o ângulo, que varia de 90 a -45 (ou seja, percorre um caminho de 135 graus) em uns 3 a 4 steps, portanto, digamos,
onde "t" é o tempo de vida da espada
Tatue essas duas no antebraço, você ainda vai usar elas como se fossem oxigênio.
O código só pega as variáveis de entrada (centro, ângulo e distância) e usa pra achar uma posição. Como eu vi, no gif, que o image_angle também era importante, incluí ele. O importante, mesmo, são os valores de entrada, o centro (o ombro da personagem), a distância (seria o tamanho do braço, se houvesse um braço) e o ângulo, que varia de 90 a -45 (ou seja, percorre um caminho de 135 graus) em uns 3 a 4 steps, portanto, digamos,
Código: Selecionar todos
ang = 90 - (135/4)*t
Re: Como fazer o path se mover junto com o personagem
Já consegui terminar, amei essa função, obrigado.saim escreveu:Elas funcionam como seno e cosseno, já multiplicados pela distância e funcionando com graus, ao invés de radianos. Seria fácil criar um script que fizesse a mesma coisa, mas elas já estão aí, built-in, funcionando lindamente.
Tatue essas duas no antebraço, você ainda vai usar elas como se fossem oxigênio.
O código só pega as variáveis de entrada (centro, ângulo e distância) e usa pra achar uma posição. Como eu vi, no gif, que o image_angle também era importante, incluí ele. O importante, mesmo, são os valores de entrada, o centro (o ombro da personagem), a distância (seria o tamanho do braço, se houvesse um braço) e o ângulo, que varia de 90 a -45 (ou seja, percorre um caminho de 135 graus) em uns 3 a 4 steps, portanto, digamos,onde "t" é o tempo de vida da espadaCódigo: Selecionar todos
ang = 90 - (135/4)*t
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes