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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 26/06/2010
Número de Mensagens : 58
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Como fazer um Obj dar a volta em outro e seguir a direçao?

em Sab 03 Jul 2010, 15:39
Olha eu pertubando denovo não
Bem, to fazendo um jogo de futebol e queria saber o seguinte:

Quero que o adversário , quando estiver virado com a bola na direçao do gol dele (direçao contrária), dê a volta na bola e continue batendo na bola pra ele marcar gol.

Eu ja tenho isso:
Código:

if not collision_line(obj_bola.x,obj_bola.y,obj_gol.x,obj_gol.y,self,true,true) // Se o adversario não estiver parado na frente
{
    with(other) // O other é a bola
    {
        direction=point_direction(obj_adiverssario.x,obj_adiverssario.y,obj_gol.x,obj_gol.y)
        speed=10
    }
}
else // Igual hà "senão" ou seja, se estiver na frente da bola !
{
    with(other) // Other é a bola
    {
        direction=obj_adiverssario.direction+90 //
        speed=10
    }
}

Nisso ele bate na bola em direçao ao gol, mas quando está virado para o gol dele, ele fica parado .

Alguem ajuda? to precisando terminar a AI desse bot.
Valeu afro
avatar
Data de inscrição : 13/02/2010
Número de Mensagens : 430
Insígnias de JAM :

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

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

Re: Como fazer um Obj dar a volta em outro e seguir a direçao?

em Sab 03 Jul 2010, 17:15
Não é AI é IA...

tenta criar um path...
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 fazer um Obj dar a volta em outro e seguir a direçao?

em Sab 03 Jul 2010, 17:23
Faz assim, poe no step do que gira em volta:

vel_giro=5
raio=70
direction+=vel_giro;
grau=0.0174;
xx=objCentral.x+cos(direction*grau)*raio
yy=objCentral.y-sin(direction*grau)*raio

x=xx
y=yy

avatar
Data de inscrição : 26/06/2010
Número de Mensagens : 58
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Como fazer um Obj dar a volta em outro e seguir a direçao?

em Sab 03 Jul 2010, 18:06
coloquei o codigo e agora ele fica girando envolta da bola igual um retardado . Quando virado pro outro lado,queria apenas que ele vire pro lado contrario e continuasse a bater na bola.

Help ai.afro
----EDIT----
Não é AI é IA...

tenta criar um path...

Manolo, AI = artificial intelligence
IA = inteligencia artificial.
Nao se paga de sabe tudo. E me explica como usa patch pq eu nao sei nada UHEIHAEUIHAE.
avatar
Ranking : Nota D
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Número de Mensagens : 712
Insígnias de JAM :

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

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

Re: Como fazer um Obj dar a volta em outro e seguir a direçao?

em Sab 03 Jul 2010, 19:00
Código:
if obj_bola.x>x {image_xscale=-1}else{image_xscale=1}

Não entendi bem, mas pelo que eu entendi vc quer que se a bola esteja na direita o personagem vire para a direita, e se esta na esquerda vire para a esquerd, se for isso o code é o que ta acima. XD
avatar
Data de inscrição : 26/06/2010
Número de Mensagens : 58
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Como fazer um Obj dar a volta em outro e seguir a direçao?

em Sab 03 Jul 2010, 19:22
Beleza cara, eu quero isso que tu disse , Mas o cara ta ficando em cima da bola e ta trancando ela. Tem como arrumar? Happy


----edit----

E ele até pula pro outro lado, mas ele tá fazendo isso o tempo todo e raramente bate na bola.

OBS: raramente que eu digo é 1 a cada 24823498 tentativas de bater na bola.
avatar
Data de inscrição : 17/05/2009
Número de Mensagens : 938
Insígnias de JAM :

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

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

Re: Como fazer um Obj dar a volta em outro e seguir a direçao?

em Sab 03 Jul 2010, 19:38
Ainda está com esse problema. affraid

Tenta assim:
Código:
if not collision_line(obj_bola.x,obj_bola.y,obj_gol.x,obj_gol.y,self,true,true) // Se o adversario não estiver parado na frente
{
    with(other) // O other é a bola
    {
        direction=point_direction(obj_adiverssario.x,obj_adiverssario.y,obj_gol.x,obj_gol.y)
        speed=10
    }
}
else // Igual hà "senão" ou seja, se estiver parado na frente da bola !
{
    with(other) // Other é a bola
    {
        direction+= 10 //Se não der o "+' coloque "-" no seu lugar !
        speed=10
    }
}

Assim talvez dê mudou apenas o final do código, mas senão der você vai alterando nessa parte que eu mudei agora, é nela que está o problema !

Obs: Você fez dois objetos com nomes diferentes para as goleiras não é, senão pode ser ai o problema, pois vai saber em qual das goleiras que ele desenha a linha até ele, e para qual delas que a bola vai !
Você tem que fazer uma goleira para o player fazer o gol e outra para o adiverssário, daí lá no começo do código onde está a coordenada do gol, tem que ser do gol que o adiverssário tem que fazer, se tiver o mesmo objeto para as duas goleiras vai dar erro, pois não se saberá para qual delas tem que tocar a bola !

Há, o código do Thiago, apenas muda a sprite da bola na horizontal, então não vai servir muito, pois o que tem que mudar é a direção da bola !!!
avatar
Data de inscrição : 26/06/2010
Número de Mensagens : 58
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Como fazer um Obj dar a volta em outro e seguir a direçao?

em Sab 03 Jul 2010, 20:20
Ae Denis, obrigado por me ajudar de novo, desde o início vc me deu uma mão. E eu ja tinha colocado duas traves.

Maaas Fail again. Sad

e eu ja to desistindo do jogo pq esse bot ta me irritando.

Se alguém tiver uma última esperança , me ajuda e ganha 10 real (brinks)
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