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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 25/08/2012
Número de Mensagens : 6
Insígnias de JAM :

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

Movimentação com mouse

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)
}
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Movimentação com mouse

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.
avatar
Data de inscrição : 25/08/2012
Número de Mensagens : 6
Insígnias de JAM :

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

Re: Movimentação com mouse

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
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Movimentação com mouse

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)
avatar
Data de inscrição : 25/08/2012
Número de Mensagens : 6
Insígnias de JAM :

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

Re: Movimentação com mouse

em Sab 25 Ago 2012, 12:15
Mas o jogo nem roda por causa disso
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Movimentação com mouse

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.
avatar
Data de inscrição : 25/08/2012
Número de Mensagens : 6
Insígnias de JAM :

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

Re: Movimentação com mouse

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
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Movimentação com mouse

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!
avatar
Data de inscrição : 25/08/2012
Número de Mensagens : 6
Insígnias de JAM :

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

Re: Movimentação com mouse

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.
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Movimentação com mouse

em Sab 25 Ago 2012, 12:53
Acho que nesse ponto o melhor a fazer é seguir um tutorial:

http://gmbr.forumeiros.com/t10582-
avatar
Data de inscrição : 25/08/2012
Número de Mensagens : 6
Insígnias de JAM :

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

Re: Movimentação com mouse

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)?
avatar
Data de inscrição : 29/10/2011
Número de Mensagens : 510
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Olha

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.
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