Bloquear movimento do mouse perto do player

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

Bloquear movimento do mouse perto do player

Mensagem por Fernando Monteiro em Dom 04 Dez 2011, 02:55

Olá,
A minha dúvida é a seguinte...

Estou fazendo um jogo estilo Top View, onde há um player. Eu quero fazer com que seja impossível mover o mouse em uma área perto do personagem.
A imagem abaixo ilustra o meu problema...


Preto: player
Cinza: área em que o mouse não pode entrar
Branco: área em que o mouse pode ficar e mover-se normalmente

Há como fazer isso? Agradeço a ajuda de todos ;)

Abs,
Fernando Monteiro

Fernando Monteiro

Ranking : Nota C
Número de Mensagens : 54
Data de inscrição : 04/04/2011
Notas recebidas : D+C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.futvida.com

Voltar ao Topo Ir em baixo

Re: Bloquear movimento do mouse perto do player

Mensagem por Limalokão em Dom 04 Dez 2011, 03:07

Acho que não é possível parar o mouse, nem move-lo, através de códigos!

Flws

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

Re: Bloquear movimento do mouse perto do player

Mensagem por GALAXY GAMES em Dom 04 Dez 2011, 09:17

Eu dei uma mexida rápida aqui no Game Maker e descobrir que não dar para parar um mouse. Mas eu fiz uma lógica aqui que pode dar certo:
Lógica:

Transforme um objeto em um mouse. Crie um sprite para ser o cursor e crie um objeto para ser o mouse. Nesse objeto coloque o sprite do cursor e no step coloque esse código para poder seguir o mouse:
Código:
y=mouse_y
x=mouse_x
Agora precisamos fazer que não apareça o mouse original (pois esse objeto vai fazer o papel dele). Para fazer isso vá em Global Game Settings e desmarque a opção Display the Cursor
e pronto, agora é só você colocar esse objeto para parar (Ou qualquer outra ação) quando ele entrar na área que não pode.

Não sei se a lógica da certo, mas essa foi a única maneira que encontrei.


GALAXY GAMES

Ranking : Nota E
Número de Mensagens : 439
Data de inscrição : 03/10/2011
Notas recebidas : D+E+E
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Bloquear movimento do mouse perto do player

Mensagem por Fernando Monteiro em Dom 04 Dez 2011, 12:20

GALAXY GAMES escreveu:Eu dei uma mexida rápida aqui no Game Maker e descobrir que não dar para parar um mouse. Mas eu fiz uma lógica aqui que pode dar certo:
Lógica:

Transforme um objeto em um mouse. Crie um sprite para ser o cursor e crie um objeto para ser o mouse. Nesse objeto coloque o sprite do cursor e no step coloque esse código para poder seguir o mouse:
Código:
y=mouse_y
x=mouse_x
Agora precisamos fazer que não apareça o mouse original (pois esse objeto vai fazer o papel dele). Para fazer isso vá em Global Game Settings e desmarque a opção Display the Cursor
e pronto, agora é só você colocar esse objeto para parar (Ou qualquer outra ação) quando ele entrar na área que não pode.

Não sei se a lógica da certo, mas essa foi a única maneira que encontrei.

Eu fiz o que você falou, mas quando eu entro com o mouse (com o novo cursor) na área que não é pra entrar, o objeto para, mas o controle do mouse continua. Então, eu posso mover o mouse, mesmo não vendo ele, dentro da área proibida.

Mas valeu pela ajuda ;)

Se alguém souber outra maneira, estou aguardando...

Abs,
Fernando Monteiro

Fernando Monteiro

Ranking : Nota C
Número de Mensagens : 54
Data de inscrição : 04/04/2011
Notas recebidas : D+C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.futvida.com

Voltar ao Topo Ir em baixo

Re: Bloquear movimento do mouse perto do player

Mensagem por Carlos L. em Dom 04 Dez 2011, 12:43

Como parar o mouse não sei se tem como fazer, mais e se você atribuir o valor da posição desejada ao mouse.
Por exemplo, se o mouse passar da marca cinza, o programa calcularia a cada passo a distância do mouse ate a borda da circunferência e subtraia o resultado das coordenadas do mouse, assim por mais que o mouse estivesse na área indesejada você teria a coordenada desejada. E quando ele estivesse fora da marca indesejada não seria necessário fazer o calculo já que o mouse possuiria sua coordenada atual(obvio).
Lembre-se que não seria um bloqueio e sim uma pequena gambiarra nas coordenadas do mouse.
Não sei se daria certo, mas, fica a dica e só pensar um pouco.

Carlos L.

Ranking : Nota C
Número de Mensagens : 270
Data de inscrição : 26/09/2010
Notas recebidas : C
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Bloquear movimento do mouse perto do player

Mensagem por luiz_eldorado em Dom 04 Dez 2011, 13:49

Você quer controlar o mouse? Tem sim! Vocês tem que procurar melhor dentro da própria ajuda do GM. Tem uma função:
Código:
window_mouse_set(x,y)
Só que, pelo jeito, essa x e y não são relativos à room, e sim a janela. Pode ser que haja erros de calculo, principalmente porque, mesmo sabendo a distancia entra a janela e a room, você não sabe a distancia disto em outros computadores.
Até mais!

luiz_eldorado

Ranking : Nota C
Número de Mensagens : 928
Idade : 17
Data de inscrição : 30/07/2011
Notas recebidas : C
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://luizpontes.tk/

Voltar ao Topo Ir em baixo

Re: Bloquear movimento do mouse perto do player

Mensagem por GALAXY GAMES em Dom 04 Dez 2011, 15:27

Humm... Essa é a única maneira que eu conseguir descobrir. Eu acho que é impossível parar o mouse! Continue tentando cara, se conseguir me avise pois também estou afim de saber.

GALAXY GAMES

Ranking : Nota E
Número de Mensagens : 439
Data de inscrição : 03/10/2011
Notas recebidas : D+E+E
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Bloquear movimento do mouse perto do player

Mensagem por Conteúdo patrocinado Hoje à(s) 13:48


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