Skocz do zawartości

Pomoc w rysowaniu gui.


Uhasz Ysz

Rekomendowane odpowiedzi

Jo nie wiem czy dobry dział, ale zrobiłem coś takiego:

dodajesz se do swojej gry, umieszczasz controller w pokoju w którtym chcesz tego uzyc. ustawiasz wszystko jak chcesz, klikasz export all i wszystko masz skopiowane do clipboarda jako kody. wklejasz gdzieś w evencie draw gui i gitarka.

 

 

 

 

 

Link do itch.io w opisie, sprzedaje tam to za 5 dolarów ale macie za free ekskluzywnie dla luzi z tego forum(na itch.io też myślałem żeby za free wrzucić bo w sumie głównie dla siebie na przyszłość zrobiłem ale jakiś ziomek tam sprzedaje 9 slice window za 3 dolary a to jest jakieś 1/10 tego mojego rozszerzenia)

 

GuiDrawer.gmez

Odnośnik do komentarza
Udostępnij na innych stronach

Nie dokładnie tak samo, starałem się to zasymulować. Myszką przeciągając da się zaznaczyć tylko cały tekst ale jak trzymasz shift to klawiszami lewo i prawo (tak jak w edytorach) mozesz zaznaczyć jego część. jak klikniesz prawym masz opcje kopiuj i wklej. masz na filmiku 9:40

 

Pole tekstowe może mieć tylko jedną linie, próbowałem zrobić na więcej ale poległem.

 

W ogóle zapomniałem dodać że wszystkie elementy które ja zrobiłem, czyli Okno z tekstem,lista dropdown, suwak, przyciski itd są jako pojedyńczy skrypt który równie dobrze meżecie se wstawić do kodu i zamiast uzupełniać rzeczy w grze jak na filmiku możecie zrobić to w edytorze podstawiając rzeczy do argumentów.

 

Pole tekstowe jest wyjątkiem, jest jako obiekt i trzeba je wstawić w evencie albo ifie który trigeruje się raz, nie może być w w draw gui bo będzie się tworzyło co klatke.

wszystkie skrypty z elementami które ja zrobiłem zaczynają się Gdraw i te można dawac do drawa pole tekstowe jest Gcreate

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
15 godzin temu, Uhasz Ysz napisał:

a co to za róznica jak wszystko jest kompatybilne

 

Ależ nie jest. Można przekonwertować, ale to nie znaczy, że jest kompatybilne. W GMS2 masz system layerów, w GMS 1 nie.

Odnośnik do komentarza
Udostępnij na innych stronach

 
 
0
 Advanced issue found
 
 
13 godzin temu, Uhasz Ysz napisał:

Nie dokładnie tak samo, starałem się to zasymulować. Myszką przeciągając da się zaznaczyć tylko cały tekst ale jak trzymasz shift to klawiszami lewo i prawo (tak jak w edytorach) mozesz zaznaczyć jego część. jak klikniesz prawym masz opcje kopiuj i wklej. masz na filmiku 9:40

 

Pole tekstowe może mieć tylko jedną linie, próbowałem zrobić na więcej ale poległem.

 

Tak myślałem. Nie przejmuj się, to nie Twoja wina, jest to wyjątkowo ciężkie do implementacji w GameMakerze. Btw. to jest dla mnie szokujące, że GM mając już 21 lat nie wprowadził do tej pory jakiejś funkcji, która pozwoliłaby łatwo stworzyć normalne pola tekstowe. Jak szanuję Russella i Mike'a tak powinni się za to wstydzić. W Godocie nie ma z tym problemu. W Unity - nie ma z tym problemu. W GM taka podstawowa funkcja jest niedostępna od 21 lat. Współczuje chłopakom, którzy tworzą grę typu  mmorpg, gdzie na początku są pola tekstowe do logowania i hasła. Podejrzewam, że muszą nad tym posiedzieć z miesiąc lub dwa, żeby to jako to wyglądało.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Kto robi MMORPG w GM ? :) Ja myślę, że tych pól tekstowych nie ma, bo by musieli na mobilkach i konsolach dodać obsługę klawiatury (która chyba nawet częściowo jest) i chcieli unikać wchodzenia w kolejny temat.

Odnośnik do komentarza
Udostępnij na innych stronach

 
 
 
 
13 minut temu, gnysek napisał:

Kto robi MMORPG w GM ? :) 

Chociażby True Valhalla tworzy mmorpga w GM o nazwie Kingfall: https://twitter.com/kingfallgame

Chyba nawet Borek myślał też o dodaniu takiej możliwości w Almora:Darkosen

Każdy, kto chce, może zrobić MMORPGa w GM, natomiast wymaga to  wielkiej odporności na frustrację w sytuacji, gdy nagle okazuje się, że trzeba poświecić 2 miechy na zakodzenie pól tekstowych. Ten czas można byłoby poświęcić na stworzenie 30 nowych potworków, 50 nowych broni, 70 nowych skilli, 90 NPC'ów i 120 nowych questów. Gdy człowiek zdaje sobie z tego sprawę, to zastanawia się, dlaczego do jasnej choler*y Russel przez 21 lat zaimplementował jeszcze tych choler*ych pól tekstowych.

 

