Movimentação com mouse

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

Movimentação com mouse

Mensagem por Rafael Araujo em Sab 25 Ago 2012, 11:50

Minha intenção era criar um sistema onde o "objeto_jogador" seguiria uma posição determinada pelo clique do mouse.
Ao alcançar essa posição pararia.
Tentei o seguinte codigo no Global Left mas n deu certo:
Código:

coord1 = mouse_x;
coord2 = mouse_y;
while (distance_to_point(coord1,coord2)>10)
{
move_towards_point(coord1,coord2,4)
}

Rafael Araujo

Número de Mensagens : 6
Data de inscrição : 25/08/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Movimentação com mouse

Mensagem por PedroX em Sab 25 Ago 2012, 12:04

No evento do Mouse deixe só o código:
Código:
xx = mouse_x;
yy = mouse_y;
direction = point_direction(x, y, xx, yy);

No Step você coloca:
Código:
if (distance_to_point(xx, yy) >= 10)
    speed = 5;
else
    speed = 0;

O while faz tudo no mesmo step, gerando problemas diversos.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Movimentação com mouse

Mensagem por Rafael Araujo em Sab 25 Ago 2012, 12:13

Mas nesse caso, o evento Step viria antes do evento Global Left e, consequentemente, ele n identificaria as variáveis "xx" e "yy".

P.S.: comecei no Game maker ha muito pouco tempo

Rafael Araujo

Número de Mensagens : 6
Data de inscrição : 25/08/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Movimentação com mouse

Mensagem por PedroX em Sab 25 Ago 2012, 12:14

Mas no próximo Step ele identificaria.

Edit: coloque essas variáveis no Create:

Código:
xx = x;
yy = y;


Última edição por Pedrø em Sab 25 Ago 2012, 12:16, editado 1 vez(es)

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Movimentação com mouse

Mensagem por Rafael Araujo em Sab 25 Ago 2012, 12:15

Mas o jogo nem roda por causa disso

Rafael Araujo

Número de Mensagens : 6
Data de inscrição : 25/08/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Movimentação com mouse

Mensagem por PedroX em Sab 25 Ago 2012, 12:16

Tem razão. Defina no Create também (veja meu post acima que editei se tiver dúvidas). Esqueci de te avisar.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Movimentação com mouse

Mensagem por Rafael Araujo em Sab 25 Ago 2012, 12:20

Realmente isso n funcionou da forma que eu gostaria.
Desculpe, eu acho q n fui muito claro, mas a minha intenção era que, de acordo com meu clique em determinado ponto da room, meu personagem se dirigisse ate esse ponto e parasse ao chegar nele.
Se eu clicasse novamente em qualquer outro ponto, ele passaria a ter esse ponto como referencia.
Não estou falando de direção mas de um ponto especifico.
Seu metodo n funcionou =/
Obrigado pela paciencia

Rafael Araujo

Número de Mensagens : 6
Data de inscrição : 25/08/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Movimentação com mouse

Mensagem por PedroX em Sab 25 Ago 2012, 12:26

Deixe as variáveis no Create.
No Evento do mouse apague a linha do código da direção.
No Step coloque:

Código:
if (distance_to_point(xx, yy) >= 10)
move_towards_point(xx, yy, 5);
else
speed = 0;

Obs: essa função muda a direção também...

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Movimentação com mouse

Mensagem por Rafael Araujo em Sab 25 Ago 2012, 12:35

Eu segui os procedimentos.
Metade das vezes, a missão é cumprida mas na outra, ocorre um bug e o personagem fica indo e voltando.
Eu tenho outra pergunta: como eu poderia realizar o mesmo movimento mas alinhando sempre meu personagem à grid.

Rafael Araujo

Número de Mensagens : 6
Data de inscrição : 25/08/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Movimentação com mouse

Mensagem por PedroX em Sab 25 Ago 2012, 12:53

Acho que nesse ponto o melhor a fazer é seguir um tutorial:

http://gmbr.forumeiros.com/t10582-

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Movimentação com mouse

Mensagem por Rafael Araujo em Sab 25 Ago 2012, 13:01

Obrigado pela indicação mas esse tutorial não me serviu.
Eu preciso que a movimentação haja em função do personagem, e do clique do mouse, mas sem um alvo especifico.
Ainda estou tentando consertar o bug...
Poderia ser um problema com decimais (floor)?

Rafael Araujo

Número de Mensagens : 6
Data de inscrição : 25/08/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Olha

Mensagem por God_of_war425 em Sab 25 Ago 2012, 14:13

Olha,o metodo que sempre uzo é cada ves que você clicar num local com mouse ele,cria um objto para o player seguir e quando o player chegar naquele objto ele destroi o objto fica +ou- assim

glob mouse left pressed

instance_create(mouse_x,mouse_y,obj_ponto)

step do "player"

if instance_exists(obj_ponto)
{
//o codigo que fais ele ir aõ pontos,uzeu mp_potential_step
//eu uzo iso nos meus jogos de zombie e eles vão até player desviando de tudo.
}

flw.

God_of_war425

Número de Mensagens : 510
Idade : 18
Data de inscrição : 29/10/2011
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Movimentação com mouse

Mensagem por Conteúdo patrocinado Hoje à(s) 12:28


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