Skocz do zawartości

Tablica z obiektami i length


Kartofelek

Rekomendowane odpowiedzi

Chciałem losować sprite dla danego obiektu.

Stworzyłem więc tablicę w której kolejno dodałem sprity:

 

tab[0] = spr_enemy1

tab[1] = spr_enemy2

...

tab[tab.length-1] = spr_superBos

 

Powyższy kod jest tylko przykładem. Ostatni element tablicy powinien byc zawsze taki sam, niezaleznie ile elementow bedzie miala tablica.

 

Pierwsze pytanie: Czy da sie w GML inaczej definiowac tablice? Tak jak w normalnych językach... np (tab = [... , ... , ...]. Próbowałem ale nie za bardzo mi to wyszło.

Drugie pytanie: Jak odczytać długość takiej tablicy?

Trzecie pytanie: Poczytałem w dokumentacji na stronie GMCLAN o listach, ale nie ma tak żadnego przykładu i nie jest wyjaśnione jak to używać. Heh. Nawet w książce o GM jest to wybiórczo opisane.

Czwarte pytanie: A może w GM stosować inne typy danych do takich działań?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

No z tym w GM jest problem. Długość tablicy można w sumie obliczyć tylko tak:

 

GML
var i,t,dlugosc;

dlugosc = 100;

for (i=0; i<=dlugosc; i+=1)

{

t=0;

}

// wersja 2

t[0]=6;

t[1]=2;

t[2]=3;

t[3]=5;

dlugosc = 3;

 

Musisz więc jakby sam zrobić dodatkową zmienną która przetrzymuje numer ostatniej iteracji tablicy.

Odnośnik do komentarza
Udostępnij na innych stronach

Tablice w GM nie są obiektami, istnieje obsługa tablic 2 wymiarowych. Niestety, ale w GM nie da się odczytać rozmiarów tablicy o tak o. Lista to tablica jednowymiarowa. Funkcja ds_list_create tworzy nową listę i zwraca jej uchwyt. Za pomocą tego uchwytu można operować na liście używając przeznaczonych do nich funkcji. W sumie nic trudnego co by wymagało szczegółowego wytłumaczenia. Możesz ewentualnie poszperać w przykładach, niektóre z nich używają list. I w GM masz 2 typy zmiennych, numeryczna i tekstowa, tyle.

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ę...