[RESOLVIDO] Detectar a posição do "ponteiro do mouse" / colisão mouse

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

[RESOLVIDO] Detectar a posição do "ponteiro do mouse" / colisão mouse

Mensagem por Natch em Sex 01 Jan 2010, 22:59

Boas....

O que pretendo é saber se clicaram numa determinado local de uma imagina, tenho uma imagem com desenho de dois botões, e quando clica na área onde tem o botão A acontece algo, e no B acontece outra coisa...
eu pretendo usar menos imagens possíveis no jogo, pensando seriamente em usar só o evento Draw...
resumindo eu quero é detectar se clicaram numa determinada área...


Última edição por Natch em Ter 19 Jan 2010, 12:50, editado 1 vez(es)

Natch

Número de Mensagens : 501
Idade : 27
Data de inscrição : 05/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://studionatch.com.sapo.pt/

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] Detectar a posição do "ponteiro do mouse" / colisão mouse

Mensagem por donte em Sex 01 Jan 2010, 23:02

não entendi a pergunta!

donte

Número de Mensagens : 1164
Idade : 18
Data de inscrição : 22/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://nintendocenterbr.forumeiros.com

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] Detectar a posição do "ponteiro do mouse" / colisão mouse

Mensagem por Natch em Sab 02 Jan 2010, 00:40

o que eu quero é que quando eu clico na room dentro de...
por exemplo: x1=5, y1=10, x2=20, y2=20
acontece algo, mas só se clicarmos dentro desta área...
percebeu?

Natch

Número de Mensagens : 501
Idade : 27
Data de inscrição : 05/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://studionatch.com.sapo.pt/

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] Detectar a posição do "ponteiro do mouse" / colisão mouse

Mensagem por Froidz em Sab 02 Jan 2010, 10:39

Simples, o que você deve fazer é checar se o mouse está dentro dessa área, e se o botão for clicado, executar tal ação. Adicione isso no evento Mouse Pressed:

Código:
if mouse_x<20 and mouse_x>5 and mouse_y<20 and mouse_y>10{
//executar ação
}

Mas caso você quer checar se ele está clicando em uma área expecífica de um objeto, é mais fácil vc fazer essa checagem nele mesmo, assim:

Código:
if mouse_x<x+20 and mouse_x>x-5 and mouse_y<y+20 and mouse_y>y-10{
//executar ação
}

Assim, caso o objeto mudar de localização, a checagem ainda será feita no mesmo local do objeto, mas caso usar o exemplo anterior,a checagem será feita num local só, independente de qual objeto esteja lá.

Espero ter ajudado.
Valeu! o/

Froidz

Número de Mensagens : 1053
Idade : 23
Data de inscrição : 03/08/2008
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] Detectar a posição do "ponteiro do mouse" / colisão mouse

Mensagem por Alex FC em Sab 02 Jan 2010, 10:59

A base do código é essa:
Código:

if mouse_x>=x1 && mouse_x<=x2
&& mouse_y>=y1 && mouse_y<=y2
&& mouse_check_button_pressed(mb_left)
{
//seu código aqui
}

Ele checa as posições do mouse e se ele foi clicado. É só subistituir x1,y1,x2,y2 pelos valores que tu quer. Ok?

---EDIT---

Num vi seu post Froidz. Esqueci de atualizar a pagina enquanto fazia o código XD.

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] Detectar a posição do "ponteiro do mouse" / colisão mouse

Mensagem por Natch em Seg 18 Jan 2010, 14:50

valeu pessoal...

Tenho outra dúvida...
É o tal clicar e arrastar, ate aí sei, mas quero que ao clicar no centro ou no canto objecto ele movesse a partir de onde ele foi clicado...

Supomos que clico no seguinte objecto mas nestes pontos:
obj_1.x=10
obj_1.y=20

Que ele seguisse o mouse a partir destes pontos... se o mouse for clicado no cento o mouse fica no cento, em vez de ir para o ponto que é criado o objecto

Natch

Número de Mensagens : 501
Idade : 27
Data de inscrição : 05/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://studionatch.com.sapo.pt/

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] Detectar a posição do "ponteiro do mouse" / colisão mouse

Mensagem por Kabeção em Seg 18 Jan 2010, 16:09

Guarde a diferença entre os pontos em variáveis e adicione eles ao movimento do mouse.

Exemplo:
Código:
// Create
ativar = false;

// Step
if mouse_check_button_pressed(mb_left) && !ativar
{
    mx = x-mouse_x;
    my = y-mouse_y;

    ativar = true;
}
if mouse_check_button_released(mb_left) ativar = false;

if ativar
{
    x = mouse_x+mx;
    y = mouse_y+my;
}

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] Detectar a posição do "ponteiro do mouse" / colisão mouse

Mensagem por Denis Lemos em Seg 18 Jan 2010, 16:21

O kabeção respondeu enquanto eu fazia uma engine, pois eu não sou bom em explicação !!!
É basicamente a mesma coisa, só com o nome das variáveis diferentes !

Mas já que fiz a engine, taí o link:
http://www.4shared.com/file/200424565/b4db9f55/Seguir_o_Mouse_By_Denis_L_GM7.html

Kabeção ! Será que vale apena colocar essa engine lá em engines, para os que algum dia tiver a mesma dúvida poder estudá-la ?

Denis Lemos

Número de Mensagens : 938
Idade : 28
Data de inscrição : 17/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] Detectar a posição do "ponteiro do mouse" / colisão mouse

Mensagem por Kabeção em Seg 18 Jan 2010, 16:38

Claro que vale.
Quanto mais, melhor! Razz

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] Detectar a posição do "ponteiro do mouse" / colisão mouse

Mensagem por Natch em Ter 19 Jan 2010, 12:49

Valeu pessoal...
Vou dar isso como resolvido...

Natch

Número de Mensagens : 501
Idade : 27
Data de inscrição : 05/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://studionatch.com.sapo.pt/

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] Detectar a posição do "ponteiro do mouse" / colisão mouse

Mensagem por Henrique_GJ em Ter 19 Jan 2010, 16:25

EU SEI Q TÁ RESOLVIDO, MAS EU FARIA ISSO DE UMA FORMA MAIS FÁCIL.... EU CRIARIA UM OBJ INVISÍVEL OU NÃO.... DEPENDE DO Q VOU QUERER, E VOU ADD UM EVENTO DO MOUSE E AS AÇÕES....

DÁ PRA FAZER UM OBJ DO TAMANHO Q EU QUIZER PORÉM INVISÍVEL!!! :O

Henrique_GJ

Número de Mensagens : 1344
Idade : 19
Data de inscrição : 30/12/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://sitedosjogos.forumeiros.com

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] Detectar a posição do "ponteiro do mouse" / colisão mouse

Mensagem por Conteúdo patrocinado Hoje à(s) 12:36


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