Ajuda com seguir mouse.

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

Ajuda com seguir mouse.

Mensagem por LittBk em Dom 25 Maio 2014, 19:21

Galera estou tetando fazer um objeto para seguir o ultimo clique do mouse, ou to movimento de arrastar.
Está tudo certo, mas quando o objeto esta na mesma posição x e y do mouse ele fica tremendo. Alguem ajuda?

Usando no step:
mouse_check_button(mb_left)
move_towards_point(mouse_x, mouse_y,14)

LittBk

Número de Mensagens : 32
Data de inscrição : 04/05/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com seguir mouse.

Mensagem por ocarteiro em Dom 25 Maio 2014, 19:31

tenta usar :

mp_linear_step(mouse_x,mouse_y,60,false)  

em vez de

move_towards_point(mouse_x, mouse_y,14)


Última edição por ocarteiro em Dom 25 Maio 2014, 19:49, editado 1 vez(es)

ocarteiro

Número de Mensagens : 42
Idade : 18
Data de inscrição : 02/06/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com seguir mouse.

Mensagem por Dotted Chaos em Dom 25 Maio 2014, 19:40

Isso acontece porque o objeto, a cada "step", move-se uma determinada distância fixa (no seu caso, 14 pixels).

Supondo que o ponto alvo esteja a menos de 14 pixels de distância, ocorre que ele ultrapassa este alvo, fazendo com que tente novamente no sentido inverso, e assim sucessivamente.

Pra evitar tal situação, estipule uma "zona morta", ex:
Código:
if (distance_to_point(x_do_alvo, y_do_alvo) > zona_morta) {
move_towards...
}

Certifique-se apenas que o valor da zona morta seja maior que o valor de pixels que o objeto se move a cada step.

Dotted Chaos

Número de Mensagens : 241
Data de inscrição : 27/11/2012
Reputação : 42
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com seguir mouse.

Mensagem por Willy em Dom 25 Maio 2014, 19:53

Para garantir que o objeto chegue ao ponto x,y, você pode usar sugestão do scratchware_dev, mas fazendo uma pequena alteração...
Faça o move_towards ser executado se a distancia do objeto que o chamou for maior que a velocidade que se move (no seu caso 14). Se for menor, então o move_towards não é executado e a posição x,y do objeto em questão é definida com o valor do ponto que estava sendo seguido. Ou seja:
Código:
if (distance_to_point(x_do_alvo, y_do_alvo) > 14) {
move_towards_point(mouse_x, mouse_y,14);
}else{
x = x_do_alvo;
y = y_do_alvo;
}

Flws... blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Ajuda com seguir mouse.

Mensagem por Dotted Chaos em Dom 25 Maio 2014, 19:56

Perfeito Willy, desse modo você "encaixa" o objeto na posição alvo com 100% de eficácia.

Dotted Chaos

Número de Mensagens : 241
Data de inscrição : 27/11/2012
Reputação : 42
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com seguir mouse.

Mensagem por Conteúdo patrocinado Hoje à(s) 23:59


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