Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Seta seguindo circunferência Tópico resolvido

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Mysterious Stranger
Artista
Artista
Reações: 0
Mensagens: 62
Localização: BH

Contato:

Seta seguindo circunferência

Mensagem por Mysterious Stranger » Ter Abr 07, 2020 12:39 pm

Boa tarde, galera.

Eu estou tentando fazer algo, mas não estou dando conta de descobrir como fazer.
Vejam a imagem abaixo:
Imagem
Essa setinha na frente do arqueiro mostra a direção e a força que a flecha vai ter quando for lançada. Eu queria também que a seta se colocasse no rumo da direção que ela será lançada. Entenderam?
Por exemplo. A manchinha vermelha é a posição onde o dedo está. Digamos que ela esteja a 215 graus. Eu quero que a seta se coloque no oposto disso. Ela estaria 180 graus disso. A 35 graus. Assim o jogador teria uma noção melhor para onde vai a flecha.
Eu pensei assim: é como se o dedo do jogador estivesse na ponta de uma circunferência e a seta estivesse a meia circunferência.

Detalhe: o raio é fixo e sempre seria ali nas mãos do arqueiro.

Espero ter ficado claro. Tem um jeito de posicionar a seta desta maneira?

Avatar do usuário
Chuaschinai
Colaborador
Colaborador
Reações: 5
Mensagens: 198

Re: Seta seguindo circunferência

Mensagem por Chuaschinai » Ter Abr 07, 2020 1:17 pm

Basicamente seria só adicionar +180, para que ficasse do lado oposto.

Avatar do usuário
Mysterious Stranger
Artista
Artista
Reações: 0
Mensagens: 62
Localização: BH

Contato:

Re: Seta seguindo circunferência

Mensagem por Mysterious Stranger » Ter Abr 07, 2020 1:34 pm

grononmc escreveu:Basicamente seria só adicionar +180, para que ficasse do lado oposto.
Sim, mas como eu desenho essa seta na tela para ela assumir essa posição de +180?
Eu estou usando a função draw_sprite_ext() para desenhar ela. Como eu reflito essa medida em graus em x e y da seta?

Lembrando que tem que ela muda de posição sempre que o jogador muda a posição do dedo.

Avatar do usuário
Chuaschinai
Colaborador
Colaborador
Reações: 5
Mensagens: 198

Re: Seta seguindo circunferência

Mensagem por Chuaschinai » Ter Abr 07, 2020 2:24 pm

Usa o lengthdir, deve funcionar.
Assim

Código: Selecionar todos

draw_sprite_ext(
  sprite_index,
  image_index,
  x + lengthdir_x(distancia, direção + 180),
  y + lengthdir_y(distancia, direção + 180),
  1, 1, 0, -1, 1
);

Avatar do usuário
Mysterious Stranger
Artista
Artista
Reações: 0
Mensagens: 62
Localização: BH

Contato:

Re: Seta seguindo circunferência  Tópico resolvido

Mensagem por Mysterious Stranger » Ter Abr 07, 2020 3:15 pm

Consegui!!!
Pensei q se o caso era de espelhamento das coordenadas, era só eu espelhar as novas coordenadas levando em consideração a posição de mouse_x e mouse_y:

Código: Selecionar todos

// sendo x a posição x do raio
// sendo y-12 a posição y do raio
var xradius = (x - mouse_x) + x;
var yradius = ((y-12) - mouse_y) + (y-12);

// agora desenha a seta
draw_sprite_ext( spr_arrow_direction, image, xradius, yradius, 1, 1, vdirection, cor, 1 );
Imagem

Foi mais fácil q pensei. Sou péssimo para encontrar soluções matemáticas, mas pelo caminho da lógica eu costumo chegar lá rsrsrs.

Valeu pelo socorro, grononmc

Trancado

Quem está online

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