Ajuda aqui

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Ajuda aqui

Mensagem por terabin em Qua 21 Out 2009, 18:27

eu queria saber como uso o

Código:
move_towards_point(player.x,player.y,4)

só que com distancia oq tenhoq coloca pra ele fica tipo 2 quadrados longe de min

tem geito?

desde ja agradeço

terabin

Número de Mensagens : 5
Data de inscrição : 19/10/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda aqui

Mensagem por Alex FC em Qua 21 Out 2009, 19:19

Tenta isso aqui:

Código:
//se a distância do player for maior que 64 pixels seguira o player senão a velocidade será 0
if distance_to_object(player)>64{move_towards_point(player.x,player.y,4)}
else
speed=0

Quando for fazer uma pergunta, você tem que explicar coisas como:

-o tamanho em pixels desse quadrado, pois, não posso adivinha-lo.
-que tipo de jogo esta fazendo (plataforma, puzzle, maze, etc)
-e o código que esta utilizando (isso você fez.

Espero ter ajudado...


FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: Ajuda aqui

Mensagem por terabin em Qua 21 Out 2009, 21:03

Probleminha
eu to usanu aquele jogo de tiro que vc posto que vem com inimigos e tudo

que tem esse AI
Código:
//AI

//só vai acontecer quando inimigo ver o shotter, ver aula 2 sobre colisões:
//http://gmbr.forumeiros.com/game-maker-f36/tutorial-de-colisoes-parte-2-t3567.htm
if instance_number(shotter)>0{
if not(collision_line(x,y,shotter.x,shotter.y,bloco,true,0)){
//seguindo shotter
if distance_to_object(shotter)<320 && not(distance_to_object(shotter)<100)
{mp_potential_step(shotter.x,shotter.y,4,0)}
//atirando no shotter
if distance_to_object(shotter)<190 && time_fire=true
{ID=instance_create(x,y,obj_tiro_ini); with(ID){motion_set(point_direction(x,y,shotter.x,shotter.y),20)}}
}

Dai pra faze 1 aliado eu fui e fiz isso


Código:
//só vai acontecer quando inimigo ver o shotter, ver aula 2 sobre colisões:
//http://gmbr.forumeiros.com/game-maker-f36/tutorial-de-colisoes-parte-2-t3567.htm
if instance_number(obj_inimigo)>0{
if not(collision_line(x,y,obj_inimigo.x,obj_inimigo.y,bloco,true,0)){
//seguindo shotter
//se a distância do player for maior que 64 pixels seguira o player senão a velocidade será 0
if distance_to_object(shotter)>64{move_towards_point(shotter.x,shotter.y,4)}
else
speed=0
//atirando no shotter
if distance_to_object(obj_inimigo)<190 && time_fire=true
{ID=instance_create(x,y,obj_tiro); with(ID){motion_set(point_direction(x,y,obj_inimigo.x,obj_inimigo.y),20)}}
}

eu criei o obj_tiro e tals

o problema é que eles começa a atira nos inimigo ate ai certo só que do nada eles fica paralizado o mesmo acontece com esse script de seguir ele segue 1 poco mais depois fica paralizado

tem ideia do que seja?

terabin

Número de Mensagens : 5
Data de inscrição : 19/10/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda aqui

Mensagem por Alex FC em Qui 22 Out 2009, 09:40

Tipo tenta trocar tudo isso ai, por isso aqui:

Código:
//se existir inimigo
if instance_number(obj_inimigo)>0{

//atirando no inimigo
if not(collision_line(x,y,obj_inimigo.x,obj_inimigo.y,bloco,true,0))
{
if distance_to_object(obj_inimigo)<300 && time_fire=true
{ID=instance_create(x,y,obj_tiro); with(ID){motion_set(point_direction(x,y,obj_inimigo.x,obj_inimigo.y),20)}}
//se a distância do player for maior que 64 pixels seguira o player senão a velocidade será 0
else
if distance_to_object(shotter)>64{move_towards_point(shotter.x,shotter.y,4)}
else
speed=0}
}

não tive tempo de testar, mas pela lógica deve funcionar. Vlw?

Espero ter ajudado...

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: Ajuda aqui

Mensagem por terabin em Sex 23 Out 2009, 04:42

tipo agora ele ate atira só q no começo nao

eu mato ums cara dai tem hora q ele atira mata os q ele ve a para de novo de ataca os otro

terabin

Número de Mensagens : 5
Data de inscrição : 19/10/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda aqui

Mensagem por Alex FC em Sex 23 Out 2009, 08:38

Bom, se você percebeu pela lógica do código ele só vai se movimentar se houver inimigos presentes na room, mas se você quiser que ele se movimente mesmo assim, bota esse código aqui:
Código:

//atirando no inimigo se ele existir
if instance_number(obj_inimigo)>0 && not(collision_line(x,y,obj_inimigo.x,obj_inimigo.y,bloco,true,0))
{
if time_fire=true && distance_to_object(obj_inimigo)<300
{ID=instance_create(x,y,obj_tiro); with(ID){motion_set(point_direction(x,y,obj_inimigo.x,obj_inimigo.y),20)}}}
//se a distância do player for maior que 64 pixels seguira o player senão a velocidade será 0
else
if distance_to_object(shotter)>64{move_towards_point(shotter.x,shotter.y,4)}
else
speed=0

Tenta esse ai, se não funcionar não tenho ideia do que seja. Vlw?

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: Ajuda aqui

Mensagem por Conteúdo patrocinado Hoje à(s) 10:11


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum