Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-10-2004, 20:33   #1 (permalink)
visitor
 
Registriert seit: Nov 2003
Ort: Stuttgart
Beiträge: 600
Question Texteffekt mit XML und AS

Hallo,

ich habe nun folgedes Script gebastelt, welches mit einer txt-File gut funkt.
Nun liegen meine ganzen Texte in einer XML-File...!

Warum geht das damit denn nicht...?

Frame_1

ActionScript:
  1. stop();
  2.  
  3. tf.html = true;
  4. tf.wordWrap = true;
  5. tf.multiline = true;
  6. tf.label.condenseWhite = true;
  7. //myText.mouseWheelEnabled
  8. textStyle = new TextField.StyleSheet();
  9. textStyle.load("css/main.css");
  10. tf.styleSheet = textStyle;
  11. loadText = new XML();
  12. loadText.ignoreWhite = true;
  13. loadText.load("content/home.xml");
  14.  
  15. loadText.onLoad = function (success)
  16. {
  17.     if (success)
  18.     {
  19.         play();
  20.     my_st = this.mytext;
  21.         //checkTextLength();   
  22.     }
  23.     else
  24.     {
  25.         my_st.text = "Loading Failed!";
  26.     } // end if
  27. };

Frame_2

ActionScript:
  1. step = 30;
  2. onEnterFrame = function ()
  3. {
  4.     var nowStep = Math.min(step, my_st.length);
  5.     var stringChunk = my_st.substr(-nowStep);
  6.     my_st = my_st.slice(0, -nowStep);
  7.     tf.text = stringChunk + tf.text;
  8.     if (my_st.length < 1)
  9.     {
  10.         onEnterFrame = null;
  11.     } // end if
  12. };
  13. stop();
neo14 ist offline   Mit Zitat antworten
Alt 05-10-2004, 21:53   #2 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
was sagt ein trace in frame 2:

