Skocz do zawartości

Event DRAW i problem


TO_mek

Rekomendowane odpowiedzi

Witam!

W DRAW mam:

GML
draw_sprite(sprite0,0,x,y);

if view_current==1 {

draw_text(mouse_x,mouse_y,"v1");

}

 

if view_current==0 {

draw_text(mouse_x,mouse_y,"v0");

}

 

i dziala OK

 

jednak jak dorzuce do tego nadanie zmiennej to przestaje wszystko dzialac

 

GML
draw_sprite(sprite0,0,x,y);

if view_current==1 {

draw_text(mouse_x,mouse_y,"v1");

zmienna=1;

}

 

if view_current==0 {

draw_text(mouse_x,mouse_y,"v0");

zmienna=0;

}

 

w create

GML
zmienna=-1

 

w step

GML
if zmienna<>-1 then {

show_message("dziala");

zmienna=-1;

 

 

Czy nie można w 1 obiekcie uzyskać tego by w draw nadawało zmiennej wartość a w stepie jej używało. Tu nawet nie działa pierwsze wyświetlenie zaraz po utworzeniu obiektu A wystarczy zaremować nadawanie wartości zmiennej zmienna w draw i zaczyna działać

Odnośnik do komentarza
Udostępnij na innych stronach

U mnie działa, ale to i tak będzie nieprzydatne, bo zmienna po zakończeniu eventu Draw zawsze przyjmie wartość 1.

To dlatego, że event Draw wywołuje się tyle razy, ile jest viewów, więc siłą rzeczy ostatnią instrukcją wykonaną w Draw jest nadanie zmiennej wartości 1.

Odnośnik do komentarza
Udostępnij na innych stronach

U mnie działa, ale to i tak będzie nieprzydatne, bo zmienna po zakończeniu eventu Draw zawsze przyjmie wartość 1.

To dlatego, że event Draw wywołuje się tyle razy, ile jest viewów, więc siłą rzeczy ostatnią instrukcją wykonaną w Draw jest nadanie zmiennej wartości 1.

 

 

Zapomniałem napisać, że mam 2 viewy a obiekt w stepie ma jeszcze:

GML
x=mouse_x div 128 *128

y=mouse_y div 8 *8

czyli obiekt jest doklejony do myszy. Wydawało mi się, że view_current właśnie do tego służy by odczytać na którym widoku rysuje się dany sprajt.

 

Może napiszę co chcę uzyskać. Mam rooma 5000x800 i 2 widoki: view0 zaczepiony w 0,0 o wymiarach 200,800 ale wyświetlający kawałek rooma z pozycji 4800,800, view1 o wymiarach 1080,800 zaczepiony w punkcie 201,800, pokazujący room od 0,0 do 4800,800 (ten widok jest ruchomy). Czyli oba widoki tworzą na ekranie okno o wymiarach 1280,800, z lewej zawsze mam view0 w stałym miejscu 0,0 a z prawej mam ruchomy view1.

Do kursora myszy mam podpięty obiekt który ma m.in. zastąpić rysunek kursora (czyli ten obiekt o którym pisałem wyżej) i chcę uzyskać taki efekt by sprajt zmieniał się nad widokiem 0 na jakiś wskaźnik_spr a nad widokiem 1 na inny sprajt. I to działa bez problemu. Ale przy okazji chcę także przekazywać zmienną w której zapisane będzie nr widoku nad którym aktualnie znajduje się obiekt i to już niestety nie działa (pokazuje wartość jakby zawsze był view0 aktywny).

 

 

EDIT:

Na razie sprawdzanie widoku zrobiłem inaczej. W step dałem

GML
if mouse_x < 4800 then {

aktywny_widok:=1;

} else {

aktywny_widok:=0;

}

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