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


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

- Tópicos semelhantes

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