PHP-Code:
trace(my_st
?
warrantmaster ist offline   Mit Zitat antworten
Alt 05-10-2004, 22:08   #3 (permalink)
visitor
 
Registriert seit: Nov 2003
Ort: Stuttgart
Beiträge: 600
kommt undefined zurück...!

läuft auch als text duch das textfeld.
warum läd der die xml nicht - kann mir das der xml-god sagen?
neo14 ist offline   Mit Zitat antworten
Alt 05-10-2004, 22:14   #4 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
naja, die xml wird ja offensichtlich doch geladen, sonst
würde der befehl play() ja nicht ausgeführt... .

ändere mal

PHP-Code:
my_st this.mytext

in

PHP-Code:
_global.my_st this.mytext
und setzt das "play()" dahinter (!).

und probier das ganze nochmal.
warrantmaster ist offline   Mit Zitat antworten
Alt 05-10-2004, 22:18   #5 (permalink)
visitor
 
Registriert seit: Nov 2003
Ort: Stuttgart
Beiträge: 600
ne...leider immer noch das selbe ergebnis...
neo14 ist offline   Mit Zitat antworten
Alt 05-10-2004, 22:39   #6 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060


wie sieht die xml aus ?
warrantmaster ist offline   Mit Zitat antworten
Alt 05-10-2004, 22:48   #7 (permalink)
visitor
 
Registriert seit: Nov 2003
Ort: Stuttgart
Beiträge: 600
hier die xml-file...arbeite normal mit css, müsste hier aber egal sein...

ActionScript:
  1. <text>
  2. <span class="copy">Dragon Style is a highly aggressive kung fu style, relentlessly pressing against the opponent with an unremitting chain of attack.
  3.     Although the drunken style moves often appear harmless, they can be deadly against even the most skilled opponents.
  4.     </span>
  5. </text>
neo14 ist offline   Mit Zitat antworten
Alt 07-10-2004, 22:56   #8 (permalink)
visitor
 
Registriert seit: Nov 2003
Ort: Stuttgart
Beiträge: 600
kennt sich ausser warrant niemand mehr mit xml aus???

schade!
neo14 ist offline   Mit Zitat antworten
Alt 08-10-2004, 01:16   #9 (permalink)
carpe noctem
 
Registriert seit: Aug 2004
Beiträge: 114
Exclamation

Hi neo14

Zitat:
Zitat von neo14
Warum geht das damit denn nicht...?
Das geht nicht, weil sich der Zugriff auf XML-Dateien vom Zugriff auf Textdateien unterscheidet:

ich vermute mal, dassl deine .txt-Datei so aussah:
ActionScript:
  1. &mytext=Mein Text

?

dann stimmt dein Zugriff auf den Inhalt der Textdatei.
Um aber auf den Inhalt einer XML-Datei zugreifen zu können, musst du die Knoten und Unterknoten darin beachten.

Für deinen Fall müsste es dann
ActionScript:
  1. my_st = loadText.firstChild.childNodes[0].firstChild.nodeValue;
heißen.

Funktionierendes Beispiel (nur erstes Frame, Text wird in my_st gespeichert und korrekt ausgetraced) habe ich angehängt.

gruß
Angehängte Dateien
Dateityp: zip Textdatei-XML.zip (3,0 KB, 29x aufgerufen)
xyz.xyz.xyz ist offline   Mit Zitat antworten
Alt 08-10-2004, 09:28   #10 (permalink)
visitor
 
Registriert seit: Nov 2003
Ort: Stuttgart
Beiträge: 600
yippie..super..vielen dank...
wow da muss ich mir doch nochmal das xml-buch zur brust nehmen.


danke.
neo14 ist offline   Mit Zitat antworten
Alt 09-10-2004, 09:47   #11 (permalink)
visitor
 
Registriert seit: Nov 2003
Ort: Stuttgart
Beiträge: 600
hallo,

der texteffekt läuft nun wie ich es will.
allerdings funkt mein css nicht mehr.

liegt das an folgder syntax?
ActionScript:
  1. my_st = Content.firstChild.childNodes[0].firstChild.nodeValue;

neo14 ist offline   Mit Zitat antworten
Alt 09-10-2004, 13:12   #12 (permalink)
visitor
 
Registriert seit: Nov 2003
Ort: Stuttgart
Beiträge: 600
ok, hab's mal probiert, aber dat will echt nicht...

ActionScript:
  1. for (var i = 0; i < loadText.childNodes.lenght; i++){
  2.         my_st = loadText.firstChild.childNodes[i].firstChild.nodeValue;
  3.         checkTextLength();
  4.         play();
  5.     }


ich will ja nicht nur den ersten Eintrag haben sondern alle...!
Sonst kann ich ja nur ein css angeben...oder?
neo14 ist offline   Mit Zitat antworten
Alt 11-10-2004, 03:39   #13 (permalink)
carpe noctem
 
Registriert seit: Aug 2004
Beiträge: 114
funktionierende Lösung

Zitat:
Zitat von neo14
ok, hab's mal probiert, aber dat will echt nicht...
Hi neo14

in deinem Code fehlt noch ein firstChild (knotenanzahl = loadText.firstChild.childNodes.length, muss also wie folgt heißen:
ActionScript:
  1. for (var i = 0; i < loadText.firstChild.childNodes.lenght; i++){
  2.         my_st = loadText.firstChild.childNodes[i].firstChild.nodeValue;
  3.         checkTextLength();
  4.         play();
  5.     }

allerdings würdest du dir so deine Variable my_st immer wieder überschreiben und hättest dann nur deinen letzten XML-Eintrag gespeichert!!! Daher solltest du ein array verwenden.

Zitat:
Zitat von neo14
Sonst kann ich ja nur ein css angeben...oder?
mit css kenn ich mich leider nicht so gut aus, solltest du aber das class=
ActionScript:
  1. <span class="copy">
aus der XML-Datei benötigen, so kommst du da mit
ActionScript:
  1. class = loadText.firstChild.childNodes[i].attributes.class;
dran.

auch hier musst du wieder ein array verwenden, damit du jeden Eintrag bekommst und nicht nur den letzten!

funktionierendes Beispiel mit Array (und mit Speichern des "class"-Inhaltes in einem zweiten Array, das kannst du einfach löschen wenn du es nicht brauchst) habe ich angehängt [wieder nur erstes Frame und "Testtraces"; evtl.musst du noch ein _root. vor die Arraynamen (also z.B. _root.my_st_array[i]) schreiben, je nach dem wie dein Flashfilm aufgebaut ist]

gruß

P.S.:War am WE nicht online, sonst hätte ich früher geantwortet
P.P.S.: Ich hoffe das war jetzt einigermaßen verständlich erklärt, wen nicht frag einfach noch mal nach
P.P.P.S.:Zur Vertiefung könntest du dir ja mal folgendes Tutorial durchlesen, wenn du das nicht schon gemacht hast.
xyz.xyz.xyz ist offline   Mit Zitat antworten
Alt 11-10-2004, 09:47   #14 (permalink)
visitor
 
Registriert seit: Nov 2003
Ort: Stuttgart
Beiträge: 600
hallo,

danke für deine schnelle hilfe.
hab das script nun mal übernommen, funkt aber nicht.
kannst du dir mal mein script (anhang) ansehen, vielleicht findest du noch was...
neo14 ist offline   Mit Zitat antworten
Alt 12-10-2004, 00:30   #15 (permalink)
carpe noctem
 
Registriert seit: Aug 2004
Beiträge: 114
unexpected file-format

hi neo14

wenn ich versuche deine .fla-Datei zu öffnen, kommt "unerwartetes Dateiformat". Könntest du es bitte mal als FlashMX abspeichern?
Und bitte etwas genauer beschreiben was nicht funktioniert (XML laden; css; ...)?

gruß

P.S.: Bin nur noch heute online, dann bis Sonntag wahrscheinlich nicht mehr, es kann also ein bischen dauern bis ich antworte.

edit:
beim Anhang meines letzten Posts (#13) hat sich leider eine "veraltete" Version der .fla in den zip-Ordner geschlichen. Deshalb hier im Anhang noch einmal die korrekte Version (fehlerhafte zip im obigen Post werde ich löschen):
Angehängte Dateien
Dateityp: zip Textdatei-XML2_neu.zip (3,4 KB, 26x aufgerufen)

Geändert von xyz.xyz.xyz (12-10-2004 um 06:14 Uhr)
xyz.xyz.xyz ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 11:35 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele