Programowanie tablicy w UnrealScript
: 05 wrz 2018, 18:29
Witam. Jest tu ktoś, kto mógłby mi pomóc zrozumieć tablice dynamiczne?
Dajmy na to mam taki kod:
ElementyWTablicy będzie równe 1, ale gdy chcę dać StringList[AktualnyIndex] to i tak zmieni się wynik na 0. Pomimo, że "długość" tablicy wyjdzie 1, to i tak musimy wpisać 0 w index tej tablicy. Tzw nawet jak będzie StringList[AktualnyIndex] to AktualnyIndex i tak zmieni się na 0, pomimo wcześniejszego ustawienia go na liczbę 1. Wyjaśni mi ktoś dlaczego tak jest?
StringList.Length liczy wielkość tablicy od liczby 1 (noo, trochę logiczne, bo "jeden" element tablicy, ale dlaczego sam index trzeba ustawiać jako 0 (gra sama tak zmieni nawet z automatu)? Widziałem w innych skryptach, że ludzie to rozwiązują odejmując 1 od wielkości tablicy, wtedy wychodzi wynik, który można przypisać indexowi, ale jest jakiś bardziej sensowny i mniej uprzykrzający życie sposób na to? Bo teraz wystarczyłoby gdzieś zapomnieć odjąć jedynkę od tablicy i wszystko się pierdzieli i działa nie tak jak powinno a ciężko potem znaleźć gdzie jest błąd.
Dajmy na to mam taki kod:
Kod: Zaznacz cały
var() int Index;
var() array<string> StringList;
var int ElementyWTablicy;
var int AktualnyIndex;
ElementyWTablicy = StringList.Length;
AktualnyIndex = 1;
Defaultproperties
{
StringList(0)="PierwszyElement"
}
StringList.Length liczy wielkość tablicy od liczby 1 (noo, trochę logiczne, bo "jeden" element tablicy, ale dlaczego sam index trzeba ustawiać jako 0 (gra sama tak zmieni nawet z automatu)? Widziałem w innych skryptach, że ludzie to rozwiązują odejmując 1 od wielkości tablicy, wtedy wychodzi wynik, który można przypisać indexowi, ale jest jakiś bardziej sensowny i mniej uprzykrzający życie sposób na to? Bo teraz wystarczyłoby gdzieś zapomnieć odjąć jedynkę od tablicy i wszystko się pierdzieli i działa nie tak jak powinno a ciężko potem znaleźć gdzie jest błąd.