Objektzuordnung Lua

9

Ich habe ein ähnliches Problem wie dieses: LUA und Corona-Fehler: Versuch, Methode aufzurufen" (A Nil Value) - Driving Me Crazy Ich habe eine TCell-Klasse:

%Vor%

Ich habe ein 2D-Array von TCell-Referenzen, die Zellen genannt werden. Wenn ich

zuweisen %Vor%

cells [ind1] [ind2] beginnt einige Eigenschaften zu verlieren. Wenn ich den obigen Link richtig verstanden habe, wird er durch den Verlust der metatablen Assoziation verursacht. Muss ich setmetatable ein anderes Mal verwenden? Wie kann ich es tun, wenn die Zuweisung nicht im TCell-Body erfolgt?

upd.

%Vor%

ist nicht wirklich hilfreich. upd2: Löscht den gesamten Code, der nicht mit der Kamera verbunden ist. Kamera und TCell haben keinen Enterframe. Das Problem scheint in Metatabellen zu liegen. Ausgabe gibt JETZT 6 1 Breite i 50 und danach START JETZT 6 1 Breite ist null

%Vor%

.

%Vor%     
user2136963 30.03.2013, 09:21
quelle

1 Antwort

1

Ich glaube, Sie können die variable Zuweisung in Lua falsch verstehen. Alle Variablen sind tatsächlich Referenzen / Zeiger auf Objekte. Wenn Sie schreiben:

%Vor%

Sie werfen das Objekt, auf das die Zellen [ind1] [ind2] zeigten, weg (entfernen Sie einen Verweis darauf) und erstellen eine zweite Referenz auf das Objekt, auf das Zellen [ind3] [ind4] zeigen.

Wenn Sie einige Dinge (wie die Eigenschaften, von denen Sie glauben, dass sie verschwinden) in Zellen [ind1] [ind2] vor der Zuweisung platzieren, wird es nach der Zuweisung nicht mehr da sein, da diese Variable auf ein anderes Objekt zeigt / p>     

Doub 29.04.2013, 15:40
quelle

Tags und Links