Externe Variablen laden; kleines Problem

Teaser

Mitglied
Hallo erstmal,

also ich hab ein kleines Problem damit Variablen aus einer externen Textdatei zu laden. Das heißt prinzipiell gehts.
Ich versuche sowas wie ein kleines Quiz im Wer Wird Millionär-Stil zu machen. Und damit ich nicht für jeden neuen Block an fragen einen neuen Film basteln muss möchte ich die Variablen aus einer Textdatei laden lassen. Die Fragen und Antworten kommen auch wie geplant, nur wie kann ich dem Film mitteilen welcher Antwort-Knopf nun der richtige ist?
ich habs einfach mit
&a1==false
&b1==false
&c1==true
&d1==false
versucht aber die Knöpfe können die Information wohl so nicht auslesen.
Code:
on (release) {
    if (c1==true) {
        gotoAndStop (3);
    } else {
        gotoAndStop (1);
    }
}
Ich geb zu ich bin ein ziemlicher Action-Script-, aber so schwer kann die Lösung für euch doch nciht sein, oder? Ach ja, ich hab nur eine Flash5-Sharewar-Version, ich hoffe mir fehlt da nix wichtiges.
Danke schon mal
Kev
 
Hi,

1.
Code:
&a1==false
Wenn das in der Textdatei steht, ist dort ein Gleichheitszeichen zu viel: Es soll ja eine Zuweisung und kein Vergleich (gibt es bei url-kodierten Zeichenfolgen sowieso nicht) sein. ;)

2. Zeig mal etwas mehr Code: Insbesondere den Teil, wo Du die externe Datei lädst. Verwendest Du ein LoadVars-Objekt, musst Du per onLoad auf das Laden warten und die Variablen dann auf einer Zeitleiste ablegen, wo Du von Deinem Button aus Zugriff hast. Zudem ist nicht gesagt, dass Du in diesem onRelease-Ereignis ohne Pfadangaben auf die Werte zugreifen kannst; wo befindet sich denn dieser Button relativ zu den Variablen?

EDIT: Ich sehe grade, Du arbeitest mit Flash5 - also wirst Du wohl mit loadVariables bzw. loadVariablesNum arbeiten. Auch in diesem Fall müsste ich den entsprechenden Code (besser die gesamte Datei) sehen.

Gruß

P.S.: Seit wann gibt es Flash 5 als Shareware? :confused:
.
 
Hi,

ja ich lade die beim starten des Films einfach mit loadVariables. Viel mehr code gibts bei mir nicht ;o) Wie leg ich denn die Variablen im Film ab?
Code:
loadVariablesNum ("fragen.txt", 0);
Das ist auch schon alles beim Start des Films. Reicht ja auch um die Fragen und Antworten an die richtigen Stellen zu bekommen.
Die Variablen in der Textdatei waren natürlich falsch beschriftet da hast du recht. Ich kann mich auch dran erinnern das schon mal irgendwie hin bekommen zu haben, aber wenn ich jetzt nach der ersten Frage auf einen Knopf klicke springt er immer ins erste Bild statt ins dritte, und ich werd ja wohl wissen welche Antwort richtig ist ;)

Nein kein Shareware, nur so eine Trial-Version oder Demo die nur 30 Tage läuft oder so. Hab ich von irgendeiner Heft-CD aus meinem Stoss hier hervorgekramt und spiel aus Langeweile etwas dran rum :suspekt:
 
Hi,

Wenn die Fehler in der Textdatei korrigiert sind, und Du erst auf den Button klickst, wenn sie offensichtlich geladen sind (zur Sicherheit solltest Du darauf warten bzw. den Button erst aktivieren, wenn die Variablen wirklich gesetzt sind), könnte es sich um ein Pfadproblem handeln. Probier mal
Code:
on (release) {
    if (_root.c1 == "true") {
        gotoAndStop (3);
    } else {
        gotoAndStop (1);
    }
}
Auch solltest Du den Wert "true" in Anführungszeichen setzen, da eingelesene Variablen aus Textdateien nur Zeichenketten beinhalten: Die Abfrageif (_root.c1 == true) würde auch ein positives Ergebnis zurückliefern, wenn die Variable den Wert "false" hat. ;)

Gruß
.
 
Also das mit _root. funktioniert auch nicht, da gibts nur einen Fehler. Ich häng mal meine Dateien ran, obwohl die nur 5 Minuten Arbeit waren, ich will ja erstmal schauen ob ich es überhaupt schaffe also nicht wundern wenns komisch aussieht ;)
 

Anhänge

  • FussballQuiz.zip
    8,1 KB · Aufrufe: 14
Nur mal als Hinweis:
Code:
if (11==true) {
auch dieser Vergleich macht keinen Sinn, da Variablen nicht mit Ziffern beginnen dürfen: Hier vergleichst Du den Wert der Zahl 11 mit dem boolschen Wert true. --> Dass ein _root vor der 11 einen Syntax-Error ausgibt, ist klar. ;)

Lösung: Verwende Bezeichner, die mit einem Buchstaben beginnen.

Gruß
.
 
okay, ist klar soweit. Hab ich auch mal in irgendeiner Vorlesung gehabt ;) allerdings gehts immer noch nicht? Gehts denn bei Dir? Hab sie jetzt einfach aa - ad genannt und ob true oder "true" ist wurscht, geht beides nicht. Also so langsam halte ich mich für blöder als ohnehin schon :eek:
 
Hi,

bei dieser Notation:
Code:
&a11=false
&a12=false
&a13=true
&a14=false
gehört alles bis zum nächsten "&" zu einer Variable - daher auch der Zeilenumbruch nach dem "true" oder "false". ;)

Workaround: Setze ans Ende jeder Zeile noch ein &:
Code:
&a11=false&
&a12=false&
&a13=true&
&a14=false&

Gruß
.
 
Tut mir ja leid, aber es geht nicht. er springt immer wieder ins erste Bild. Hab es mit und ohne " ausprobiert, mit und ohne abschliessendem &. Es hat sich nix geändert.
Vielleicht muss ich die Variablen wirklich erst im Film "speichern" damit die Button damit arbeiten können? wenn ja, wie mache ich das?

Gruß
 
Bei mir funktioniert es wie beschrieben:
  • & nach den Werden in der Textdatei setzen (oder alles in eine Zeile schreiben)

  • auf "true" und "false" testen (in Anführungsstrichen)

  • Variablennamen mit einem Buchstaben beginnen lassen.
Ich würde Dir ja gerne ein Beispiel anhängen, aber leider kann ich mit der 8er nicht für Flash 5 speichern...

Gruß
.
 
Zurück