GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


[Dúvida/Ajuda] Personagem andar com um clique do mouse

4 participantes

Ir para baixo

[Dúvida/Ajuda] Personagem andar com um clique do mouse Empty [Dúvida/Ajuda] Personagem andar com um clique do mouse

Mensagem por Kojiro Hiori Ter 13 Set 2011, 21:47

Olá! Sou novo aqui no fórum e esse é o meu primeiro post...
Nunca tive contato com programação, e comecei a aprender com a linguagem GML. Já tentei de várias formas fazer com que meu personagem se mova com o clique esquerdo do mouse (Gostaria que meu personagem andasse tanto com as setas de direção do teclado quanto com o mouse).
A parte de andar pelo teclado já foi trabalhada e está em 100%, e eu consegui fazer com que meu personagem se mova com o clique, mas a sprite dele não se move de acordo com a direção correta... Realmente preciso tirar várias dúvidas, mas essa é a que está em prioridade...

Informações adicionais:
Fiz com que meu char tivesse cada animação (sprite) para cada movimento:
Código:
Sprite dele parado:
frente; (sul)
costas; (norte)
esquerda; (oeste)
direita; (leste)
sudeste;
nordeste;
sudoeste e
noroeste.
Código:
Sprite dele andando:
cfrente; (sul)
ccostas; (norte)
cesquerda; (oeste)
cdireita; (leste)
csudeste;
cnordeste;
csudoeste e
cnoroeste.

Desde já, agradeço a compreenção e a atenção de vocês antecipadamente.
Kojiro Hiori
Kojiro Hiori

Data de inscrição : 13/09/2011
Reputação : 0
Número de Mensagens : 9
Prêmios : [Dúvida/Ajuda] Personagem andar com um clique do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Dúvida/Ajuda] Personagem andar com um clique do mouse Empty Re: [Dúvida/Ajuda] Personagem andar com um clique do mouse

Mensagem por Markituh Ter 13 Set 2011, 22:24

Você pode usar a função mouse_check_button_pressed() no Step para checar se um botão foi pressionado. Ou pode criar um evento Mouse Left Pressed e colocar o código de movimento. A estrutura básica é essa:
Código:
// Evento Mouse Left Pressed
var mx, my;
mx = mouse_x; // Armazena as coordenadas do mouse
my = mouse_y; // em variáveis
direction = point_direction(x, y, mx, my); // Direção de acordo com a coordenada do objeto e a coordenada do mouse.
speed = 4 // Mude para qualquer velocidade que você queira.
while (x!= mx && y!= my)
{
      if (x == mx && y == my)
      {
      speed = 0; // Para o objeto.
      }

}
O loop while vai dar conta de parar quando chegar ao destino. Para definir a sprite para o objeto, você tem que checar a direção, que é baseada em 360 graus e 0º = direita absoluta e um valor positivo rotaciona para a esquerda. A checagem poderia ser feita assim:
Código:
if direction > 0 && direction < 80 // Nordeste
{
sprite_index = spr_player_nordeste_andando;
}
Coloque a essa checagem depois da definição da direção. E coloque denovo essa checagem dentro do IF do loop WHILE para colocar desta vez a sprite dele parado. Espero ter sido claro.
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : [Dúvida/Ajuda] Personagem andar com um clique do mouse Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Dúvida/Ajuda] Personagem andar com um clique do mouse Empty Re: [Dúvida/Ajuda] Personagem andar com um clique do mouse

Mensagem por uriel.56 Ter 13 Set 2011, 22:26

Tente usar o famoso " image_angle=direction "

Além de economizar vários sprites, ele deixa o personagem lívre.

Faz o seguinte

bota no step

image_angle=direction

vê se resolve o problema.
uriel.56
uriel.56

Data de inscrição : 13/02/2010
Reputação : -2
Número de Mensagens : 430
Prêmios : [Dúvida/Ajuda] Personagem andar com um clique do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Dúvida/Ajuda] Personagem andar com um clique do mouse Empty Re: [Dúvida/Ajuda] Personagem andar com um clique do mouse

Mensagem por Markituh Ter 13 Set 2011, 22:32

Tente usar o famoso " image_angle=direction "

Além de economizar vários sprites, ele deixa o personagem lívre.
Se for um jogo de tiro em top-down, por exemplo. Mas ao que me parece, é um RPG. Outra coisa é que para o image_angle = direction funcionar corretamente, a sprite do player precisa estar virada para a direita.
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : [Dúvida/Ajuda] Personagem andar com um clique do mouse Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Dúvida/Ajuda] Personagem andar com um clique do mouse Empty Re: [Dúvida/Ajuda] Personagem andar com um clique do mouse

Mensagem por Kojiro Hiori Ter 13 Set 2011, 23:05

Olá! Eu testei o código; coloquei-o no evento "Mouse: Left Button", mas ainda sim, quando clico, nada ocorre...
Código:
// Evento Mouse Left Pressed
var mx, my;
mx = mouse_x; // Armazena as coordenadas do mouse
my = mouse_y; // em variáveis
direction = point_direction(x, y, mx, my); // Direção de acordo com a coordenada do objeto e a coordenada do mouse.
if direction > 0 && direction < 80 // Nordeste
{
sprite_index = cnordeste; //Sprite do char andando para nordeste
}
speed = 4 // Mude para qualquer velocidade que você queira.
while (x!= mx && y!= my)
{
if direction > 0 && direction < 80 // Nordeste
{
sprite_index = cnordeste; //Sprite do char andando para nordeste
}
      if (x == mx && y == my)
      {
      speed = 0; // Para o objeto.
      }

}

