Skocz do zawartości
  • 0
Penguin

Ustawianie się AI

Pytanie

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:.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

12 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

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;

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

Wyszedł mi błąd "nie można ponownie wytworzyć zmiennej typu "butlin" " i "nieprawidłowo sformułowanej instrukcji przypisania" (wiem, tłumacz google)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

@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

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

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;
############################################################################################
 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

Napisałem w edicie, że xprev nie istnieje, musisz sam je stworzyć, albo zmienić na xprevious.

  • Lubię (+1) 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

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

  • Lubię (+1) 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×