Skocz do zawartości

Move in the direction of a point...


Moho

Rekomendowane odpowiedzi

Witam ^^

 

Potrzebuję wiedzieć jak napisać ponirzszą operację w kodzie :

 

move in the direction of a point

 

Pozdrawiam Moho !

 

EDIT :

 

Już nie ważne ! :3 ale mam inny problem

 

Chcę żeby jak mnie zobaczy Wróg to ma ścigać Playera, mój kod to coś takiego :

 

(object1 to player)

 

Wróg :

 

STEPS:

if (object1.x < x + 300) && (object1.x > x - 300)
widzi = 1
if widzi = 1
{
move_towards_point(object1.x,y,3)
}
else
patrol = 1
if patrol = 1
{
hspeed = -1
}

CREATE:

widzi = 0
patrol = 0

ALARM [0]:

patrol = 1

Według mojego mniemania obiekt powinien chyba iśc w strone playera ale nie idzie...

Jak dam zamiast - move_towards_point(object1.x,y,3) np. x=object1.x to jakby działa tyle że wróg odrazu żuca się na playera, a ja chcę osiągnąć płynne podejście. Prosiłbym o Pomoc ^^"

 

Pozdrawiam Moho !

 

Tagi CODE!

//Tymon

Odnośnik do komentarza
Udostępnij na innych stronach

:angry: :angry: hehe a dlaczego mi nie działa alarm ?? wróg powinien po czasie stanąc w miejscu i mieć speed = 0...

 

nowy kod :

if (object1.x < x + 100) and (object1.x > x - 100) and (object1.y < y + 100) and (object1.y > y - 100)
widzi = 1
if widzi = 1
{
patrol = 0
move_towards_point(object1.x,object1.y,3)
speed = 2
alarm[0] = 50
}
else
patrol = 1
if patrol = 1
{
speed = 0
}

 

W ALARM jest :

patrol = 1

 

mam warunek w steps ze jezeli patrol wyniesie 1 to ma być speeed = 0, a nie dziala ^^" Pomocy...

 

Ja już nie będę Cię poprawiać, warn.

//Tymon

Odnośnik do komentarza
Udostępnij na innych stronach

To:

if (object1.x < x + 100) and (object1.x > x - 100) and (object1.y < y + 100) and (object1.y > y - 100)

mozesz skrocic uzywajac funkcje point_distance

if point_distance(x,y,object1.x,object1.y) < 100

 

A alarm sie nie uruchamia poniewaz ten kod jest w step, i jezeli widzi=1 to co klatke alarm[0] na nowo ustawia sie na 50. Musizs przed alarm[0]=50 napisac warunek, czy alarm nie jest odliczany

if alarm[0]=-1 then alarm[0]=50

Odnośnik do komentarza
Udostępnij na innych stronach

:lol: Działa !

 

Kod mam taki:

 

if point_distance(x,y,object1.x,object1.y) < 100
{
widzi = 1 
if widzi = 1
move_towards_point(object1.x,object1.y,1) 
}
else if point_distance(x,y,object1.x,object1.y) > 100
{
speed = 0
}

 

i osiągnąłem w sumie to co chciałem :3 Jeżeli się oddalę wrogowi to przestaje mnie ścigać !! :3

Wielkie dzięki wszystkim za pomoc :thumbsup:

 

Pozdrawiam Moho !!

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...