Skocz do zawartości

Obiekty "przyklejone" do viewa


Rekomendowane odpowiedzi

Ta tylko, że tak mam w Step. I właśnie przez to gdy obracam view object zostaje tam gdzie był.

 

 

@Edit: Używaliście kiedyś Draw GUI? Jakbyście nie wiedzieli jest ona w GM:S. Tam sprity, teksty i inne są rysowane tak, że są przyklejone do ekranu. Normalnie jakbyś nakleił kartę na monitor. I gdy obrócisz view ta karta (czy co tam) dalej tam jest.

 

Chyba nikt mnie nie rozumie :(

Odnośnik do komentarza
Udostępnij na innych stronach

GML
draw_sprite_ext(sprite_index,image_index,view_xview+lengthdir_x(wsp_X,view_angle[0]),view_yview+lengthdir_y(wsp_Y,view_angle[0]),image_xscale,image_yscale,image_angle+view_angle[0],image_blend,image_alpha)

pisze z glowy na telefonie, nie ma pewnosci ze to zadziala

Odnośnik do komentarza
Udostępnij na innych stronach

Okej. Ja tu chciałem dobrze, a jeszcze zostałem zjechany, żem niby prostak. Otóż posłuchaj uważnie kolego:

"Zapamiętaj sobie, że na każdego zwycięzcę przypada jeden przegrany, a JA ZAWSZE WYGRYWAM".

 

Po drugie zostaw te swoje, nieuzasadnione obelgi dla ludzi z Twojego otoczenia.

 

P.S. Zostałem zdemotywowany do dalszego pomagania... ahhh

Odnośnik do komentarza
Udostępnij na innych stronach

Och, czyli mamy tu XY problem, przy czym twoim X jest zrobienie kontrolek do sterowania, a Y - przyczepienie kontrolek do ekranu.

 

Gdybym ja mial zrobic cos takiego, napisalbym osobno kod na rysowanie kontrolek, a osobno na sprawdzanie, gdzie jest kursor podczas klikniecia i co ma zrobic, bedac w danej strefie ekranu (czy klikajac na danego sprite'a). Mozna to zrobic, wykorzystujac np. funkcje point_in_rectangle(,,,,,), point_in_circle(,,,,) - zaleznie od wygladu twoich buttonow.

 

Edit: Na Androidzie zamiast mouse_x, mouse_y mozesz chciec uzyc device_mouse_x(device), device_mouse_y(device) [albo device_mouse_x_to_gui(device), device_mouse_y_to_gui(device)]

Odnośnik do komentarza
Udostępnij na innych stronach

to tylko android :/ (znaczy sie na PC nie dziala, pewnie na wszystkie mobilki dziala)

 

normalnie mozesz sprawdzac

GML
for(var device=0; device<=5;device++)

{

if device_mouse_check_pressed(device,mb_any) and device_mouse_raw_x(device)<max_x

and device_mouse_raw_x(device)>min_x and device_mouse_raw_y(device)<max_y and device_mouse_raw_y(device)>min_x

}

i to ci sprawdza do gui, wg mnie bardzo lamerski sposób aby robic klikanie w obiekty eventem mouse check

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if device_mouse_check_pressed(device,mb_any) and device_mouse_raw_x(device)<max_x

and device_mouse_raw_x(device)>min_x and device_mouse_raw_y(device)<max_y and device_mouse_raw_y(device)>min_x

Tu przydaje sie point_in_rectangle:

GML
if device_mouse_check_pressed(device,mb_any) and point_in_rectangle(device_mouse_raw_x(device),device_mouse_raw_y(device),min_x,min_y,max_x,max_y)

Ja korzystam z tego sposobu (raczej jego wariantu z zwyklym mouse_x), moze nie najladniejszy, ale w jednym kawalku kodu masz kontrole nad calym GUI

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