-
Postów
2 911 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
14
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Threef
-
GML (Draw albo Draw GUI) var spr=s_button//Sprite z grafiką buttona //Pozycja buttona var xx=20 var yy=20 var w=sprite_get_width(spr) var h=sprite_get_height(spr) if(mouse_check_button_pressed(mb_left) && point_in_rectangle(mouse_x,mouse_y,xx,yy,xx+w,yy+h)) { //Przycisk wciśnięty } draw_sprite(spr,0,xx,yy) Origin sprite ustawić na [0,0]. Dla Draw GUI trzeba robić inaczej. Nie można tam sprawdzać mouse_x / mouse_y. Trzeba display_mouse_get_x() / display_mouse_get_y()
-
podzielenie gry oraz... przyszłość game makera
Threef odpowiedział(a) na krzemo temat w Pytania początkujących
On wywala je z RAM. Te które są utworzone jako zasoby wciąż zostają gdzie były. -
podzielenie gry oraz... przyszłość game makera
Threef odpowiedział(a) na krzemo temat w Pytania początkujących
Tak, dobrze wiemy o tym. Ale ciekawe jakie efekty miałoby właśnie pobieranie grafik z dysku i trzymanie ich tylko w surface. -
Nie, nie muszą to być obiekty. Przycisk to po prostu sprawdzenie czy mysz jest na odpowiedniej pozycji i czy jest wciśnięty klawisz.
-
podzielenie gry oraz... przyszłość game makera
Threef odpowiedział(a) na krzemo temat w Pytania początkujących
Każda grafika wczytana z dysku to nowy texture page. Więc wczytując samemu grafiki z dysku robi się dużą głupotę. Nie wiem tylko jakiego rozmiaru są one. Boję się że te texture pages są standardowej wielkości. Więc jak mamy w projekcie ustawione 2048x2048 to wczytując grafikę która ma 32x32 reszta jest pusta ale wciąż zajęta. Ciekawi mnie teraz co by było gdyby wczytywać grafiki, zapisywać je na surface (czyli w pamięci graficznej) i rysować surface zamiast tego. Może ktoś chciałby porobić testy wydajnościowe? -
podzielenie gry oraz... przyszłość game makera
Threef odpowiedział(a) na krzemo temat w Pytania początkujących
Ach jest haczyk, zapomniałem. Jest logo GM przy włączaniu gry chyba. Ale w porównaniu do tego co było w GM8.1 gdzie był znak wodny i ograniczone funkcje to jest nie do przebicia. Żebyś nie pytał to (prawie) wszystkie funkcje są odblokowane, a nie będą Ci oczywiście działać te od reklam albo analityki. GM:S nie wczytuje wszystkiego na początku. Wczytuje tylko to co potrzebuje, ale właśnie nie usuwa tego co już nie potrzebne. Dlatego trzeba robić flush. O ilość obiektów się nie martw, najgorzej jest z rysowaniem sprite. Jeżeli robić instance_deactivate() to nie powinieneś mieć problemów. -
podzielenie gry oraz... przyszłość game makera
Threef odpowiedział(a) na krzemo temat w Pytania początkujących
Rozwiązanie drugiego bardzo Cię ucieszy: Ściągnij GameMaker:Studio Odpal i zaktualizuj Wpisz email w okienku powitalnym Sprawdź email ??? Profit! Ciesz się aktywną wersją standard GM:S która za darmo ma wszystko co GM8.1 Pro + sporo nowych rzeczy jak to co przyda się w rozwiązaniu pierwszego problemu. Więc z grafikami jest fajna sprawa w GM:S. Jest coś takiego jak texture pages. Są to spakowane razem grafiki. W wersji GM:S Pro możesz samemu kontrolować co na jakim texture page ma być, ale nawet jak nie masz do tego dostępu to wciąż zainteresuje Cię funkcja draw_texture_flush();. Ona najnormalniej wywala z pamięci wszystkie grafiki, a te które gra teraz używa są od nowa wczytywane. Używa się tego na początku room (jako loading?) i dzięki temu jeżeli jakaś grafika nie pojawia się na tym room to nie zajmuje ona już RAM. Tylko niech nie przyjdzie Ci do głowy wyżywanie tego w Step! Wtedy osiągniesz odwrotny efekt bo grafiki będą musiały co step się od nowa wczytywać! -
Jak wczytać plik z included files
Threef odpowiedział(a) na MaxGaming temat w Pytania początkujących
GM8 nie musiał działać na HTML5, Androidzie, iOS i konsolach. Tam nie masz możliwości odczytać coś z poza danych gry. Ale jeżeli chcesz się ograniczyć tylko do Windowsa to jest extension które odblokowuje pełen dostęp do dysku. Wygoogluj "GMFileSystem". Znalazłem na forum YYG. -
Bo nie nadąża. Ten twój kawałek kodu wykonuje się przed "przeniesieniem" view, więc cały czas będzie jeden step wstecz. Dawno już nie robiłem tego w taki sposób bo istnieje masa o wiele lepszych rozwiązań (np.: Event GUI) ale wydaje mi się że jak wsadzisz te w Draw to będzie działać jak chcesz.
-
Jak wczytać plik z included files
Threef odpowiedział(a) na MaxGaming temat w Pytania początkujących
Z folderu gry możesz tylko odczytywać. Z \AppData\Local\ możesz zapisywać i odczytywać. Są też funkcje które pytają użytkownika o plik, wtedy w zależności czy prosimy o load czy save to mamy dostęp do dowolnego pliku jaki wskaże użytkownik. Jest to związane z zabezpieczeniem użytkownika. -
Zacząłem się bawić shaderami. Szybki nowy poboczny projekt. Nie daję w [ img ] bo każdy ma rozmiar 1000x1000 http://i.imgur.com/IM1w1V9.png http://i.imgur.com/YQbUxRQ.png http://i.imgur.com/11hKATH.png
-
Rozwiązanie tego jednego problemu jest banalnie proste. ANtY ić stont. Po wczytaniu gry wszystko próbuje wrócić do normy. Ale są dane które nie zostają przywrócone, w tym wypadku jest to lista. Wystarczy że linijkę przed tym gdzie pojawia się błąd (masz opisane w komunikacie błędu) wstawisz: GML if(!ds_exist(onMeList,ds_type_list)) {onMeList=ds_list_create()} Jest to proste sprawdzenie czy lista istnieje i w razie czego stworzenie jej od nowa. Niestety wróżę że zaraz po poprawieniu tego jednego błędu pojawi się inny. Tak już jest jak robi się zlepki kodu.
-
Sandbox. GM:S nie pozwala zapisywać gdzie się chce. Pliki można odczytywać tylko z folderu gry oraz folderu danych gry (appdata), a zapisywać tylko w tym drugim. Twój plik będzie w: C:\Users\Nazwa Użytkownika\AppData\Local\Nazwa_twojej_gry Być może twój save nie działa bo, tak jak pisałem wcześniej, GM:S stara się aby był uniwersalny. Po prostu nie działa w twoim wypadku. Może coś kombinujesz z obiektami, a może save się wczytuje ale ty zaraz potem coś psujesz? Najpierw sprawdź czy plik się tworzy. Jeżeli nie to próbuj aż będzie się tworzyć. Jeżeli się tworzy a dalej nie działa to musisz pomyśleć o innym sposobie zapisywania. Zrób wtedy wielką listę co musi twój save pamiętać czyli room na którym byłeś, pozycja x i y gracza, liczba złota, HP, zabici przeciwnicy, etc. Potem po prostu będziesz musiał to wszystko zapisywać i wczytywać z pliku ręcznie.
-
A nie trzeba przypadkiem powiedzieć do jakiego pliku ma się zapisać? GML game_save("Save.dat") game_load("Save.dat") Dzięki temu możesz mieć kilka save.
-
Lol to jest skalowanie view i osobno GUI. viev_wview[0]=view_wport[0]*skala A FPS niski bo 1. to edytor. On musi mielić. 2. To GM 3. Mam procka 1.06GHz [Pisane z telefonu]
-
Grafiki raczej takie już zostaną. Rysowanie polega na tym że wysyła się dane o rysowanym klocku do kontrolera który się zajmuje tworzeniem albo nadpisaniem tile. Dzięki temu działa asynchronicznie i można rysować dalej w czasie gdy operacje się wykonują. Dane o tile są w... ds_list. Ogółem te "Wait or press ESCAPE" wyskakuje po naciśnięciu Enter i jest trybem który wyłącza event draw do czasu aż wszystkie operacje się wykonają. Ikonki u góry to między innymi ukrywanie warstw. Brakuje jeszcze zrobić "Flood fill" i "Magic Wand". Zastanawiam się też czy jest sens robić copy/paste. Potem rysowanie tylnych tile w tle i obiektów mapy. Takie małe "Create map editor in 7 days" jam. :P Tutaj lepszy gif, bo tam coś się z view stało.
-
:online2long:
-
Level editor prawie skończony w 16 godzin. Prawie, bo jeszcze sporo roboty, ale już podstawy czyli rysownie tile różnymi pędzlami i najważniejsze czyli zapisywanie do odpowiedniego formatu już jest. Oczywiście ma bajery jak zoom i wyłączanie warstw. Jutro dorobić wybieranie tilesetu i autotiler. A potem pola tekstowe settings mapy żeby można było wpisać autora albo wybrać tryb gry. Po jutrze zrobić resztę "warstw" czyli dodawanie przeciwników i ozdób, a w piątek będę mógł chyba zacząć obsługę tego formatu map w grze. Miesiąc planowania nie poszedł na marne!
-
Zobacz w dokumentacji funkcje game_save() i game_load() są uniwersalne i to oznacza że rzadko będą działać tak jak chcesz. Jeżeli potrzebujesz czegoś więcej to musisz się zainteresować obsługą plików i jakoś zaplanować swój "stan gry".
-
Już wiesz jak to zrobić. Właśnie to napisałeś. Po prostu rysuj grafiki drugi raz na odpowiedniej pozycji. Można to fajnie stworzyć jako surface, tylko musisz ogarnąć jak wszytko rysować.
-
Albo możesz też spróbować z Constructem 2. W HTML5 radzi sobie lepiej niż GM:S.
-
Sobota rano, nie rozumiem z tego prawie nic. Nie mam pojęcia czy to jest kod poruszania gracza, czy (mam nadzieję że nie) platformy. Po 5 minutach zauważyłem durnotę jaka jest: if y<y+py {down=1;} Bo w tym momencie sprawdzasz: if 0<py {down=1;} Poza tym postaraj się następnym razem używać znacznika [ gml ]
-
Technikum to rozszerzone liceum. Będziesz mieć te same przedmioty i tematy, z tą różnicą że będziesz miał dodatkowe 3-8 przedmiotów technicznych i wszystko będzie uciśnięte w 4 a nie 3 lata. Licea zazwyczaj mają wyższy poziom bo naciskają na przygotowanie do matur, ale można przez nie przelecieć tak samo. W technikum pozwala się często przymrużyć oko na zwykłe przedmioty jeżeli uczeń jest dobry z technicznych. W liceum będziesz kończyć lekcje o 15:00, w technikum o 17:00.
-
Może po prostu masz origin tej skały ustawiony tak a nie inaczej? Może ta skała gdzieś w create się przemieszcza? Poza tym zastanów się czy na pewno chcesz tworzyć instance. Może wystarczy Ci rysować te sprite na odpowiedniej pozycji?
-
Co rozumiesz przez rozmiar? Bo jest dużo różnych możliwości. To co podał Boad to skala sprite. Punkt origin pozostanie bez zmian a wymiary sprite będą przeskalowane przez te wartości.