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


como fazer checar se na posição do mouse não tem nenhum objeto (por código)?

5 participantes

Ir para baixo

como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty como fazer checar se na posição do mouse não tem nenhum objeto (por código)?

Mensagem por jpaulo Ter 28 Fev 2012, 14:31

É que eu tava fazendo um jogo com movimentação pelo mouse. Só que aí me deparei com o problema: o personagem segui o clique do mouse em QUALQUER ponto da tela. Por exemplo, se eu clicasse em um botão, ele seguia em direção ao botão. Então eu queria que ele só seguisse se não houvesse nenhum objeto no local onde eu cliquei. Poderiam me dar o código pra isso? (E sim, necessariamente precisa ser em código, plz) E antes que vocês achem um tópico assim e mandem eu procurar, eu nem sabia o que escrever. Então fiz esse tópico. Ajudem.
jpaulo
jpaulo

Data de inscrição : 21/03/2010
Reputação : 0
Número de Mensagens : 345
Prêmios : como fazer checar se na posição do mouse não tem nenhum objeto (por código)? 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

como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty Re: como fazer checar se na posição do mouse não tem nenhum objeto (por código)?

Mensagem por Doritos555 Ter 28 Fev 2012, 14:35

acredito que um...

Código:

if place_free(cursor.x,cursor.y)
{
//codigo de movimentação aqui
}

... Pode resolver. (Não lembro se era "cursor" ou "mouse", então se não der certo tente o outro).
Doritos555
Doritos555

Games Ranking : Nota A

Data de inscrição : 19/01/2012
Reputação : 2
Número de Mensagens : 78
Prêmios : como fazer checar se na posição do mouse não tem nenhum objeto (por código)? 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

como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty Re: como fazer checar se na posição do mouse não tem nenhum objeto (por código)?

Mensagem por MatheusReis Ter 28 Fev 2012, 14:39

Mas para usar place_free para verificar em um PONTO o objeto que usar o comando deve ter uma mascara de colisão de um ponto, e o objeto a ser clicado deve ser sólido. Mas existe uma função que não precisa desses requerimentos:

A função collision_point(X, Y, OBJ, PRECISO, OUTRAS_INSTANCIAS) verifica se há uma instancia de objeto OBJ no ponto (X,Y) e retorna sua id dentro do jogo(identificação). PRECISO indica se é uma colisão precisa (true ou false) e OUTRAS_INSTANCIAS indica se deve verificar colisão apenas com outras instancias ou se a própria instancia que está usando a função deve ser reconhecida (true ou false).

No caso, para aplicar as posições do mouse, você vai substituir X por mouse_x e Y por mouse_y.

Exemplo de uso:
Código:
//se houver colisão precisa com um objeto_botao na posição (mouse_x, mouse_y) excluindo o objeto atual
if collision_point(mouse_x,mouse_y,objeto_botao,true,true){
//mostrar a mensagem "Clicou"
show_message("Clicou");
};
MatheusReis
MatheusReis

Games Ranking : Nota A

Notas recebidas : B-A-A
Data de inscrição : 13/01/2010
Reputação : 31
Número de Mensagens : 1093
Prêmios : como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Unity
  • Java
  • C#
  • Javascript


http://www.mathaeuz.deviantart.com

Ir para o topo Ir para baixo

como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty Re: como fazer checar se na posição do mouse não tem nenhum objeto (por código)?

Mensagem por saim Ter 28 Fev 2012, 14:55

Outra função que faz isso é instance_position. Não sei porque existem duas funções pra fazer a mesma coisa, mas existem.
A collision_point me parece mais versátil.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty Re: como fazer checar se na posição do mouse não tem nenhum objeto (por código)?

Mensagem por jpaulo Ter 28 Fev 2012, 15:08

desculpem por fazer vocês perderam tempo. ja achei oq ue precisava com a função place_empty. Obrigado.
jpaulo
jpaulo

Data de inscrição : 21/03/2010
Reputação : 0
Número de Mensagens : 345
Prêmios : como fazer checar se na posição do mouse não tem nenhum objeto (por código)? 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

como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty Re: como fazer checar se na posição do mouse não tem nenhum objeto (por código)?

Mensagem por saim Ter 28 Fev 2012, 16:33

Tem certeza? place_empty tem a mesma restrição de place_free, comentada pelo MatheusReis.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty Re: como fazer checar se na posição do mouse não tem nenhum objeto (por código)?

Mensagem por jpaulo Ter 28 Fev 2012, 22:12

saim escreveu:Tem certeza? place_empty tem a mesma restrição de place_free, comentada pelo MatheusReis.
eu fiquei algum tempo sem mexer no game maker,to meio enferrujado) mas acho que ja usei o place_free. nao tava funcionando. Mas o place_empty funcionou, sem essa historia de mascara (mask). Obrigado. Se voltar a dar errado(pouco provavel) vou dar meu jeito.
jpaulo
jpaulo

Data de inscrição : 21/03/2010
Reputação : 0
Número de Mensagens : 345
Prêmios : como fazer checar se na posição do mouse não tem nenhum objeto (por código)? 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

como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty Re: como fazer checar se na posição do mouse não tem nenhum objeto (por código)?

Mensagem por Thyago Qua 29 Fev 2012, 01:24

saim escreveu:Tem certeza? place_empty tem a mesma restrição de place_free, comentada pelo MatheusReis.
.Não é não saim.
.Place free verifica se não tem nemhum objeto solido na posição,e place empty verifica se esta vazio,(nem solido e nem não solid),ou seja nada,no place_empty se tiver um objeto não solido ele retorna 0 e no place_free ele retorna 1.E a história da mask não tem nada haver,ele quer que o objeto se mova só se estiver vazio onde foi clicado.

acho que o tópico esta resolvido
Thyago
Thyago

Games Ranking : Nota B

Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios : como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty Re: como fazer checar se na posição do mouse não tem nenhum objeto (por código)?

Mensagem por saim Qua 29 Fev 2012, 09:34

Manual traduzido escreveu:place_free (x, y) Retorna se a instância colocada na posição (x, y) está livre de colisão.
Isso normalmente é usado como uma verificação antes de realmente se mudar para a
nova posição.
place_empty (x, y) Retorna se a instância colocada na posição (x, y) encontra com
ninguém. Portanto, esta função leva em conta também instâncias não-sólido.
Repare que as duas funções pegam sua intância, mudam pra posição (x, y) e verificam se existe colisão ali. Não é um ponto, é uma mask colidindo.
A restrição de que eu falei é justamente essa, você pode clicar fora de qualquer objeto e essas funções te retornarem que há colisão ali. Só depende da mask e origem da instância que chama a função.

Bom, se o postador original ficou satisfeito, eu também estou satisfeito. Estou trancando o tópico.
Se quiser reabrir, entre em contato com a moderação.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

como fazer checar se na posição do mouse não tem nenhum objeto (por código)? Empty Re: como fazer checar se na posição do mouse não tem nenhum objeto (por código)?

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