Skocz do zawartości

Rekomendowane odpowiedzi

Witam. Chciałbym zaprezentować przykład jak zrobić GUI w Game Maker. Narazie dałem obsługę okien, buttonów i textboxów ale jeśli się wam spodoba mogę dodać więcej rzeczy :]

 

Screen:

screenshot10014ad3.jpg

screenshot102.jpg

 

Download:

(Najnowsza wersja, narazie nowszych nie będzie)TUTAJ

 

Proszę o komentarze :]

 

Skowron1993

Odnośnik do komentarza
Udostępnij na innych stronach

PRAWIE idealne pod względem technicznym. Brakuje do szczęścia tylko automatycznego generowania i zwracania ID danej kontrolki przez funkcje create. Nie może być tak, że ciągle podajesz wymyślone wcześniej ID. Ani to praktyczne, ani profesjonalne. Jeśli to poprawisz - będzie idealnie.

 

P.S. Dodaj animacje =) .

Odnośnik do komentarza
Udostępnij na innych stronach

@Sernat: Na początku tak było - była lista kontrolek, zwracało automatycznie ID jednak przy usuwaniu krzaczyło się i stwierdziłem że można by dać możliwość nadania ID :] Myślę nad powrotem do automatycznego zwracania ID + Automatycznego rysowania wszystkich elementów :]

Oczywiście, że to lepsza opcja. Później dodajesz do kontrolek zmienne typu "hide" (true/false) i wszystko staje się logiczne, łatwe w użyciu.

Odnośnik do komentarza
Udostępnij na innych stronach

Dziś jeszcze może trochę popiszę, jutro zacznę od około 15-17 więc pewnie w poniedziałek będzie gotowe :) Teraz cała filozofia polega na dodaniu nowego elementu GUI( okno = WindowCreate( ... ); ) i tyle :] Wszystko wykonuje się automatycznie i nie potrzeba więcej pisania, ewentualnie jakieś modyfikacje typu zmiana textu :]

Odnośnik do komentarza
Udostępnij na innych stronach

Jestem w trakcie przepisywania. Dodałem (jeszcze nie do końca działający)suwak, przepisałem wszystkie kontrolki( prócz checkboxa ) i jak narazie działa :) Checkboxa i kilka nowych kontrolek napisze jutro/po jutrze, lecz jeśli ktoś chciałby zaopatrzyć się w nową, odmienioną wersję to:

 

DOWNLOAD:

KLIK!

 

Na razie kontrolki rysują się nawet poza oknem, ale... to się poprawi :D

Odnośnik do komentarza
Udostępnij na innych stronach

Chodzi ci o kolejność wyświetlanych okienek i kontrolek na niej? :P Myślę że globalna zmienna ( global.guiwindownow = ostatnio najechane okienko ), rysowanie wszystkiego po kolei, bez okienka o ID[ global.guiwindownow ] i elementów do niego podłączonych, następnie narysowanie samego okna od tym id i tylko jego elementów powinno załatwić sprawę :)

 

 

EDIT: Miałem dziś być cały dzień poza domem, spóźniłem się na pociąg i nie wypaliło, nawet się nie zmartwiłem :D Zrobiłem taki pseudo depth, działa :) Przy odrobinie szczęścia skończę dziś te GUI.

Odnośnik do komentarza
Udostępnij na innych stronach

screenshot10014ad3.jpg

Tak teraz wygląda gui :] Niby nic się w wyglądzie nie zmieniło, ale w kodzie wiele :] W miarę szybko mi to idzie, mam problem w suwakiem( konkretnie jak by tu rozwiązać problem z elementami wysuwającymi się za okno... nie rysować ich całych... popracuję nad tym ) ale mam nadzieję że niebawem go skończę :] Tymczasem daję wam do sprawdzenia nową wersję.

 

DOWNLOAD:

KLIK!

 

Paczka zawiera:

-Plik *.exe dla testu

-Plik *.gmk z przykładem użycia( efekt jak ze screena )

-Plik Gui.gml - Skrypty( 36kb ^.^ )

-Plik readme.txt w którym wszystko opisałem

 

 

Proszę o komentarze,

Skowron1993.

 

Proszę o opinie :]

Odnośnik do komentarza
Udostępnij na innych stronach

mam problem w suwakiem( konkretnie jak by tu rozwiązać problem z elementami wysuwającymi się za okno... nie rysować ich całych... popracuję nad tym )

Może rysuj elementy na surface i go wyświetlaj. Dla każdego okna osobny surface.

 

Edit: hah szybszy :P

Odnośnik do komentarza
Udostępnij na innych stronach

mam problem w suwakiem( konkretnie jak by tu rozwiązać problem z elementami wysuwającymi się za okno... nie rysować ich całych... popracuję nad tym )

Rysuj te elementy na surface'u, a potem surface'a na ekranie. Elementy, które będą wystawać poza surface'a nie zostaną narysowane na ekranie.

@up: :rolleyes:

Pisałem jedną ręką : /

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...
Myślę że wątki są trudniejsze do napiania.

 

Jak kto lubi :D Ja nie mam pojęcia jak napisać taki program :) Mam prośbę - mógłby ktoś sprawdzić czy to działa? ( https://gmclan.org/up8048_4_Debug.html ) HuderLord odpala i mówi że ma błąd, ja nic nie mam i chciałbym zobaczyć czy inni mają to samo.

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