[Resolvido]Problema com Script

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

[Resolvido]Problema com Script

Mensagem por JOZ. em Sex 19 Nov 2010, 13:00

Estou com um problema com um script que eu criei para o inimigo virar em direção ao jogador. As vezes quando a direção do inimigo chega no 0 ele para de virar. Eu já fiz de tudo com esse script mais ele ainda tem esse problema. nervoso

Spoiler:
dir=point_direction(x,y,o_j.x,o_j.y)
if dir >= 90 and dir <= 270
{
if dir > direction {direction+=argument0}
if dir < direction {direction+=-argument0}
if dir = direction {direction+=0}
exit
}
if dir < 90
{
if direction < 270
{
if dir > direction {direction+=argument0}
if dir < direction {direction+=-argument0}
if dir = direction {direction+=0}
exit
}
if direction > 270
{
if dir > direction {direction+=-argument0}
if dir < direction {direction+=argument0}
if dir = direction {direction+=0}
exit
}
}
if dir > 270
{
if direction > 90
{
if dir > direction {direction+=argument0}
if dir < direction {direction+=-argument0}
if dir = direction {direction+=0}
exit
}
if direction < 90
{
if dir > direction {direction+=-argument0}
if dir < direction {direction+=argument0}
if dir = direction {direction+=0}
exit
}
}
if direction < 1
{
if dir > direction {direction+=argument0}
if dir < direction {direction=360-argument0}
if dir = direction {direction+=0}
exit
}
if direction > 359
{
if dir > direction {direction=argument0}
if dir < direction {direction+=-argument0}
if dir = direction {direction+=0}
exit
}
argument0 são os graus que ele vira por passo e o_j é o jogador

Você pode perceber esse defeito no meu projeto:
http://www.4shared.com/file/9EiwzAmG/Space_Rider.html

Se alguem souber qual é o problema me ajude por favor.


Última edição por JOZ. em Seg 22 Nov 2010, 11:48, editado 1 vez(es)

JOZ.

Ranking : Nota B
Número de Mensagens : 333
Idade : 22
Data de inscrição : 15/11/2010
Notas recebidas : B - C - C - A - A - B - B - A - C - C - A
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://jozgm.webnode.com.br/

Voltar ao Topo Ir em baixo

Re: [Resolvido]Problema com Script

Mensagem por Grotle em Sex 19 Nov 2010, 18:00

Você não precisa usar esse script para fazer o inimigo virar na direção do player. Coloca isso no STEP do inimigo:

Código:
direction=point_direction(x,y,o_j.x,o_j.y)
image_angle=direction
if direction>359{direction=0}
if direction<0{direction=359}

Eu não testei mas acho que vai funcionar. Testa ai e vê se dá certo.
Flws!

Grotle

Ranking : Nota B
Número de Mensagens : 559
Idade : 21
Data de inscrição : 28/02/2010
Notas recebidas : B-B
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://gsogaming.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [Resolvido]Problema com Script

Mensagem por JOZ. em Seg 22 Nov 2010, 10:55

Obrigado pela ajuda mas isso não serve para mim porque eu quero eu o inimigo VIRE para o personagem e não que ele OLHE para o personagem

JOZ.

Ranking : Nota B
Número de Mensagens : 333
Idade : 22
Data de inscrição : 15/11/2010
Notas recebidas : B - C - C - A - A - B - B - A - C - C - A
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://jozgm.webnode.com.br/

Voltar ao Topo Ir em baixo

Re: [Resolvido]Problema com Script

Mensagem por Markituh em Seg 22 Nov 2010, 11:06

Virar para o personagem, bom, só é você trocar a sprite, ou usar um image_xangle. Tem que checar a distância e virar:
Código:
if distance_to_object(ob_player) < 20 or distance_to_object(obj_player) > 20
{
sprite_index = spr_inimigovirar
}
Coloquei um or no código, pois o inimigo pode estar na esquerda ou na direita do player.

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]Problema com Script

Mensagem por itallo em Seg 22 Nov 2010, 11:17

cara eu saquei o seu problema.....
se o player está a 10 graus e você a 350 você quer que ele chegue a 360, 0, 1 2,3,4,5,6,7 até 10 graus, pelo lado mais próximo né?

tenho essa engine que consegui resolver isso:
http://www.gamemakerbrasil.com/engines-f12/engine-de-navegacao-t5032.htm?highlight=navega%e7%e3o

se for oque eu estou pensando.

itallo

Ranking : Sem avaliações
Número de Mensagens : 969
Idade : 24
Data de inscrição : 26/08/2009
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.zuluhotel.com.br

Voltar ao Topo Ir em baixo

Resolvido!

Mensagem por JOZ. em Seg 22 Nov 2010, 11:45

É isso mesmo oBKo.

Mas não precisa mais porque depois de semanas quebrando a cabeça eu percebi o defeito e já arrumei. feliz3

Se quizer usar também ai vai o Script:
Código:
dir=point_direction(x,y,o_j.x,o_j.y)
if dir > direction+argument0 or dir < direction-argument0
{
if dir >= 90 and dir <= 270
{
if dir > direction {direction+=argument0;exit}
if dir < direction {direction+=-argument0;exit}
if dir = direction {direction+=0;exit}
}
if dir < 90
{
if direction < 270
{
if dir > direction {direction+=argument0;exit}
if dir < direction {direction+=-argument0;exit}
if dir = direction {direction+=0;exit}
}
if direction > 270
{
if dir > direction {direction+=-argument0;exit}
if dir < direction {direction+=argument0;exit}
if dir = direction {direction+=0;exit}
}
}
if dir > 270
{
if direction > 90
{
if dir > direction {direction+=argument0;exit}
if dir < direction {direction+=-argument0;exit}
if dir = direction {direction+=0;exit}
}
if direction < 90
{
if dir > direction {direction+=-argument0;exit}
if dir < direction {direction+=argument0;exit}
if dir = direction {direction+=0;exit}
}
}
}

argument0 é a quantidade de graus que o inimigo vira por STEP.

JOZ.

Ranking : Nota B
Número de Mensagens : 333
Idade : 22
Data de inscrição : 15/11/2010
Notas recebidas : B - C - C - A - A - B - B - A - C - C - A
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://jozgm.webnode.com.br/

Voltar ao Topo Ir em baixo

Re: [Resolvido]Problema com Script

Mensagem por Conteúdo patrocinado Hoje à(s) 21:13


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