Odnośnik do komentarza
Udostępnij na innych stronach

nie no nie przesadzaj ja te pole zrobiłem w kilka godzin i dałbym radę zrobić lepsze ale zabrałem się do tego od przysłowiowej dupy strony. Masz opcje keyboard_string co już jest wielkim ułatwieniem. Ale masz rację, mogliby dać proste pole tekstowe.

Godzinę temu, gnysek napisał:

Kto robi MMORPG w GM ? :) Ja myślę, że tych pól tekstowych nie ma, bo by musieli na mobilkach i konsolach dodać obsługę klawiatury (która chyba nawet częściowo jest) i chcieli unikać wchodzenia w kolejny temat.

eetam, android sam rozpoznaje wszelkiego rodzaju pola tekstowe i się do nich dostosowuje.

Godzinę temu, gnysek napisał:

 

Ależ nie jest. Można przekonwertować, ale to nie znaczy, że jest kompatybilne. W GMS2 masz system layerów, w GMS 1 nie.

No to lipa

Odnośnik do komentarza
Udostępnij na innych stronach

No zrobienie samemu pola tekstowego jak text input w HTML to jest dzień roboty. Włączenie z zaznaczaniem tekstu i kopiowaniem. I to jest zrobienie rozwiazania pod własny projekt a nie wstawienie czegoś co może działać a może nie bo jest "uniwersalne".

Sam projekt wydaje się ok. Kiedyś myślałem o czymś podobnym ale jednak za mały zysk vs koszt bawienia się czymś takim

Odnośnik do komentarza
Udostępnij na innych stronach

6 godzin temu, Threef napisał:

No zrobienie samemu pola tekstowego jak text input w HTML to jest dzień roboty. 

 

Z całym szacunkiem, ale nie zgodzę się. Ludzie często zapominają o detalach, które decydują czy text input działa normalnie czy też nie, np:

* Możliwość najechania i kliknięcia kursorem w środku wyrazu i pisanie od środka stringa, a nie od jego końca;

* Zaznaczanie tekstu myszą poprzez przeciągnięcie. Powinno działać zarówno dla tekstu z jednym wierszem jak i dłuższego tekstu z większą ilością wierszy;

* Opcja "cofnij" za pomocą Ctrl+Z i "powtórz" za pomocą Ctrl+Y;

* Dwukrotne kliknięcie na wyraz zaznacza ten wyraz,

* Trzykrotne kliknięcie na wyraz zaznacza cały wiersz,

* Ctrl+A zaznacza cały tekst

* Ctrl + strzałka w prawo/strzałka w lewo : przenosi kursor do końca następnego/poprzedniego wyrazu

* Strzałka w górę/ strzałka  w dół: Przemieszcza kursor w inteligentny sposób pomiędzy wierszami.

 

... i wiele innych funkcji. Nie ma szans, aby nawet zaawansowany użytkownik GMS zrobiłby to wszystko w jeden dzień. Dlaczego twórcy GMa przez 21 lat nie zaimplementowali text inputów jest dla mnie niesamowitą zagadką. Chodzą plotki, że gdy Russell targował się z Markiem odnośnie wykupu GMa, Mark był bardzo niechętny sprzedaży swojego "dziecka". W końcu zgodził się, ale pod jednym warunkiem. Słuchaj Russell - powiedział Mark - Skończmy wreszcie tę dyskusję, jest 2 w nocy, żona na mnie czeka w łóżku. Sprzedam Ci już tego GMa, dla świętego spokoju, ale pod jednym warunkiem...  - w oczach Russella pojawiła się ekscytacja -   ...Nigdy, choćby nawet Mike Cię błagał na kolanach, choćby Gnysek groził Ci kumplami z GMclanu, to i tak nie ugniesz się i nie zaimplementujesz normalnych text inputów.   Russell też już chciał dobić targu, bo następnego dnia miał wziąć udział w turnieju lemmingów, i chciał być wyspany, to się zgodził. I tyle. Przez te wszystkie lata Russell dotrzymał słowa. Można mówić o nim wiele, ale trzeba przyznać, że jest dżentelmenem i słowa dotrzymał.

 

 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Cytuj

Sam projekt wydaje się ok. Kiedyś myślałem o czymś podobnym ale jednak za mały zysk vs koszt bawienia się czymś takim

zrobiłem głównie dla siebie pewnego dnia gry w moim rpgu przyszło mi zrobić cały kolejny ekran z okienkami napisami przyciskami i innymi pierdołami. na myśl o tym aż zrobiło mi się słabo i zacząłem to pisać.

Ale w sumie głównie i tak używam tego do wstawiania pojedynczych rzeczy jak nie chce mi się obmyślać współrzędnych dla przycisku, potem sprawdzasz jak to leży wyłącxzasz grę, przesuwasz o 3 pixele sprawdzasz znowu i tak po 5 razy. nie daj boże jeśli to jest np prostokąt i musisz podać współrzędne 2 wierzchołków. 

 

Ale ten mój programik np nie może zrobić czegos na for loopie, nie możesz ustawiać elementów względem jakiegoś punktu i ogólnie niektóre rzeczy lepiej robić w kodzie. 

Mam zamiar pododawać kiedyś te rzeczy + możliwość animowania (płynnego przesuwania) elementów ale jak pomyślę ile to roboty to może kiedyś a może nie.

Dnia 23.06.2020 o 14:50, gnysek napisał:

Kto robi MMORPG w GM ? :) 

Co do tego dosłownie wczoraj wpadłem na genialny pomysł, dopytałem się na discordzie i w sumie okazało się, że wcale nie jest głupi.

 

Bierzesz bazę mySQL(napisali mi że lepsza jest jakaś redis, ja wziąłem mysql bo nie wymaga serwera a jedynie hosting ftp i ogólnie z tym już mam wprawy trochę) i  przy każdym kliknięciu zapisujesz w niej dane takie jak pozycja startowa gracza, pozycja kliknięcia (gracz idzie tam gdzie klikniesz), i czas kliknięcia. 

na podstawie tego za pomocą lerp() obliczasz dokładną pozycję już lokalnie w grze i wuala.

Okazało się, że meseta się czymś takim bawił na tej bazie danych redis i cośtam pisał że tym sposobem możesz zrobić gre dla dziesiątek tysięcy osób jednocześnie bez lagów. On się tam jeszcze rozpisał na 80 linijek ze szczegółami ale jak widać nie jest to wcale ultra trudne.

Odnośnik do komentarza
Udostępnij na innych stronach

Wczoraj czytałem Wasz wątek na Discordzie ( GoliBroda to Ty, tak?) i jestem trochę sceptyczny co do tego pomysłu. Pamiętam, jak robiłem aplikację w GMie z systemem logowania, rejestracji i zapisu danych w bazie danych mySQL. Zapisywałem je własnie w formie JSONa. O ile z zapisem nie było problemu, to pojawiały się one przy wczytaniu danych, zwłaszcza gdy JSON zajmował  dużo pamięcia ( nie pamiętam już dokładnie, chyba przy 10 mb zaczynały się problemy). 

Odnośnik do komentarza
Udostępnij na innych stronach

hahaha co ty zapisywałeś w tym jsonie że to miało 10mb? przecież json to plik tekstowy, co ty dane wszystkich userów pobierałeś? ogólnie to z poziomu php byś mógł wysłać zapytanie ze znalezieniem odpowiedniego miejsca w tabelce porównania loginu z hasłem i do gm wracasz tylko wynik pozytywny lub negatywny jakoś zaszyfrowany czy coś.

tak jak pisał tamten kolo dzielisz obszar gry na części i pobierasz dane z części na której jesteś, dane od wszystkich na takiej części nie przekroczyłyby megabajta bo jest to dosłownie z 10-20 znaków na gracza.

Poza tym napisali że mysql słaby i żeby innego użyć, bo musisz co sekundę wysyłać zapytanie do bazy o pobranie danych, nie wiem czy to  nie za dużo dla tej bazy mysql jakby z 1000 albo 10 000 ludzi wysyłało takie zapytanie.

 

Odnośnik do komentarza
Udostępnij na innych stronach

20 godzin temu, nowy_user napisał:

Z całym szacunkiem, ale nie zgodzę się. Ludzie często zapominają o detalach, które decydują czy text input działa normalnie czy też nie, np:

Jak mówiłem prosty input który ma tylko jedną linię. Z wszystkim co napisałeś. :) Gdy ostatnio to robiłem to wystarczyło 8 godzin. Najwięcej roboty wciąż z zaznaczaniem tekstu myszą. A rzeczywistość jest taka że w większości przypadków wystarczy ci wyświetlenie tego co jest w inputcie na surface. Zawijanie tekstu gdy jest za długi. Obsługa ctrl+V, delete i jak chcesz być fancy to strzałki (może też z ctrl) oraz insert i delete.

Nikt nie będzie się bawił w kliknięcie myszką by poprawić literówkę w mailu czy haśle (które i tak powinno być ukryte)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Zaznaczanie tekstu w GM wbrew pozorom nie jest trudne, jeśli to jedna linijka. Wystarczy zrobić coś takiego, w pseudokodzie

 

tablica_z_poz_x = [];

str = 'Napis';

str_x = 0;

str_copied = '';

for(i=1; i<string_length(str); i++) {

   str_copied += string_char_at(i);

   tablica_z_poz_x[i - 1] = string_width( str_copied );

}

 

i wtedy mamy wiemy ile literek zaznaczyć, wystarczy odjąć od startu tekstu do kolejnych pozycji. Wszystko co jest wypisane to 1 dzień roboty, 2 z naprawianiem wszystkich bugów.

Swoją drogą, fajny pomysł na przykład, może ktoś chce zrobić ? :)

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