Conectar-se
Quem está conectado
18 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 18 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 04/05/2013
Número de Mensagens : 32
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Ajuda com seguir mouse.

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)
avatar
Data de inscrição : 02/06/2013
Número de Mensagens : 42
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Ajuda com seguir mouse.

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)
Data de inscrição : 27/11/2012
Número de Mensagens : 241
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 42
Ver perfil do usuário

Re: Ajuda com seguir mouse.

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.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Ajuda com seguir mouse.

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
Data de inscrição : 27/11/2012
Número de Mensagens : 241
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 42
Ver perfil do usuário

Re: Ajuda com seguir mouse.

em Dom 25 Maio 2014, 19:56
Perfeito Willy, desse modo você "encaixa" o objeto na posição alvo com 100% de eficácia.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum