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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 19/10/2009
Número de Mensagens : 5
Insígnias de JAM :

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

Ajuda aqui

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
avatar
Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://redscreensoft.blogspot.com

Re: Ajuda aqui

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!
avatar
Data de inscrição : 19/10/2009
Número de Mensagens : 5
Insígnias de JAM :

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

Re: Ajuda aqui

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?
avatar
Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://redscreensoft.blogspot.com

Re: Ajuda aqui

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!
avatar
Data de inscrição : 19/10/2009
Número de Mensagens : 5
Insígnias de JAM :

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

Re: Ajuda aqui

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
avatar
Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://redscreensoft.blogspot.com

Re: Ajuda aqui

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!
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