mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 16:00 Benutzername: Passwort: Auto-Login

Thema: Auslesen von Variablen aus TXT Datei vom 30.01.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> Auslesen von Variablen aus TXT Datei
Autor Nachricht
Kash
Threadersteller

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Fr 30.01.2009 10:54
Titel

Auslesen von Variablen aus TXT Datei

Antworten mit Zitat Zum Seitenanfang

Hallo Zusammen,

ich habe hier ein kleines Problem mit AS (FlashMX).

Ich habe Bilder die dynamisch in MovieClips geladen werden sollen.
Die MCs werden auch dynamisch angelegt.

Jetzt ist es so das die Anzahl der Bilder nicht fest ist.
Es können Bilder wegfallen oder aber auch dazukommen.

Die Anzahl der Bilder wird in einem Textdokument festgelegt.

Nun habe ich aber das Problem das der Wert der Variable die ich in dem Textdokument deklariere irgendwie im AS-Teil nicht ausgelesen wird.

anzahl.txt
Code:

&anzahl=7



FLASH (AS)
Code:

LoadVariablesNum("anzahl.txt", 0, "POST");
anz = anzahl;

for (var i = 1; i < anz; i++){
   createEmptyMovieClip ("mctest" + i,i);
   _root["mctest" + i].loadMovie ("img" + i + ".jpg");
}


Leider funktioniert es nicht.Und die Schleife wird nicht ausgeführt.

Setze ich die Anzahl direkt in die Bedingung, dann läuft es

Code:

LoadVariablesNum("anzahl.txt", 0, "POST");
anz = anzahl;

for (var i = 1; i < 7; i++){
   createEmptyMovieClip ("mctest" + i,i);
   _root["mctest" + i].loadMovie ("img" + i + ".jpg");
}


Was mache ich falsch?

Zusätzlich habe ich mir mal ein dyn Textfeld in eine andere ebene aufgezogen und gebe dort den wert der variable 'anzahl' aus. Dort wird auch der richtige Wert angezeigt.
  View user's profile Private Nachricht senden
steff80

Dabei seit: 20.04.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 30.01.2009 11:33
Titel

Antworten mit Zitat Zum Seitenanfang

Das Script wird asynchron ausgeführt, d.h. in deinem Fall, dass zu dem Zeitpunkt, zu dem deine Schleife ausgeführt wird, die Daten aus der Texttdatei möglicherweise noch ganricht fertig geladen worden sind. Nimm besse "LoadVars" zum laden. Da hast du dann verschiedene Events die dir u.a. auch "Bescheid" geben, wenn die Daten am Start sind.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Kash
Threadersteller

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Fr 30.01.2009 11:45
Titel

Antworten mit Zitat Zum Seitenanfang

im prinzip dann so

Code:

myVars = new LoadVars()
myVars.load("foobar.txt");


//ich habe folgendes gefunden.

Code:

var myGalleryVars:LoadVars = new LoadVars();
var picsNumTotal:Number = 0;


myGalleryVars.onLoad = function(ok)
{
    if(ok)
    { picsNumTotal = Number(myGalleryVars["picsTotal"]); }
}
myGalleryVars.load("vars.txt");


das werde ich nach dem Mittag mal testen.

danke für deinen Tipp


Zuletzt bearbeitet von Kash am Fr 30.01.2009 11:55, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Fr 30.01.2009 13:35
Titel

Antworten mit Zitat Zum Seitenanfang

An deiner Stelle würde ich das aber generell nicht mit Textdateien machen, sonden mit XML. Ist flexibler.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Kash
Threadersteller

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Fr 30.01.2009 14:06
Titel

Antworten mit Zitat Zum Seitenanfang

@flamingart: das ist eine einmalige sache und ich belasse es so.

das problem das das Textfeld nicht so schnell geladen wird habe ich jetzt wie folgt gelöst.

auf Bild 1 in der zeitleiste habe ich jetzt

Code:

LoadVariablesNum("anzahl.txt", 0, "POST");


in Bild 2

Code:

if (bilderende eq "geladen") {
   gotoAndPlay(1);
}
play();


und dann wenn wirklich geladen geht es bei Bild 3 weiter

Code:

for (var i = 1; i < anzahl; i++){
   createEmptyMovieClip ("box" + i,i);
   _root["box" + i].loadMovie ("img" + i + ".jpg");
}
stop();


das Textdokument schaut dann so aus

Code:

&anzahl=7&
&bilderende=geladen&


so funktioniert es nun.

// eine Frage zu diesem Script.
wo genau werden mir eigentl auf der Zeitleiste (Frame) die neuen MCs angelegt?

denn ich muß mit diesen neu angelegten MCs noch weiter arbeiten.

ich habe hier ein Script welches mir die MCs zufällig zeigen soll.

Code:

for (var i = 1; i<anzahl; i++) {
   this["box"+i].stop();
}
this.onEnterFrame = function() {
   if (!_root.last_mc || _root.last_mc._currentframe == _root.last_mc._totalframes) {
      _root.last_mc.gotoAndStop(3);
      _root.last_mc = this["box"+random(anzahl)];
      _root.last_mc.play();
   }
};


das habe ich beim selben bild eingefügt (andere ebene) wie auch
das abspielen funkt denke ich bis jetzt noch nicht, weil ich die MCs nicht richtig anspreche.
kann mir hierbei jemand einen denkanstoß geben?


Zuletzt bearbeitet von Kash am Fr 30.01.2009 14:38, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen [Director 8]Variablen in (txt)Datei Speichern
Navigation aus XML Datei auslesen mit Userleveln.
(Hilfe) XML Datei mit Javascript auslesen
php - zufalls datei aus verzeichnis auslesen
Mit Flash TXT-Datei zeilenweise auslesen?
XML-Datei auslesen und in Datenbank schreiben
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.