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

Nenhum

Ver toda a lista


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

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

Inimigo virar a sprite para o lado que ele for

em Sex 07 Maio 2010, 14:56
Olá, tenho um sprite aqui de um inimigo visto de cima e queria saber se tem como ele virar essa sprite conforme ele anda mais sem ficar mudando a sprite, e quando ele passar perto ou o player passar perto dele ele ande mais rapido e vá ná direção do player ai muda a sprite para ele atacar?

Grato Paulo!
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

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

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

Re: Inimigo virar a sprite para o lado que ele for

em Sex 07 Maio 2010, 15:37
Pelo que entendi, o sprite é visto de cima e ele pode andar em qualquer direção, certo?

Se for isso, você pode usar image_angle (só funciona no pro!).

A imagem deve ser dele virado para a direita e a origin deve estar centralizada. Então, no step, você coloca:
image_angle = direction;

Claro, para isso funcionar, o movimento dele deve ser feito usando a variável direction.


Para fazer andar mais rápido quando está perto do player e ir na direção dele:

Step:
if (point_distance(x, y, nome_do_objeto_player.x, nome_do_objeto_player.y) > distância_em_pixels)
speed = velocidade_longe_do_player;
else
{
speed = velocidade_perto_do_player;
direction = point_direction(x, y, nome_do_objeto_player.x, nome_do_objeto_player.y);
avatar
Data de inscrição : 30/03/2010
Número de Mensagens : 65
Insígnias de JAM :

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

Re: Inimigo virar a sprite para o lado que ele for

em Sex 07 Maio 2010, 15:51
Se for isso, você pode usar image_angle (só funciona no pro!).

A imagem deve ser dele virado para a direita e a origin deve estar centralizada. Então, no step, você coloca:
image_angle = direction;

Claro, para isso funcionar, o movimento dele deve ser feito usando a variável direction.

Como faço essa parte?
avatar
Data de inscrição : 07/03/2010
Número de Mensagens : 1335
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://cai.na.tl/

Re: Inimigo virar a sprite para o lado que ele for

em Sex 07 Maio 2010, 17:05
Agora talvez eu estou entendendo o seu problema. No MSN não entendi direito.

Para usar a variável direction é só colocar ela no Create para o ângulo que quiser, para mudar ele é simples:

CREATE:

Código:
{
change_direction = random(359);
alarm[0] = 60;
}

ALARM 0:

Código:
{
change_direction = random(359);
alarm[0] = 60;
}

STEP:

Código:
{

if point_distance(x,y,player.x,player.y) < 200 {  //Muda para a distância.

speed = 8  //Velocidade perto do player.

direction = point_direction(x,y,player.x,player.y);

}

else{

speed = 5  //Velocidade longe do player.

direction = change_direction;

}

image_angle = direction;

}

OUTSIDE ROOM:

Código:
{

change_direction =- change_direction;

}

Lembre-se de colocar a origem no centro e o sprite do inimigo virado para esquerda.
avatar
Data de inscrição : 30/03/2010
Número de Mensagens : 65
Insígnias de JAM :

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

Re: Inimigo virar a sprite para o lado que ele for

em Sex 07 Maio 2010, 17:34
VLW funcionou obrigado ao dois!!!
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