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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


[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