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
» Problema ao entrar por uma porta e voltar por ela
por aminaro Ontem à(s) 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

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

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

» 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

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


Problemas com o mouse (botão direito)

3 participantes

Ir para baixo

Problemas com o mouse (botão direito) Empty Problemas com o mouse (botão direito)

Mensagem por Ricardo Alves Sex 07 Set 2012, 01:05

Olá pessoal, algo ultimatente está me dando nervosismo. Vou explicar:

Quando pressiono, por exemplo, a tecla "A" e mantenho-a pressionada, minha nave se movimenta para esquerda. Até aí tudo bem. Agora quando pressiono o botão direito do mouse e mantenho-o pressionado (lembre-se que "A" também está pressionada) minha nave ativa a hipervelocidade, que é a speed=speed+1. Até aí também tudo bem Very Happy!!! Agora quando solto a tecla "A" e aperto a "D" (lembre-se que o botão direito do mouse está pressionado, para manter a hipervelocidade) era para mudar de direção, mas não muda! Ela continua movendo-se para esquerda! Help me, please!!!

Lembrando que eu coloquei que se speed>20, faça speed=20, para manter a velocidade em 20 na hipervelocidade (sem a hipervelocidade eu fiz a mesma coisa, porém com velocidade=12. Os movimentos de direção coloquei nos eventos keyboard, e como ações coloquei o movimento livre, relativo, definindo o angulo para cada letra correspondente a direção.
Ricardo Alves
Ricardo Alves

Data de inscrição : 05/09/2012
Reputação : 0
Número de Mensagens : 14
Prêmios : Problemas com o mouse (botão direito) 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

Problemas com o mouse (botão direito) Empty Re: Problemas com o mouse (botão direito)

Mensagem por KinKing Sex 07 Set 2012, 13:42

Só pra ter certeza: ângulo 0 = direita, 90 = cima, 180 = esquerda, 270 = baixo, certo?

Você está mudando o ângulo sem "relativo?"

Você quer que a nave gire ou simplesmente se mova para a direção, independente do ângulo próprio?
KinKing
KinKing

Data de inscrição : 29/05/2008
Reputação : 16
Número de Mensagens : 422
Prêmios : Problemas com o mouse (botão direito) 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

http://felipejoys.webnode.com

Ir para o topo Ir para baixo

Problemas com o mouse (botão direito) Empty Re: Problemas com o mouse (botão direito)

Mensagem por Ricardo Alves Sex 07 Set 2012, 13:56

Os ângulos são esses mesmos que você disse. Os ângulos são relativos (assim o movimento é mais suave e realista), mas quando atinge velocidade 12, ela se mantém no 12, como disse.

Já coloquei para minha nave girar para onde a seta do mouse está (ela só gira, mas se eu quiser movimentar a nave, tenho que apertar as teclas de direção, que são w,s,a,d). Quero também que ela se mova para a nova direção ao trocar de direção (ex.: se eu tava apertando "a", que é para esquerda, soltar, e apertar "d", quero que vá para direita, mesmo mantendo o botão do mouse direito pressionado para manter a hipervelocidade, independentemente do ângulo no qual se encontra).

O ângulo da nave não importa, pois ela sempre está virado para a setinha do mause. Aí eu posso por exemplo andar para trás e mirar para frente, caso a nave inimiga esteja na minha frente. Já agora para o movimento, coloquei os ângulos que você disse, e relativo.
Ricardo Alves
Ricardo Alves

Data de inscrição : 05/09/2012
Reputação : 0
Número de Mensagens : 14
Prêmios : Problemas com o mouse (botão direito) 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

Problemas com o mouse (botão direito) Empty Re: Problemas com o mouse (botão direito)

Mensagem por KinKing Sex 07 Set 2012, 14:26

O que eu acredito que pode ser o problema (porque você está explicando a teoria mas não está mostrando os códigos) é você não estar usando a variável direction.

image_angle é só o sprite: não muda a direção de navegação da sua nave. Com direction que você faz isso. Então se toda a tecla que você aperta apenas aumenta a speed, ela só vai para a esquerda mesmo, que é a direção inicial.

Veja este gmk, deve ser algo como você quer. Clique aqui!

Para andar de acordo com a direction do objeto, acredito que motion_add/motion_set é o que você procura.
KinKing
KinKing

Data de inscrição : 29/05/2008
Reputação : 16
Número de Mensagens : 422
Prêmios : Problemas com o mouse (botão direito) 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

http://felipejoys.webnode.com

Ir para o topo Ir para baixo

Problemas com o mouse (botão direito) Empty Re: Problemas com o mouse (botão direito)

Mensagem por Ricardo Alves Sex 07 Set 2012, 14:57

O ângulo do sprite está certo, está sempre voltado para a setinha do mause. Mas eu não quero que ele vá para a setinha automaticamente. Quero que ele vá para para direção que eu definir (apertando as teclas w,a,s,d). Seria assim:

no step coloca o código:
Código:
image_angle=point_direction(x,y,mouse_x,mouse_y)
e coloca fricção 0.3 não relativa (sem ser código).

Crie evento keyboard letter "A" move free, direction 180, speed 0.7, relativo (sem ser código).
Crie evento keyboard letter "D" move free, direction 0, speed 0.7, relativo (sem ser código).
Crie evento keyboard letter "S" move free, direction 270, speed 0.7, relativo (sem ser código).
Crie evento keyboard letter "W" move free, direction 90, speed 0.7, relativo (sem ser código).

Crie evento Glob right button (mouse>glob mouse>glob right button) e coloca o código:
Código:
speed+=1;
if(speed>25){speed=25}

Fiz aqui mas não deu para enviar pq ainda não tenho servidor para armazenar.

Ao fazer aumentar speed se pressionar botão direito do mouse, o bonequinho só vai para uma direção, e não muda conforme eu mudo as teclas (com o botão direito do mause continuamente pressionado). Só muda quando eu solto o botão (desativando a hipervelocidade), pressiono uma tecla de direção que quero e pressiono o botão hipervelocidade novamente.

Quero trocar de direção sem precisar de soltar o botão direito do mause.
Ricardo Alves
Ricardo Alves

Data de inscrição : 05/09/2012
Reputação : 0
Número de Mensagens : 14
Prêmios : Problemas com o mouse (botão direito) 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

Problemas com o mouse (botão direito) Empty Re: Problemas com o mouse (botão direito)

Mensagem por KinKing Sex 07 Set 2012, 15:29

Eu pesquisei e testei, cheguei a uma conclusão:

Seu objeto está sempre "virado" para a esquerda, independente do movimento ou da imagem. Ao acionar a propulsão, ele invariavelmente irá para a esquerda, pois você está adicionando quantidades grandes à velocidade dele e motion dele para a esquerda.

Analogia:

Imagine que você está de pé no meio da sala. Alguém te empurra para a direita, mas você não vira, apenas é jogado para a direita. Ou para a esquerda, ou para cima, mas sempre virado pro mesmo ponto. É isso que está acontecendo. Porque o seu código de Draw (image_angle) não interfere na lógica do objeto (direction).

O que eu recomendo:

Create -> velocidadeMaxima = 12
Mouse click -> velocidadeMaxima = 20
Mouse release -> velocidadeMaxima = 12
Step -> se "speed>velocidadeMaxima", faça "speed -= 2" (-= subtrai)

Isso fará simplesmente alterar a velocidade máxima do objeto... não sei bem se é o que você quer, mas em todo caso acho você não vai conseguir apenas alterando a variável speed.

EDITADO para alterar explicações! (está em negrito!)
KinKing
KinKing

Data de inscrição : 29/05/2008
Reputação : 16
Número de Mensagens : 422
Prêmios : Problemas com o mouse (botão direito) 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

http://felipejoys.webnode.com

Ir para o topo Ir para baixo

Problemas com o mouse (botão direito) Empty Re: Problemas com o mouse (botão direito)

Mensagem por Ricardo Alves Sex 07 Set 2012, 15:58

CARA, TA QUASE, É ISSO MESMO, ESTE É EXATAMENTE O PROBLEMA, E VOCÊ RESOLVEU!!! cheers

Só que tipo (tinha que ter um porém né...) em mouse click eu coloquei glob right buttom (é o único que funcionou eu acho). Só que ao despressionar o botão do mause e movimentar o bichinho normalmente, a velocidade não volta ao normal, continua grande.

Ricardo Alves
Ricardo Alves

Data de inscrição : 05/09/2012
Reputação : 0
Número de Mensagens : 14
Prêmios : Problemas com o mouse (botão direito) 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

Problemas com o mouse (botão direito) Empty Re: Problemas com o mouse (botão direito)

Mensagem por Markituh Sex 07 Set 2012, 16:04

Bom, o correto é usar o Global Mouse mesmo, já que o evento normal requer que você clique na sprite/mask do objeto. Será que ele não está voltando porque você está usando Mouse Released ao invés de Global Mouse Released? Verifique isso aí.

Abraços!
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : Problemas com o mouse (botão direito) 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

Problemas com o mouse (botão direito) Empty Re: Problemas com o mouse (botão direito)

Mensagem por Ricardo Alves Sex 07 Set 2012, 16:14

CARA, EU CONSEGUI!!! CONSEGUI FAZER!!! ALIÁS, VC CONSEGUIU!!! Vc é um anjo kkkkk. Muitíssimo obrigado, se quiser bolo pode vim rsrsrsrrs. Te dou 1000 pts!!! cheers Agradeço também ao Markituh.

Mas tipo, eu não intendi direito a causa do problema, porquê meu objeto está sempre virado para a esquerda e como assim image_angle não interfere em direction? Eu usando daquele jeito na fórmula está errado?
Ricardo Alves
Ricardo Alves

Data de inscrição : 05/09/2012
Reputação : 0
Número de Mensagens : 14
Prêmios : Problemas com o mouse (botão direito) 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

Problemas com o mouse (botão direito) Empty Re: Problemas com o mouse (botão direito)

Mensagem por Markituh Sex 07 Set 2012, 16:45

Opa Ricardo, sobre essa questão de não interferir... simplificando:

- image_angle é a rotação da sprite do objeto.
- direction é a direção a qual as coordenadas lógicas/a localização do objeto será atualizada a cada frame.

Pelo que vi no seu código, o conflito poderia estar na forma como você está fazendo o movimento; mas já que você conseguiu resolver, tá tudo certo. Tô um tempo ser mexer no GM, aí perdi as manhas, sabe como é.
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : Problemas com o mouse (botão direito) 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

Problemas com o mouse (botão direito) Empty Re: Problemas com o mouse (botão direito)

Mensagem por Ricardo Alves Sex 07 Set 2012, 17:18

Certo, é sempre bom saber os conceitos. No caso eu posso fazer

Código:
image_angle=point_direction(x,y,mouse_x,mouse_y)

Pois point_direction retorna as coordenadas em ângulo para onde a setinha do mouse está. Logo eu igualando-a com image_angle, o sprite ficará rotacionado para no mesmo ângulo onde a seta se encontra.
Ricardo Alves
Ricardo Alves

Data de inscrição : 05/09/2012
Reputação : 0
Número de Mensagens : 14
Prêmios : Problemas com o mouse (botão direito) 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

Problemas com o mouse (botão direito) Empty Re: Problemas com o mouse (botão direito)

Mensagem por Markituh Sex 07 Set 2012, 19:48

Exato. point_direction, para ficar mais explicadinho, vai retornar o coeficiente angular de uma reta dados pontos {x1, y1} e {x2, y2}. Então, para melhor efeito, seria interessante colocar o offset/origem da sprite (no editor de sprites) para o centro da nave.

Mas lembrando, já que o ângulo 0 é para a direita, é interessante que você coloque a sprite da nave no mesmo sentido. Ou, você poderia deixar para cima mesmo e igualar image_angle ao valor retornado por point_direction, menos 90º - tendo em mente que um valor positivo rotaciona para a esquerda , e um negativo, para a direita. Pois bem, é sempre bom saber um pouco de teoria para se dar bem na prática.

Abraços e bom projeto! Happy
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : Problemas com o mouse (botão direito) 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

Problemas com o mouse (botão direito) Empty Re: Problemas com o mouse (botão direito)

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


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