Skocz do zawartości

Popup menu


Rekomendowane odpowiedzi

Witajcie! Mam problem przeze mnie nie do rozwiązania. Jak niektórzy wiedzą robię grę i chciałbym, żeby jak kliknę PPM na przedmiot to na pozycji mouse_x i mouse_y pokazywało się menu(coś jak show_menu w GM8)

 

Nie mam bladego pojęcia jak takie menu zrobić.

Odnośnik do komentarza
Udostępnij na innych stronach

Takie menu, o ktorym mowisz, jest niezwykle trudne do zrobienia, w GM:S praktycznie nie ma juz funkcji, ktora wstrzymywalaby prace gry (usunieto m. in. sleep() i mouse_wait()). Musialbys napisac w swojej grze system, ktory na zawolanie zatrzymywalby ruch wszystkich obiektow, blokowal timery itd., dopiero wtedy rysowalbys menu.

Odnośnik do komentarza
Udostępnij na innych stronach

Takie menu, o ktorym mowisz, jest niezwykle trudne do zrobienia, w GM:S praktycznie nie ma juz funkcji, ktora wstrzymywalaby prace gry (usunieto m. in. sleep() i mouse_wait()). Musialbys napisac w swojej grze system, ktory na zawolanie zatrzymywalby ruch wszystkich obiektow, blokowal timery itd., dopiero wtedy rysowalbys menu.

 

A tak bez zatrzymywania wszystkiego?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

W create tworzysz zmienną-flagę: menu = false;

 

Potem dajesz w mouse press right: menu = true, a w global mouse press left: menu = false

 

potem w draw: if menu = true { draw_rectangle(....); } i już masz narysowane menu. Pozostaje wypisywać tekst dla opcji, oraz w global mouse press left możesz zrobić sprawdzanie czy myszka jest w tym prostokącie (zwykłe mouse_x >= i <=), oraz jeśli jest, to wybieranie odpowiedniej opcji (tutaj mozna zrobic jakies dzielenie całkowite div, żeby wyliczyć którą opcję się wybrało). Oczywiście menu = false musi być tak czy siak.

 

Baaaaardzo proste zagadnienie tak naprawdę, tylko trzeba chwilę pomyśleć. No i jak na wielu obiektach można kliknąć, to proponuję zrobić też globalną zmienną menu (oprócz lokalnej) i też ustawiać ją w tych miejscach na true i false i dodatkowo w mouse press right wtedy dodać: if global.menu = false - dzięki czemu tylko jedno menu na raz się otworzy.

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