-
Postów
9 825 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
144
Typ zawartości
Profile
Forum
Wydarzenia
Odpowiedzi opublikowane przez gnysek
-
-
Faktycznie, wygląda świetnie, ale jeszcze lepiej by wyglądało, gdyby dało się linię zrobić po całości dookoła rąk i brody:
-
Jak rozumiem, chcesz wycentrowany tekst, ale chcesz też, aby wyświetlał się tak, jakby brakujące litery były nieczytelne.
To w sumie nie jest takie trudne, trzeba pobrać szerokość pełnego tekstu, podzielić go na dwa (czyli wziąć połowę) i zacząć rysować tekst wyrównany do lewej, na pozycji gdzie ma być środek, minus właśnie ta połowa. Czyli np.:
var w = string_width(pelny_tekst); draw_set_halign(fa_left); draw_text(x - w/2, y, krotszy_tekst);
-
Znalazłem dziś gierkę w GM podobną do Dywersanta
https://forum.yoyogames.com/index.php?threads/malachi.96772/ -
-
-
15 minut temu, Kewin napisał:
https://marketplace.yoyogames.com/assets/195/video-player-for-gms-1-4
jest płatne ale nie wiem czy to zadziała w najnowszym gm
Jak dla mnie to jest odtwarzacz wideo.
-
Obecny stabilny GM nie korzysta z najnowszej wersji .NET, a bodaj z czwartej. Dopiero wersja 2022.5 będzie korzystać z .NET 6. Także wygląda, że to zbieg terminów.
-
Przeszukałem sieć, ale jedyny wynik na ten temat to... ten temat w którym teraz odpisuję. Wygląda, ze nikt nie miał takiego problemu.
Spróbowałbym po prostu wszystkich standardowych rozwiązań na znikające centrum powiadomień. Raczej nie winiłbym za to GameMakera, ale bardzo możliwe, że winny jest np. .NET, który przy okazji jest instalowany. Wejdź w "Dodań i usuń programy" i posortuj je po dacie, może spróbuj przeinstalować .NET.
Btw., doinstalowałeś wszystkie aktualizacje z Windows Update dla .NET?
-
Świetnie to wygląda, jak typowa nie-disneyowa bajka z lat '90. W sumie jedyne co mi się nie podoba, to font, ale fanów visual novelek kreską na bank ta gra przyciągnie.
Zauważyłem też na ostatnim screenie, że pojawiają się dialogi dwóch postaci na raz - bardzo fajnie, np. Cinders i Solstice od TeeGee takiego czegoś nie miały, a mogłoby to zwiększyć immersję (tam zamiast tego, postać która mówiła była rozjaśniana).
-
Zakładając, że A to ilość sekund, przez którą gracz może jeszcze grać, np. 8520 sekund:
liczba godzin: A div 3600liczba minut: A div 60 mod 60
liczba sekund: A mod 60
I możesz wywalić prawie połowę kodu i ifów.
Natomiast rysowanie wygląda wtedy tak:
function draw_remaining_time(seconds) { _s = ""; if (seconds >= 3600) { _s += string(seconds div 3600) + " hours, "; } if (seconds >= 60) { _s += string((seconds div 60) mod 60) + " minutes, "; } return _s + string(seconds % 60) + " seconds"; }
-
Ten pojazd w 3D urywa jajca, szkoda, ze potem nie ma więcej animowanych elementów, bo naprawdę ładnie to wygląda.
-
-
Już nie chciałem na to zwracać uwagi, ale ja też bym zamienił ghost_x z x. Dla kolizji ważniejsza będzie pozycja gdzie jest cień, mniej ważne rysowanie. Ewentualnie przy kolizjach będzie trzeba sprawdzać offset jako wysokość, ale wciąż zamiana tych zmiennych ułatwia całość, bo można skorzystać z wbudowanych kolizji, zamiast rzeźbić własny kod.
-
A nie wystarczy rysować cienia na pozycji ghost_x i ghost_y ? Z tego co rozumiem, to jest aktualna pozycja granatu "na podłodze", a jego lewitacja jest uzyskiwana przez dodanie offx i offy.
-
A załączałeś profilowanie w debuggerze? Ono całkiem sporo mówi:
I teraz najśmieszniej, bo jak zmieniłem draw_rectangle na draw_sprite, to udało mi się uzyskać 60 FPS, ale to wciąż słabiutko. To by trzeba jakoś zoptymalizować, na zasadzie sprawdzania całych stref gdzie ta mgła jest, a gdzie jej nie ma (np. obszar 128x128px) i wtedy malować za jednym zamachem większe czarne prostokąty. No i nie aktualizować co klatkę wszystkich pozycji. Albo zwiększyć rozdzielczość mgły, żeby nie było aż 8000 komórek na raz na ekranie.
-
Czym jest
cam_cell_width
??
Wygląda trochę, jakbyś może rysował poza ekranem.Nie wiem też czy ma sens ta ciągła zmiana wielkości GUI.
-
8 godzin temu, Adriann napisał:
with(objUnit){ gpu_set_blendmode(bm_subtract) draw_set_color(c_black) draw_circle(x-camera_get_view_x(view_camera[0]),y-camera_get_view_y(view_camera[0]),200,0) gpu_set_blendmode(bm_normal) }
Ja bym zrobił:
gpu_set_blendmode(bm_subtract); draw_set_color(c_black); with(objUnit){ draw_circle(x-camera_get_view_x(view_camera[0]),y-camera_get_view_y(view_camera[0]),200,0); } gpu_set_blendmode(bm_normal);
Wtedy blend mode nie będzie tyle razy zmieniany.
-
Dziwne, że przy tylu obiektach laguje, robiłem już testy, gdzie 10000 obiektów daje radę, zresztą dobrym przykładem jest Forager - https://www.yoyogames.com/en/blog/forager-optimization-in-gamemaker
-
5 godzin temu, Konrad-GM napisał:
to X i Y będą zawsze 0,0 i nie "podąża" za kamerą
camera_apply();
-
Ale co konkretnie nie działa? Źle się wyświetla? Sprite jest pusty? Wywala jakiś błąd?
-
W jakim sensie nie działa? Pamiętaj, aby włączyć testowe reklamy, inaczej nie zadziała na teście bez wyplucia pełnej wersji gry (a tam też reklamy nie muszą od razu działać, trzeba paru pobrań od prawdziwych userów).
-
W Marketplace masz gotowy przykład użycia: https://marketplace.yoyogames.com/assets/10078/google-admob - podstawiasz tylko swoje identyfikatory.
-
Dlaczego generujesz tyle nowych sprite w locie? Pamięć zapełni się szybko i jest to mega niewydajne, bowiem GM każdy sprite generuje jako osobną teksturę jeśli go tworzysz w grze, do tego trzyma dwie kopie do normalnego rysowania i blendingu, co daje WYSOKOŚĆ * SZEROKOŚĆ * 4 bajty. Obrazek 512x512px to jest 2 MB.
Z tego kodu widać też, że faktycznie, nie usuwasz starych sprite'ów, wiec one faktycznie zostają w pamięci - GM nie zwalnia automatycznie zasobów jeśli nie są używane, robi to tylko ze strukturami i z tablicami, resztę trzeba usuwać ręcznie.
-
Super, jak napisałeś w jednym miejscu, to poczekaj, aż ktoś napisze odpowiedź, nie pisz w drugim...
Temat zbiorczy na drobnostki
w Pytania początkujących
Opublikowano
@I am Lord Widziałem wczoraj dokładnie ten sam błąd opisany na angielskim discordzie gamemakerowym i wygląda, że to nie był przypadek - aktualizuje się sprite, ale nie tileset. Rozwiązaniem jest podobno zaznaczenie checkboxa w tilesecie (disable sprite export) i potem ponowne zaznaczenie.
Błąd jest zgłoszony, ale stabilna dostaje chyba wydanie we wtorek/środę, więc może być ciężko z naprawieniem tego przed 2022.8, trafi pewnie do bety za tydzień i do 2022.9 oraz LTS.