Skocz do zawartości

Problem z obracaniem się postaci w kierunku myszki/celownika


EpiccGuyy

Rekomendowane odpowiedzi

Hej, robię właśnie moją pierwszą grę w programie Game Maker [standard Edition]. Mam już postać, mam celownik zamiast myszki tylko gdy próbuję ustawić skrypt w GML na obracanie postaci za pomocą myszki występuje taki błąd (gdy chcę uruchomić grę):

 

___________________________________________

################################################################################

############

FATAL ERROR in

action number 1

of Step Event0

for object postacc:

 

Push :: Execution Error - Variable Get 1.y(1, -1)

at gml_Object_postacc_StepNormalEvent_1 (line 1) - direction=point_direction(x,y,Celownikk.x,Celownikk.y);

################################################################################

############

 

Skrypt (pochodzi z waszego FAQ):

 

direction=point_direction(x,y,celownik.x,celownik.y) ; (Tak, przemieniłem "celownik" na "Celownikk", bo mój obiekt celownik tak się nazywa).

image_angle=direction

 

Nazwa mojego sprite'u celownika: Celownik

Nazwa mojego objektu celownika: Celownikk

 

Chyba wszystko jest dobrze, a błąd i tak występuje - dacie jakieś rady? Zabawę z Game Maker zacząłem wczoraj więc się nie znam (proszę o wyrozumiałość). :-D

Odnośnik do komentarza
Udostępnij na innych stronach

W momencie wykonania tego kodu najprawdopodobniej nie istnieje jeszcze obiekt Celownikk. Może się to wydawać dziwne bo prawdopodobnie dodałeś go do room, ale jest jeszcze coś takiego jak kolejność tworzenia instance. Element który pierwszy postawiłeś w room pojawi się przed resztą. Najlepszym wg mnie sposobem jest w kodzie w Create tworzenie wszystkich obiektów które są potrzebne.

 

 

A teraz pora na pro tip:

Nie twórz obiektu celownika, to nie ma sensu. Od razu rysuj grafikę. W Draw postacc daj:

GML
draw_self() //To jest po to aby była widoczna grafika postaci

draw_sprite(grafika celownika, -1, mouse_x,mouse_y) // Rysujemy sprite na pozycji myszki</span>
a w Step:
GML
direction=point_direction(x,y,mouse_x,mouse_y)

image_angle=direction

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