Skocz do zawartości

Zablokowane Ustawianie się AI


Rekomendowane odpowiedzi

Witam dobrodzieje, mam problem, a mianowicie mam AI(npc), które losowo wybiera jeden z dwóch kierunków. Mam również 2 sprite'y, 1, w którym NPC biegnie, i 2, w którym stoi ustawiony lekko w prawą stronę. Chcę tak tego npc zaprogramować, by po tym, jak pobiegnie w lewo, a następnie się zatrzyma, aby się ustawił właśnie w lewo za pomocą image_xscale. I to samo, tylko że w prawą stronę, gdzie npc ma się zatrzymać w prawą stronę. Co zrobić, by program rozpoznawał, kiedy ma użyć image_xscale? Mam nadzieję, że każdy zrozumiał, o co mi chodzi. Dziękuję za odpowiedzi:moo:.

Odnośnik do komentarza
Udostępnij na innych stronach

mozesz w stepie sprawdzic, czy kierunek chodzenia zgadza sie ze skala:

 

var dir = x - xprev;

if (dir < 0) image_xscale = -1;

if (dir > 0) image_yscale = 1;

Odnośnik do komentarza
Udostępnij na innych stronach

ke? :D nie odpalalem gma, woec nie moge sprawdzoc, ale ktorejwersji uzuwasz?

Odnośnik do komentarza
Udostępnij na innych stronach

Zazwyczaj w przypadku błędów lepiej jest zostawić je w oryginalnym języku, aby byly zrozumiałe dla tych którzy już znają(i rozumieją) błędy GM'a. Plus, oryginalne błędy da się wygooglować. To co napisałeś nic mi nie mówi.

Znaczy, poza drugim błędem który brzmi jak błąd w INNYM miejscu w kodzie. Najlepiej wklej cały error bo mam wrażenie że zchrzaniłeś w innej części kodu.

Odnośnik do komentarza
Udostępnij na innych stronach

@PsichiX Używam GameMakera Studio 1.4

@I am vader

 In Object ObjNPC, in Event StepNormalEvent action number 1 at line 1 : cannot redeclare a builtin varable

 In Object ObjNPC, in Event StepNormalEvent action number 1 at line 1 : malformed assegnment statement

Compile Failed - Please check the Compile window for any additional information

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jakkolwiek nazwałeś zmienną w lini 1 w stepie ObjNPC, istnieje WBUDOWANA zmienna o takiej nazwie i nie można jej redefiniować(jest tylko do odczytu).

Zmień nazwę zmiennej.

 

Edit: A i poprzednia pozycja to xprevious, nie xprev, chyba ze chcesz ręcznie zaprogramować zapisywanie ostatniej pozycji

Odnośnik do komentarza
Udostępnij na innych stronach

Napisałem jeszcze raz i teraz wyszło to:
___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of  Step Event0
for object ObjNPC:

Variable ObjNPC.xprev(100002, -2147483648) not set before reading it.
 at gml_Object_ObjNPC_StepNormalEvent_1 (line 1) - var dir = x - xprev;
############################################################################################
 

Odnośnik do komentarza
Udostępnij na innych stronach

pardon, pisalem z glowy - xprevious, tak jak Vader mowi :D

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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