Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

mouse_check_button duvidas

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Zero
Novato
Novato
Reações: 0
Mensagens: 19

mouse_check_button duvidas

Mensagem por Zero » Sáb Out 29, 2016 5:24 am

Porque quando uso o evento do mouse left button ele se comporta diferente do codigo usando mouse_check_button(mb_left)?
Quando uso mouse left button, ele verifica se eu cliquei sobre o obj que está usando este evento, mas se usar mouse_check_button(mb_left) em um step, ele verifica se o botão esquerdo do mouse foi apertado, independente de ter sido clicado neste obj ou não, ou seja, funciona como um global mouse left button. Como fazer um mouse left button por código em um step?

Avatar do usuário
Chuaschinai
Colaborador
Colaborador
Reações: 5
Mensagens: 198

Re: mouse_check_button duvidas

Mensagem por Chuaschinai » Sáb Out 29, 2016 8:12 am

Bom é porque o evento Mouse Pressed que você cria no objeto e dele mesmo então ele se refere a somente ele, agora quando você coloca algum codigo no step do objeto ele não se limita a eles da mesma forma que o Global mouse tambem não porque ele é global,  mas a sim uma forma simples de fazer isto, veja que é possível você delimitar uma área de checagem para que ele detecte o objeto ou botão:

Código: Selecionar todos

/// CREATE
mouse_enter = false; // checa se o mouse este dentro do botão ou não ect...

Código: Selecionar todos

/// STEP

var bt_height, bt_width;
bt_height = 64; // altura do botão
bt_width = 256; // largura do botão
if(mouse_check_button_pressed(mb_left)){ // caso botão esquerdo do mouse seja pressionado
    if(mouse_x > x-bt_width/2 && mouse_x < x+bt_width/2 && mouse_y > y-bt_height/2 && mouse_y < y+bt_height/2){ // faz a checagem nos eixos x e y do objeto a ser checado
        mouse_enter = true; // caso esteja dentro do objeto determina o valor da var do create em verdadeiro;
    } else mouse_enter = false; // caso não continua determinando em falso
}
Espero que te entendido fiz e nem testei, mas o creio que seja isso que você esteja procurando, qualquer coisa tamo ae...

Avatar do usuário
Superbomber
Programador
Programador
Reações: 0
Mensagens: 283
Localização: Natal-RN

Re: mouse_check_button duvidas

Mensagem por Superbomber » Sáb Out 29, 2016 11:15 am

Apenas corrigindo a informacao: 
- No [local] Mouse Check, alem de verificar o mouse esta sendo pressionado tambem verifica se o ponto na posicao do Mouse colide com a mascara do objeto.
- O Global Mouse Check, apenas verifica se o Mouse esta sendo pressionado.

Uma maneira pratica e simples de reproduzir isso:

Código: Selecionar todos

if( collision_point(mouse_x, mouse_y, id, true, false) && mouse_check_button(mb_left) ){
    // Codigo aqui
}
O resultado e identico ao evento (Mouse > Left button).

Leia no docs sobre as funcoes mouse_check_* e collision_*.

Bye. :flw:
Entrem neste link com o JavaScript desabilitado e vejam a mágica: https://tgmbrasil.com.br/?PageSpeed=n0script

Avatar do usuário
Zero
Novato
Novato
Reações: 0
Mensagens: 19

Re: mouse_check_button duvidas

Mensagem por Zero » Dom Out 30, 2016 7:36 pm

to usando esse collision_point, mas achei que tivesse algum comando específico. Obg pessoal :D

Responder

Quem está online

Usuários navegando neste fórum: Bing [Bot] e 7 visitantes