Skocz do zawartości

Zagnieżdżanie ds_grid


Sutikku

Rekomendowane odpowiedzi

Kiedyś mi padło o uszy coś takiego jak zagnieżdżanie struktur w gmie o ile dobrze w ogóle mówię może to inaczej się nazywało.

Nie ma tablic trójwymiarowych w gmie, a teraz by mi się przydały nawet cztero. A nagle takie coś mi w głowie się obiło jak robienie ds_grid w ds_grid. O co chodzi z tym zagnieżdżaniem struktur? Coś takiego w ogóle istnieje, czy właśnie wymyśliłem jakiś dziwny twór?

Odnośnik do komentarza
Udostępnij na innych stronach

Jeżeli zrobisz sobie coś takiego:

GML
a = ds_grid_create()

b = ds_grid_create()

c = ds_grid_create()

d = ds_grid_create()

A potem sprawdzisz wartości tych zmiennych to zauważysz że to są zwykłe wartości liczbowe. Możesz je zapisać gdzie chcesz.

 

Zagnieżdżanie o którym piszesz istnieje tylko dla ds_list i ds_map i zostało stworzone dla obsługi JSON. Ja bym to zrobił tak:

GML
lista=ds_list_create()

for(var i=0; i<10; i++) {

//Tymczasowa zmienna do której przypisujemy nowa ds_map

var m = ds_map_create();

//Nasze wartości. Dodajemy ile chcemy

ds_map_add(m, "width", 5);

ds_map_add(m, "height", 5);

ds_map_add(m, "speed", 5);

ds_map_add(m, "health", 5);

//Dopisujemy nowo stworzona ds_map do listy

ds_list_add(lista, m);

//Oznaczamy pozycję w liście by GM wiedział że jest tam ds_map

ds_list_mark_as_map(lista, i);

}

Odczytanie to:

GML
var map=lista[|4];

speed=map[?"speed"]

 

 

Dopiero wstałem. Chyba nie o to Ci chodziło, ale szkoda mi to kasować i pisać od nowa bo i tak może się przydać. Pomogłem?

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...