GMS 2.3 - Struktury

Czwartek, 19 Grudnia 2019, 14:03
Czas czytania 1 minuta, 9 sekund
Zgodne z GM: gms2
Nowy typ danych w GMS 2.3

Struktury to nowy rodzaj typu danych, który pojawił się w GMS 2.3 (obecnie mamy liczby, tekst, niezdefiniowane (undefined), tablice, struktury danych (ds_xxx)).

Struktura to zmienna, która może przetrzymywać więcej zmiennych - do tej pory takie rzeczy, jak np. definicje postaci, itemów itp. trzeba było trzymać w tablicach.

kodmystruct = {
a : 20,
b : "Hello World",
c: function(a) { return 5*a; }
};
Wskazówka:
Można stworzyć pustą strukturę, kodmystruct = {};a potem dodawać do niej wartości w trakcie gry - kodmystruct.something = 5;

Można też tworzyć strukturę w strukturze, a do właściwości każdej z nich odnosimy się tak samo jak do obiektów i instancji - za pomocą znaków kropek.
kodmystruct = {
a : {
b = 5,
}
};

var c = mystruct.a.b;


Aby Usunąć strukturę z pamięci, należy użyć instrukcji delete. GMS sam stara się usuwać takowe, ale nie zawsze robi to od razu, dlatego warto mieć dobry nawyk i po sobie sprzątać (nie tylko w kodzie).
koddelete mystruct;

Jeżeli chcemy wykorzystywać taką samą strukturę do przetrzymywania różnych danych, ale nie wiemy kiedy będziemy ją potrzebowali, można skorzystać z funkcji definiującej, jak np.:
kod
function define_my_struct(a,b,c) {
return {
aaa: a,
bbb: b,
ccc: c*5,
ddd: [1, 2, 3, 4]
};
}
Komentarze (łącznie 3):
Chell (śro., 01 Sty. 20, 09:27)
#1

na pewno static tak działa? strasznie to kontrintuicyjne, w każdym innym języku to keyword metody która nie odwołuje się do instancji obiektu, a tu powołujesz się na x i y

gnysek (Pon., 06 Sty. 20, 22:45)
#2

Skopiowane z dokumentacji GMa. Bo o ile samych ficzerów nie dają, tak czasem w plikach HTML przypadkiem dają nowe funkcje opisane w zipie :P Ale też mi to trochę jeszcze dziwnie pachnie, tak samo z constructor - przy dziedziczeniu dziwnie to wygląda, jakby nie ta kolejność.

gnysek (Pią., 31 Sty. 20, 16:39)
#3

Przeniosłem te rzeczy o funkcjach do osobnego artykułu, bo trochę nowych danych doszło i funkcje to będą bardziej klasy. gmclan.org/index.php?czytajart=85

Najnowsze wersje GameMakera:

LTS
2026.0.0.16 • 2022.0.3.99
wydana 118 dni temu
Beta
2026.100.0.1149 •
2026.100.0.1098
 GMRT beta 0.21.0

wydana 13 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
2 użytkowników aktywnych:
gości: 1, userów: 1
 Borek
(~ostatnie 15 minut)
Discord
10 użytkowników online na discordzie:
Carl-bot, RogerDodg3r, Dyno, szmalu, bagno, Mtax, Borek, moeglich, g..., Shockah
Shoutbox
Kuzyn (12:04, 19.09.26)
:] :]
gnysek (13:01, 04.09.26)
Dzięki! :D
S
Sutikku (11:08, 04.09.26)
gmclan to moje go-to żeby sprawdzić czy działa mi internet
Wojo (16:25, 03.09.26)
Pytanie tylko co z tym faktem możemy zrobić my jako użytkownicy? - przede wszystkim udzielać się więcej. Ja ogólnie lubię dużo mówić, dużo pisać, mało robić, ale poza mną obecnie jest może kilku użytkowników, którzy coś tutaj wkleją raz na ruski rok.
Wojo (09:25, 03.09.26)
Fora internetowe wyhamowały już dawno temu, ale teraz to nawet zaciągnęły ręczny. Przecież nic się na nich nie dzieje na ten moment. Trzeba czekać, aż może aktywność wróci
gnysek (01:00, 22.08.26)
Będzie wkrótce spory plugin do GM z kilkunastoma QoL, trwają prace ;)
Wojo (11:35, 13.08.26)
Gratuluję i dziękuję w imieniu aktywnych użytkowników GMClanu!
gnysek (23:13, 12.08.26)
Szybkie info, że GMCLAN chodzi obecnie na cloudflare więc wyciąłem boty :)
Wojo (21:21, 28.06.26)
na ten moment czerwiec prezentuje się dość przyzwoicie jesli chodzi o ilosc wpisow w shoutboxie bo aż trzy! a taki styczeń zero :0
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?