Conectar-se
Quem está conectado
15 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 15 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 13/02/2012
Número de Mensagens : 220
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 25

Prêmios
   : 1
   : 1
   : 0
Ver perfil do usuário

Como checar se existe um objeto entre dois outros?

em Qua 22 Fev 2012, 13:28
Preciso que o objeto player ative um variável caso exista um objeto entre ele e seu inimigo, como faço isso?
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 16/01/2012
Número de Mensagens : 970
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 33

Prêmios
   : 1
   : 0
   : 2
Ver perfil do usuáriohttp://trfnsite.com

Re: Como checar se existe um objeto entre dois outros?

em Qua 22 Fev 2012, 13:34
Qual seria a variável ?

--------------------------------------
O método seria você criar uma checagem no player para ver se ele esta antes do inimigo e depois do player (ou vice-versa).

Qual é a distancia no caso (minima) ?

avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Como checar se existe um objeto entre dois outros?

em Qua 22 Fev 2012, 14:34
collision_line te retorna a id da instância que colidir com uma linha definida por dois pontos (você coloca as coordenadas dos pontos e o objeto a ser procurado nos argumentos). Acho que pode resolver seu problema.
avatar
Data de inscrição : 13/02/2012
Número de Mensagens : 220
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 25

Prêmios
   : 1
   : 1
   : 0
Ver perfil do usuário

Re: Como checar se existe um objeto entre dois outros?

em Qua 22 Fev 2012, 15:03
se o inimigo estiver a um distancia = ou < 150, ele ativa a variável player_descoberto, mas, caso entre eles haja um objeto, não será possível que a variável player_descoberto seja ativada, independente de distancia! e caso a variável ja esteja ativada, e o inimigo se depare com um objeto separando ele do player, a variável player descoberto é desativada!
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Como checar se existe um objeto entre dois outros?

em Qua 22 Fev 2012, 15:15
collision_line(x1, y1, x2, y2, obj, prec, notme)

x1, y1 -> posicao do primeiro
x2, y2 -> posicao do segundo
obj -> objeto entre eles
prec -> true ou false, indicando se a colisão é por pixel ou por shape (mascara).
notme -> não me incluir

A função retorna true ou false.
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Como checar se existe um objeto entre dois outros?

em Qua 22 Fev 2012, 15:23
Pedrø escreveu:A função retorna true ou false.
Pode ser usado como true ou false, mas o que a função te retorna é a id da instância colidida (o que equivale a true num teste de comparação) ou noone (que equivale a false) se não houver colisão.
Essas equivalências só são verdadeiras pra testes de comparação, mas o valor retornado é diferente. Por exemplo, noone vale -4, enquanto false vale 0.
O game maker entende que valores abaixo de 0.5 possam ser considerados false e valores acima disso, como true, o que acaba causando essa confusão.
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Como checar se existe um objeto entre dois outros?

em Qua 22 Fev 2012, 16:47
Pode ser usado como true ou false, mas o que a função te retorna é a id da instância colidida (o que equivale a true num teste de comparação) ou noone (que equivale a false) se não houver colisão.
Eu me enganei. Só que ele pode ainda usar true ou false, como você disse.
Nesse caso, ele não precisa do id.

Se o autor do tópico quiser saber mais:
http://gmbr.forumeiros.com/t16184-entenda-as-funcoes-de-colisao
avatar
Data de inscrição : 13/02/2012
Número de Mensagens : 220
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 25

Prêmios
   : 1
   : 1
   : 0
Ver perfil do usuário

Re: Como checar se existe um objeto entre dois outros?

em Qua 22 Fev 2012, 17:00
Pedrø escreveu:
Pode ser usado como true ou false, mas o que a função te retorna é a id da instância colidida (o que equivale a true num teste de comparação) ou noone (que equivale a false) se não houver colisão.
Eu me enganei. Só que ele pode ainda usar true ou false, como você disse.
Nesse caso, ele não precisa do id.

Se o autor do tópico quiser saber mais:
http://gmbr.forumeiros.com/t16184-entenda-as-funcoes-de-colisao

Vlw pedro e saim, ja tenho uma idéia do que fazer bounce
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Como checar se existe um objeto entre dois outros?

em Qua 22 Fev 2012, 17:17
Como o tópico foi resolvido, está sendo trancado.
Se quiser reabrir, entre em contato com a moderação.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum