Variable Variablen aus TXT importieren

HI,

ich habe schon mit dir gesprochen, und die Codezeile war in AS....
DIe for in Schleife durchläuft nämlich das LoadVars Objekt, dieses Objekt aber enthält nicht nur die geladenen Variablen, sondern auch den onLoad Handler, den du ja vorher definiert hast. Um das Problem zu umgehen schlug Datic dir die typeof Geschichte vor, das ist aber unnötig kompliziert, wenn du weißt, das es sich um den onLoad Handler auf der ersten Stelle des Objekt Arrays handelt.

name_komplett = this[i+1].split(",");

lässt deinen Split Vorgang nicht bei
PHP:
this[i],
also zunächst mal 0 beginnen, sondern bei 1, also nach dem unerwünschten onLoadHandler, damit hast du dann nur noch variablen, und keine function[function]mehr.

this ist ein Schlüsselwort, das jeweils den Ort oder das Objekt bezeichnet wo der ActionScript Code steht, der gerade ausgeführt wird.
Da der Code im onLoadHandler des LoadVars Objektes steht, kannst du den Inhalt dieses Objektes einfach mit this ansprechen, ohne einen absoluten Pfad anzugeben. Das ist einfach sehr praktisch. Aber this ist ein Zeiger, kein Objekt.

B
 
Hi,

schon, aber hat ja in der letzten Version keinerlei Schleife mehr in der Funktion, sondern spricht seine (einzige) Variable direkt an:
PHP:
lv.onLoad = function() {
    komplett = this.name.split(",");
}
, da muss man auch keinen Handler umgehen...

Wie dem auch sei: onLoad wird erst nach dem Laden der Daten ausgeführt, von daher kann es eigentlich nicht sein, dass Du noch länger auf die Daten warten musst. Könntest Du die Datei vielleicht einfach mal posten, damit wir das testen können?

Gruß
.
 
Ja auf jeden Fall kann ich die Daten kurz hochladen. Ich habe auch noch einmal versucht das Problem zu lösen, bin aber leider dran gescheitert. Womit ich ebenfalls noch ein Problem habe, ist die Abfrage "Daten im Array oder nicht". Aber schaut es euch selbst an. Ich kann wirklich nicht sagen, warum die unterste Abfrage in Frame 1 (Szene 1) in jedem Fall True zurück gibt.

Vielen Dank noch mal..... :)
 

Anhänge

  • test-ext-daten-lesen.zip
    3 KB · Aufrufe: 23
Hi,

Nimm das zweite Schlüsselbild aus der Szene 1, sonst wird alles (auch die load-Funktion) dauernd wiederholt aufgerufen. Das Laden und "Splitten" könnte so aussehen:
PHP:
lv = new LoadVars();
lv.load("soldaten.txt");
_global.name_komplett = new Array();
nummer = 0;

lv.onLoad = function() {
	_global.name_komplett = this.name.split(","); // <- kompletten String einlesen (array) und an "," splitten
	trace("name = " + name_komplett[0]);
	gotoAndPlay("soldatenvorstellung", 1);
}
Dann würde ich in Szene 2 noch testen, ob die Nummer die Länge des Array sprengt und ansonsten anhhalten (Frame 40):
PHP:
if (nummer < name_komplett.length) {
	gotoAndPlay(1);
} else {
	stop();
}
Die Abfrage in Frame 1 ( if (name_soldat != ""){gotoAndPlay(10);} ) ist überflüssig, Du kannst das Textfeld eigentlich schon in Frame 1 setzen (die Szene wird ja erst aufgerufen, wenn die Daten geladen sind.

Im Anhang findest Du die modizifierte Version.

Gruß

P.S.: Das hat so garnichts mit der Anzahl Variablen im LoadVars-Objekt zu tun, da Du ja nur eine verwendest. Du kannst also mit (this.name) direkt Deine Namen auslesen. Nur, wenn Du die Namen in einzelnen Variablen (name1=Hans&name2=Franz&name3=Jürgen) speichern würdest, bräuchtest Du so eine Schleife. ;)
.
 

Anhänge

  • test-tutorials.zip
    3,2 KB · Aufrufe: 16
Hallo Datic,

nochmals vielen Dank... Leider habe ich heute keine Zeit mehr zu testen, ausserdem möchte ich mich in Ruhe an die Sache setzen um auch alles zu verstehen!
ob die Nummer die Länge des Array sprengt
...
Ich denke du meinst die Anzahl überhaupt enthaltener Array-Elemente. Auf jeden Fall noch mal vielen Dank. Schön das es auch Foren gibt, bei denen man sich mit kompetenten Leuten austauschen kann. Oftmals wird man als Dau abgestempelt, wenn man auf einem Gebiet nicht so viel Wissen hat wie andere....

Hoffe das ich am Wochenende Zeit find, mir das Script noch mal genau anzuschauen und eine Beta zu posten.... :) Wenigstens, das man sieht, wies später aussehen soll.....

Bei PHP-Fragen kannst du mich ebenfalls gerne mal ansprechen... :) Gute N8.......

Falls der Post dann irgendwann untergeht, kannst du auch auf meiner HPage vorbeischauen....... http://www.wessy.de
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück