[RESOLVIDO] Ajuda com o botão esquerdo do mouse

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [RESOLVIDO] Ajuda com o botão esquerdo do mouse

Mensagem por Adriano Heartless em Sab 21 Maio 2011, 19:47

Ola pessoal salvadora!
To desesperado precisando de umas dicas aqui, é o seguinte:

No projeto tem um botão de ajuda que quando a pessoa clica nele aparece um balão mostrando uma mensagem. O funcionamento do botão já está perfeito só que eu queria que enquando o bãlao estiver na tela desative o botão esquerdo do mouse para que o jogador não possa selecionar nenhum item. Ou sejá


Existe alguma forma de desativar o botão esquerdo do mouse...quando o usuario clicar não acontecer nada.

Mas, tem um porem preciso que seja para todos os objetos. Estava pensando em uma variavel que se ela estiver true...desative o botão esquerdo do mouse... tentei fazer isso mas não deu certo.


no left pressed do item eu coloquei

Código:
Código:
    if global.selecao_ativada = false { alarm[0]=30;}







A variavel selecao_ativada era um jeito de não deixar o item ser selecionado...mas eu teria que fazer em todos os itens...tem como setativar mesmo o mouse_left >.<


Última edição por adriano Heartleless em Seg 06 Jun 2011, 18:01, editado 2 vez(es)

Adriano Heartless

Número de Mensagens : 95
Idade : 27
Data de inscrição : 12/02/2011
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://ganelse.blogspot.com.br/

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajuda com o botão esquerdo do mouse

Mensagem por Limalokão em Sab 21 Maio 2011, 20:20

Tenta usar assim:

mouse_clear(mb_left) // dentro do if alguma coisa tipo: if global.selecao=false {mouse_clear(mb_left)}

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajuda com o botão esquerdo do mouse

Mensagem por Thopson1m em Sab 21 Maio 2011, 21:30

Pelo que eu saiba, se vc não colocar o mouse para interagir de alguma forma em seu jogo, ele não irá. Eu até testei isso em alguns jogos meus e o mouse só fazia alguma coisa quando eu especificava isso nos meus códigos.


Última edição por Zignaw em Seg 23 Maio 2011, 14:12, editado 1 vez(es)

Thopson1m

Número de Mensagens : 624
Idade : 26
Data de inscrição : 21/05/2011
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://gnbr.forumeiros.com

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajuda com o botão esquerdo do mouse

Mensagem por Adriano Heartless em Sab 21 Maio 2011, 23:29

Teitei fazer o que o Soul falou e deu quase certo LOL
Pesquisei sobre o comando mouse_clear ele só limpa o botão apertado ou seja depois que aperta o botao ele trava lol
é quase isso só falta impidi ele de apertar definitivamente e não uma unica vez =/
e tem vezes que não da certo ele nem trava depois de apertar y.y

Zignaw é exatamente isso os objets que eu quero que não ative são aqueles que tem o evento Mouse_left pressed. queria uma variavel ou uma forma de desativar esse evento quando for necessario. =/

Adriano Heartless

Número de Mensagens : 95
Idade : 27
Data de inscrição : 12/02/2011
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://ganelse.blogspot.com.br/

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajuda com o botão esquerdo do mouse

Mensagem por Zero. em Dom 22 Maio 2011, 07:55

è so ao inves de vc usar o evendo Mouse Left usar um codigo em GML
Tipo : if "um desses ai abaix" {//ação}
mouse_check_button("aqui o botao direito ou esquerdo")
mouse_check_button_release("aqui o botao direito ou esquerdo")
mouse_check_button_pressed("aqui o botao direito ou esquerdo")


Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajuda com o botão esquerdo do mouse

Mensagem por Grotle em Dom 22 Maio 2011, 11:11

Primeiro crie um objeto chamado obj_mouse, e nele coloca esse código no evento CREATE:
Código:
global.clicar=true

Coloque esse código no evento STEP dos objetos que podem ser selecionados:
Código:
if global.clicar=true
{
if mouse_check_button_pressed(mb_left)
{//executa ação}
}

Quando quiser desativar o botão esquerdo do mouse:
Código:
global.clicar=false

Quando quiser ativar o botão esquerdo do mouse:
Código:
global.clicar=true

Flws!

Grotle

Ranking : Nota B
Número de Mensagens : 559
Idade : 21
Data de inscrição : 28/02/2010
Notas recebidas : B-B
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://gsogaming.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajuda com o botão esquerdo do mouse

Mensagem por Shadow10 em Dom 22 Maio 2011, 11:44

Segue o exemplo do Grotle que funciona.
Eu tinha feito uma engine que desativava o teclado e servia pra isso também, só que eu tirei da minha assinatura, tava ocupando muito espaço.


Última edição por Shadow10 em Sab 28 Maio 2011, 23:59, editado 1 vez(es)

Shadow10

Ranking : Nota C
Número de Mensagens : 429
Data de inscrição : 07/11/2010
Notas recebidas : C
Reputação : 19
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajuda com o botão esquerdo do mouse

Mensagem por Thopson1m em Dom 22 Maio 2011, 11:53

Para vc ter tido a sua assinatura removida, então era pq tinha MUITA coisa nela. Shocked
E sim, o Grotle, além de ser moderador, tem um vasto conhecimento de GM e ajuda a nós, iniciantes, da melhor forma possível. Muito obrigado por isso, Grotle. blz


Última edição por Zignaw em Seg 23 Maio 2011, 14:12, editado 1 vez(es)

Thopson1m

Número de Mensagens : 624
Idade : 26
Data de inscrição : 21/05/2011
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://gnbr.forumeiros.com

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajuda com o botão esquerdo do mouse

Mensagem por Adriano Heartless em Seg 23 Maio 2011, 14:00

ehehe poxa pessoal vlw ai pela ajuda, juntei todas as dicas que vocês falaram e finalmente ta andando a parada aqui lol

Bom vamos lá as conclusões e as dúvidas.

Como eu havia explicado estava tendo problemas com o botão esquerdo do mouse, pois não queria que o jogador selecionasse o item com o mouse quando estivesse um balão de ajuda na tela. Tentei de toda a forma desativar o botão esquerdo do mouse.

Segui a primeira dica da kiklin123 e realmente melhorou muito, ou seja, não estou mais utilizando os event mouse enter, mouse leave nem o mouse left presed. E ainda to seguindo exatamente o que o grande Grotle disse Happy

Mas, ainda não está funcionando corretamente as coisas aqui =/
Vou explicar:


Primeiramente crie uma variável como o Grotle falou que controla o funcionamento do botão

Global.mouse_left

Quando ela for true o mouse funciona nos outros objetos selecionados e quando é false não!


Então nos itens que podem ser selecionado eu tirei todos os events e coloquei somente no step deles dessa forma









Código:
if global.mouse_left= false {

if position_meeting(mouse_x,mouse_y,self) {
// mouse on
Global.selecionar=true;
sprite_index=(spr_item_on)

// mouse left
if mouse_check_button(mb_left) {instance_destroy()}

} else {
// mouse off
Global.selecionar=false;
sprite_index=(spr_item)
}
}

Vamos por parte:

position_meeting(mouse_x,mouse_y,self)

Eu adicionei isso, pois sem isso eu poderia clicar em qualquer ponto da tela e ele selecionaria o item o.O.
Pesquisei aqui no fórum e esse código caiu como uma luva, ele e a mesma coisa que o event mouse enter. Dessa forma a parte mouse_check_button(mb_left) só funciona se o mouse estiver dentro do objeto!


Global.selecionar=true;


Ai que ta o problema! Mas, vou explicar mais embaixo.
Essa variável eu criei para organizar acontecimentos do projeto e também serve para controlar a sprite do mouse (quando o mouse esta no item vira um dedo indicando e quando esta fora muda para o sprite original da seta)

sprite_index=(spr_item_on)

muda o sprite do item para selecionado…ele fica piscando!

// mouse left
if mouse_check_button(mb_left) {instance_destroy()}

Se o mouse estiver dentro do item e aperta o botão esquerdo o item é destruído! (isso é um exemplo ‘0’)


else {
// mouse off
Global.selecionar=false;
sprite_index=(spr_item)
}
}


Isso seria o event Mouse Leave...quando o mouse sai de dentro do item o sprite dele deixa de piscar e a variável selecionar fica false


No envet mouse enter dos itens eu coloquei

Código:
sound_play(sfx_mouse_on)

Tive que criar um event enter pois não deu certo colocar isso aqui no step pois o som ficava repetindo direto e no mouse enter só vai uam unica vez


Enfim, agora não sei como vou explicar isso, mas vou tentar...
Fazendo vários testes aqui eu percebi que

A variável global.selecionar só muda uma vez. Por exemplo...esse código ai é padrão praticamente em todos os item que eu posso selecionar com o mouse. Só que quando eles estão na room somente um muda a variável. Os outros não mudam a variável, mas fazem perfeitamente as outras coisas! O.O

No menu inicial do jogo por exemplo,

Menu história

Menu atividades

Menu sair


Quando eu passo o mouse no menu história a variável não fica true e nem false

O mesmo para o menu sair

Mas, quando passo o mouse no menu atividade a variável muda os valores perfeitamente!!!!

Detalhe que os três objetos são iguais!!!...eu até tentei fazer um parent e aconteceu a mesma coisa >.<

Comandos como with também não funciona
Código:

if position_meeting(mouse_x,mouse_y,self) {
with(personagem) {sprite_index=(spr_olhando)}
}
Else {with(personagem) {sprite_index=(negando)}
}


>.<


Adriano Heartless

Número de Mensagens : 95
Idade : 27
Data de inscrição : 12/02/2011
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://ganelse.blogspot.com.br/

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajuda com o botão esquerdo do mouse

Mensagem por Thopson1m em Seg 23 Maio 2011, 14:17

Talvez o error esteja na parte de:

Global.selecionar=true;

Ai que ta o problema! Mas, vou explicar mais embaixo.
Essa variável eu criei para organizar acontecimentos do projeto e também serve para controlar a sprite do mouse (quando o mouse esta no item vira um dedo indicando e quando esta fora muda para o sprite original da seta)

sprite_index=(spr_item_on)

muda o sprite do item para selecionado…ele fica piscando!

// mouse left
if mouse_check_button(mb_left) {instance_destroy()}

Se o mouse estiver dentro do item e aperta o botão esquerdo o item é destruído! (isso é um exemplo ‘0’)


else {
// mouse off
Global.selecionar=false;
sprite_index=(spr_item)
}
}

Vc não pode colocar para destruir a instância mouse, pois é com ele que vc seleciona tudo no jogo, agora imagine se o GM permitisse isso: vc não poderia mexer novamente com o mouse até: ou reiniciar o programa toda vez que isso ocorrer, ou corrigir o código.
Acredito que o GM não esteja executando isso por não estar prevenido caso queiram destruir a instância mouse.

Thopson1m

Número de Mensagens : 624
Idade : 26
Data de inscrição : 21/05/2011
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://gnbr.forumeiros.com

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajuda com o botão esquerdo do mouse

Mensagem por Adriano Heartless em Seg 23 Maio 2011, 17:46

Yahahah eita se pudesse seria um virus e tanto lol
virus que destroi a seta do mouse no sistema!!!

Mas no caso não é isso Zignaw.
Esse codigo esta rodando no step dos objetos que podem ser selecionados pelo mouse e não a instance mouse. T-T

Mas, o ero estava realmente onde vc falou. Com a sua ajuda eu consegui aparentimente resolver...o que estava atrapalhando era o else o.O

então criei um event mouse_leave em cada objeto que tem que clicar e coloquei essa parte lá

Código:
else {
// mouse off
Global.selecionar=false;
sprite_index=(spr_item)
}
}

AI DEU CERTO Feliz

Vou modificar todos os itens selecionados do projeto aqui agora para ver se resolveu em todas as situações e se deu certo pode deixar que eu mesmo fecho o tópico Happy. Queria agradecer ai a força de vcs e se alguem tiver uma maneira mais facil de resover isso porfavor coloque ai no tópico flw

Adriano Heartless

Número de Mensagens : 95
Idade : 27
Data de inscrição : 12/02/2011
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://ganelse.blogspot.com.br/

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Ajuda com o botão esquerdo do mouse

Mensagem por Conteúdo patrocinado Hoje à(s) 04:03


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum