Skocz do zawartości

GUI podążające za viewem


Dester

Rekomendowane odpowiedzi

Bo nie nadąża. Ten twój kawałek kodu wykonuje się przed "przeniesieniem" view, więc cały czas będzie jeden step wstecz.

Dawno już nie robiłem tego w taki sposób bo istnieje masa o wiele lepszych rozwiązań (np.: Event GUI) ale wydaje mi się że jak wsadzisz te w Draw to będzie działać jak chcesz.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

ja tam zawsze to robie w drawie typu:

 

GML
draw_sprite( s_hpBar,-1, view_xview[0] + 10, view_yview[0] + 15 );
Odnośnik do komentarza
Udostępnij na innych stronach

GML (Draw albo Draw GUI)
var spr=s_button//Sprite z grafiką buttona

//Pozycja buttona

var xx=20

var yy=20

var w=sprite_get_width(spr)

var h=sprite_get_height(spr)

 

if(mouse_check_button_pressed(mb_left) && point_in_rectangle(mouse_x,mouse_y,xx,yy,xx+w,yy+h))

{

//Przycisk wciśnięty

}

draw_sprite(spr,0,xx,yy)

 

Origin sprite ustawić na [0,0].

Dla Draw GUI trzeba robić inaczej. Nie można tam sprawdzać mouse_x / mouse_y. Trzeba display_mouse_get_x() / display_mouse_get_y()

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

polecam:

 

GML
[...]

xx = device_mouse_x(0);

yy = device_mouse_y(0);

 

if( device_mouse_check_button_pressed( 0,mb_left ) )

[...]

 

wtedy działa też na ekranach dotykowych

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