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 : A-A-B-A-B
Data de inscrição : 23/12/2011
Número de Mensagens : 33
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áriohttp://felnw.blogspot.com

Limitar movimento para fora de uma area

em Qui 13 Jun 2013, 18:36
Todos sabemos que para impedir que um objeto siga em uma direção se ele estiver adicionando x ou y em seu movimento simplesmente dizemos que o proximo x ou y nao esta acessivel, entao ele nao seguira nesta direção. Mas e quando a area a ser limitada fica à frente do objeto (à frente neste caso seria na direção dele mais velocidade) como devo fazer para limitar seu acesso a este ponto sem usar colisão de sprites?
avatar
Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 1
Ver perfil do usuáriohttp://guitarmester.no.comunidades.net/index.php?pagina=19362978

Re: Limitar movimento para fora de uma area

em Qui 13 Jun 2013, 18:44
lengthdir_x(ir,direction)
lengthdir_y(ir,direction)

essa funbção fará isto que quer, ela irá calcular a posição de acordo com o ângulo.

ir = tamanho de pixels à andar
direction = direção
avatar
Ranking : Nota B
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Número de Mensagens : 1013
Insígnias de JAM :

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

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

Re: Limitar movimento para fora de uma area

em Qui 13 Jun 2013, 18:51
Como o guitar disse, basta usar o lengthdir, e em length usar o speed. Pode fazer isso:

Código:
var xx,yy;

xx = lengthdir_x(speed,direction)
yy = lengthdir_y(speed,direction)

if place_empty(xx,yy)...

Se você quiser posso te passar a engine de colisões que usei no meu joguinho de tanque. É bem simples e eu particularmente gosto muito do resultado.
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