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
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Ontem à(s) 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16


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