ID zasobu po jego nazwie - xxx_get_index

W GameMaker:Studio w przeciwieństwie do poprzednich wersji nie ma już wewnętrznego licznika zasobów, automatycznie inkrementowanego i nadającego kolejne ID bez nawet jeśli zasoby znikają - możliwe było posiadanie zasobów o ID 0,1,5,7,9,10. W GM:Studio zasoby zawsze posiadają identyfikatory jako kolejne liczb naturalne od 0 do n, nie wg. kolejności tworzenia, a wg. kolejności w drzewku (zatem ID nie są stałe jak kiedyś). To jednak pozwala wykonać pętlę whilę od 0 do n tak długo, jak zasób o danym ID istnieje, zapisać jego nazwę jako string w tablicy i następnie za pomocą skryptów pobierać ID zasobów po nazwie.
Brzmi skomplikowanie, ale w użyciu jest proste. Wystarczy wywołać skrypt index_init() na początku gry (koniecznie tylko raz!) i potem można używać skryptów sprite_get_index(), object_get_index(), script_get_index() oraz room_get_index() za argument podając nazwę jako string. Jeśli potrzebujesz skrptów także dla pozostałych zasobów jak czcionki, tła, ścieżki itp., to dopisanie nie powinno być problemem, mając gotowy kod dla reszty.

Autor: gnysek http://gnysek.pl/

Rozmiar
357 KB
Autor
Ocena
–/10
0 głosów
Komentarze
Komentarze (łącznie 0):
Nie ma jeszcze żadnego komentarza. Czas to zmienić

Najnowsze wersje GameMakera:

Stabilna
2023.8.1.102 • 2023.8.1.148
wydana 14 dni temu
LTS
2022.0.1.31 • 2022.0.1.30
wydana 169 dni temu
Beta
2023.800.0.406 • 2023.800.0.429
wydana 30 dni temu
= IDE, = Runtime
Użytkownicy online
2 użytkowników aktywnych:
gości: 1, userów: 1
 Adriann
(~ostatnie 15 minut)
Discord
23 użytkownicy online na discordzie:
ACCESS_ViOLATiON, MKP, Alice, Carl-bot, PolTomski, DungeonFairy, Murrri, Grela, fervi, s..., Chell, Alkapivo, Pako, LadyLush, Adriann, Fylyps, bagno, Tidżi, Dyno, Mtax, g..., SzymonKe, moeglich
Shoutbox
gnysek (14:59, 28.09.23)
Poszedł dziś update strony :)
Adriann (21:06, 14.08.23)
Jest..hoho:D
Adriann (21:04, 14.08.23)
Nie znam tego, poszukam. Nie mówisz mam nadzieję o tej podmiance wewnątrz skryptu?
gnysek (10:38, 14.08.23)
Przecież jest: Search & Replace. Do tego nazwy skryptów i zasobów akurat Feather podmienia praktycznie bez problemów.
Adriann (14:39, 12.08.23)
Przydałaby się opcja do globalnej zmiany nazwy zmiennejobiektu we wszystkich skryptach i obiektach :D Tak to jest dość ciężko zabrać się za sprzątanie
SimianVirus7 (10:39, 12.08.23)
To nie burdel, to nieład artystyczny
exp (00:35, 12.08.23)
Feather nie zrozumiał, że burdel jest elementarną częścią mojego projektu
exp (00:34, 12.08.23)
Miałem to samo, nie tyle otworzyłem stary projekt, co w końcu ściągnąłem aktualizację (bo olewałem ten komunikat od chyba półtora roku)
gnysek (23:48, 10.08.23)
Kolizje tilesetowe rządzą!
gnysek (20:01, 26.07.23)
zobaczycie nowy edytor kodu, powinen wskoczyć do bety w sierpniu...
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Kiedy wyjdzie GameMaker (Studio) 3.0?