Edit: Eu tentei por no evento "Step", com o comando:
"if mouse_check_button_pressed(mb_left){
E o código aqui
}
Mas o jogo trava o computador todo, ao clicar na tela...


Última edição por Kojiro Hiori em Ter 13 Set 2011, 23:19, editado 1 vez(es)
Kojiro Hiori
Kojiro Hiori

Data de inscrição : 13/09/2011
Reputação : 0
Número de Mensagens : 9
Prêmios : [Dúvida/Ajuda] Personagem andar com um clique do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Dúvida/Ajuda] Personagem andar com um clique do mouse Empty Re: [Dúvida/Ajuda] Personagem andar com um clique do mouse

Mensagem por Markituh Ter 13 Set 2011, 23:19

Ah sim, na verdade o evento é Global Mouse Button Pressed. O Mouse Button normal vai executar quando você clicar na sprite do player. E outra coisa, o último IF de checagem de direção é pra ficar dentro do IF do WHILE, e nao é andando, é parado. Assim:
Código:
// Evento Mouse Left Pressed
var mx, my;
mx = mouse_x; // Armazena as coordenadas do mouse
my = mouse_y; // em variáveis
direction = point_direction(x, y, mx, my); // Direção de acordo com a coordenada do objeto e a coordenada do mouse.
if direction > 0 && direction < 80 // Nordeste
{
sprite_index = cnordeste; //Sprite do char andando para nordeste
}
speed = 4 // Mude para qualquer velocidade que você queira.
while (x!= mx && y!= my)
{
      if (x == mx && y == my)
      {
      speed = 0; // Para o objeto.
            if direction > 0 && direction < 80 // Nordeste
            {
            sprite_index = nordeste; //Sprite do char PARADO para nordeste
            }
      }

}
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : [Dúvida/Ajuda] Personagem andar com um clique do mouse Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Dúvida/Ajuda] Personagem andar com um clique do mouse Empty Re: [Dúvida/Ajuda] Personagem andar com um clique do mouse

Mensagem por Kojiro Hiori Ter 13 Set 2011, 23:30

Então, cara, eu criei o evento global de clique do mouse e coloquei o código, mas sempre que clico na tela, o jogo trava (juntamente do computador) por um tempo um tantoque longo... Eu não sei qual o erro... silent
Kojiro Hiori
Kojiro Hiori

Data de inscrição : 13/09/2011
Reputação : 0
Número de Mensagens : 9
Prêmios : [Dúvida/Ajuda] Personagem andar com um clique do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Dúvida/Ajuda] Personagem andar com um clique do mouse Empty Re: [Dúvida/Ajuda] Personagem andar com um clique do mouse

Mensagem por Alguém Ter 13 Set 2011, 23:34

Kojiro, será que nao e a capacidade do seu computador nao ser boa o suficiente e com isso, ele trava?
Alguém
Alguém

Data de inscrição : 30/05/2011
Reputação : 0
Número de Mensagens : 36
Prêmios : [Dúvida/Ajuda] Personagem andar com um clique do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Dúvida/Ajuda] Personagem andar com um clique do mouse Empty Re: [Dúvida/Ajuda] Personagem andar com um clique do mouse

Mensagem por Kojiro Hiori Ter 13 Set 2011, 23:38

Uai, começou a travar do nada aqui agora, por causa de um script... Antes funcionava normalmente, só foi eu colocar o evento juntamente com o script... Smile

Edit: Quando inicio o jogo, fica normal, trava apenas quando clico na tela...
Kojiro Hiori
Kojiro Hiori

Data de inscrição : 13/09/2011
Reputação : 0
Número de Mensagens : 9
Prêmios : [Dúvida/Ajuda] Personagem andar com um clique do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Dúvida/Ajuda] Personagem andar com um clique do mouse Empty Re: [Dúvida/Ajuda] Personagem andar com um clique do mouse

Mensagem por Alguém Ter 13 Set 2011, 23:40

Então nao e o que eu pensava, então deleta esse script e cria outro ou então tenta usar eles sem ser no mesmo personagem
Alguém
Alguém

Data de inscrição : 30/05/2011
Reputação : 0
Número de Mensagens : 36
Prêmios : [Dúvida/Ajuda] Personagem andar com um clique do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Dúvida/Ajuda] Personagem andar com um clique do mouse Empty Re: [Dúvida/Ajuda] Personagem andar com um clique do mouse

Mensagem por Kojiro Hiori Ter 13 Set 2011, 23:54

Poxa, eu realmente queria por o sistema de clique nele... Tentei de diversas formas e não consegui; me registrei no fórum especialmente por busca de ajuda :/

Ninguém mais poderia me socorrer e me tirar esse problema?
Kojiro Hiori
Kojiro Hiori

Data de inscrição : 13/09/2011
Reputação : 0
Número de Mensagens : 9
Prêmios : [Dúvida/Ajuda] Personagem andar com um clique do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Dúvida/Ajuda] Personagem andar com um clique do mouse Empty Re: [Dúvida/Ajuda] Personagem andar com um clique do mouse

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos