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:

Stabilna
2024.14.3.217 • 2024.14.3.260
wydana 31 dni temu
LTS
2022.0.3.85 • 2022.0.3.99
wydana 451 dni temu
Beta
2024.1400.4.1003 •
2024.1400.4.981
 0.19.0

wydana  3 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
39 użytkowników online na discordzie:
Miłosz, Grela, Nikas, Alice, Carl-bot, Saus, Fox, p..., PanPupa, GMRussell, fervi, Radek Ignatów, r..., Threef, Uzjel, Pako, Murrri, Dyno, szmalu, sgames, Destiny, Morro, Kandif, OdrzuconyKrakers, Ulti, Danieo, bagno, antek, Arrekin, Tidżi, Mtax, g..., s..., l..., Cebul, Borek, moeglich, Add92, Shockah
Shoutbox
Wojo (10:21, 12.02.26)
Tak, po zmianach gmclan przeżywa drugą młodość. Najnowsze trendy wskazują, że ten rok będzie rokiem Linuxa, rokiem odejścia od Facebooka i rokiem odejścia od discorda na rzecz forów internetowych B)
K
Kamilek (21:57, 08.12.25)
Ale klimat tu znowu wrócić! :-D
Wojo (13:03, 07.12.25)
Żeby nie było to jednak discord jest żywy :)
Wojo (12:50, 07.12.25)
Ehh znak czasu. Prawie dwa miesiące ciszy w shoutboxie, na forum też raczej cisza i jest głównie swego rodzaju archiwum ostatnich dwóch dekad
gnysek (16:01, 16.10.25)
To już google decyduje. Mam wrażenie, ze po datach obcina stare treści.
S
Sutikku (10:42, 14.10.25)
Ja jeszcze trafiam na fora jak szukam konkretnych haseł (chociażby wczoraj zepsuty pendrive który się identyfikuje jako Phison 2307 Boot ROM). Teraz projekty opensource często mają społeczności na discordzie i tam jest tona przydatnych informacji ale niedostępna poza discordem. Fajnie by to było wyeksponować
Korodzik (04:24, 14.10.25)
A w sumie to forum się normalnie indeksuje w wyszukiwarkach? Bo ja stwierdziłem, że np. w Google ciężko znaleźć cokolwiek z gmclanowego forum. Większość tematów jest chyba nieindeksowana od dawna...
S
Sutikku (08:44, 13.10.25)
mam niedokończony projekt bota, którego dodaje się do discorda, a on synchronizuje wiadomości z discorda -> na readonly forum. Wtedy treści mogą być indeksowane z wyszukiwarek i łatwo dostępne bez logowania. No ale leży w czyśćcu i czeka.
Wojo (11:52, 11.10.25)
Może kiedyś powróci moda na fora internetowe. Pamiętam w sumie, że czasami aktywność rosła i malała, ale tak pusto to chyba jeszcze nigdy nie było i myślę, że ta cała migracja użytkowników jest zasługą Discorda i zmiany czasów. Po prostu lata dwudzieste spowodowały zmiany trendów w internecie
S
Sutikku (09:06, 08.10.25)
najwyższa pora zopensourcować kod gmclanu!
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?