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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Número de Mensagens : 1229
Insígnias de JAM :

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

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

Verificar se o objeto me vê com a direção

em Ter 01 Nov 2011, 16:08

Olá pessoal da GMBR!

Hoje eu venho com uma duvida, como saber se o objeto esta me vendo, ou seja, se não a nada no caminho entr o obj_player e o obj_enemy, sendo que essa linha tem que estar na direção do objeto, por exemplo, o obj_enemy tem sua direção e ela muda, mas eu gostaria que criasse uma linha imaginaria e reta do obj_enemy para onde esta a direção dele, e caso o objeto esteja lá, faça algo. Deu para entender? Se não só falar que eu explico melhor!

Flw! sorrindo2
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: Verificar se o objeto me vê com a direção

em Ter 01 Nov 2011, 16:23
Código:
direc=point_direction(x,y,player.x,player.y);
if abs(direction-direc)<20 //cria um campo de visão de 41º
{
if !collision_line(x,y,player.x, player.y, obj_parede, 1, 1)
{
//está vendo
}
}

Imagem:
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: Verificar se o objeto me vê com a direção

em Ter 01 Nov 2011, 16:32
Diacho, PEDR0, você é rápido...

Bom, posso pelo menos acrescentar que "abs(direction-direc)" pode retornar 350 quando o resultado esperado seria 10 (355-5=350). Pra evitar isso, use:
Código:
abs(((((direction - direc) mod 360) + 540) mod 360) - 180);
avatar
Ranking : Nota A
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Número de Mensagens : 1229
Insígnias de JAM :

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

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

Re: Verificar se o objeto me vê com a direção

em Ter 01 Nov 2011, 16:50

Testei o código do PEDRO e parece que não funcionou, adaptei ao meu projeto e ficou mais ou menos assim, fiz até um move_toward para testar:
Código:
direcs=point_direction(x,y,obj_player.x,obj_player.y);
if abs(direction-direcs)<20
{
 if !collision_line(x,y,obj_player.x, obj_player.y, solid, 1, 1)
 {
  move_towards_point(obj_player.x,obj_player.y,4)
 }
}

Testei também com o código do saim e não aconteceu nada também!
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: Verificar se o objeto me vê com a direção

em Ter 01 Nov 2011, 17:17
O nome do objeto é "solid" ou você está achando que "solid" é parent de todos os objetos cuja variável "solid" vale "true"?

Meu código não faz nada mesmo. Era só uma complementação de uma parte do código do Þєdяø. Leia lá o post de novo que você vai entender.
avatar
Ranking : Nota B
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Número de Mensagens : 1092
Insígnias de JAM :

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

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

Re: Verificar se o objeto me vê com a direção

em Ter 01 Nov 2011, 17:33
.Fiz uma engine para você,se o inimigo estiver te vendo e você sair do campo de visão dele ele te perde de vista em 5 segundos,mas você pode mudar.

4shared.com/get/faJdDXjk/visao_inimigo_2.html
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