Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-12-2007, 14:37   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 167
as1 - geht xml zur laufzeit nachladen?

ich würde gerne wissen, ob man grundsätzlich bei actionscript 1 zur laufzeit verschiedene xml-dateien in einen film nachladen kann.

wenn ja, gibts vielleicht noch irgendwo ein beispiel?

greez + danke
__________________
miller
miller ist offline   Mit Zitat antworten
Alt 12-12-2007, 14:44   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.136
Klar geht das. Das geht wie, hm... ja wie XML laden.
Omega Psi ist offline   Mit Zitat antworten
Alt 12-12-2007, 14:53   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 167
Zitat:
Zitat von Omega Psi Beitrag anzeigen
Klar geht das. Das geht wie, hm... ja wie XML laden.

die funktionen zum laden heißen in den beispielen aber im
... xml.onLoad = function(sucess){...

wie kann man zur laufzeit dann auch feststellen, daß eine später nachgeladene andere xml-datei auch vollständig da ist?
__________________
miller
miller ist offline   Mit Zitat antworten
Alt 12-12-2007, 15:01   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.136
Genauso... das sind die gleichen Funktionen.
Omega Psi ist offline   Mit Zitat antworten
Alt 12-12-2007, 20:22   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 167
Zitat:
Zitat von Omega Psi Beitrag anzeigen
Genauso... das sind die gleichen Funktionen.
aber ist das nicht beim laden des films?

ich will später, ohne den film neu zu laden xml-dateien einlesen...
__________________
miller
miller ist offline   Mit Zitat antworten
Alt 12-12-2007, 20:31   #6 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.136
ActionScript:
  1. var xml:XML = new XML();
  2. xml.load("datei.xml");
auch zu Laufzeit.
Omega Psi ist offline   Mit Zitat antworten
Alt 12-12-2007, 21:45   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 167
Zitat:
Zitat von Omega Psi Beitrag anzeigen
ActionScript:
  1. var xml:XML = new XML();
  2. xml.load("datei.xml");
auch zu Laufzeit.
ok, erstmal vielen dank für deine schnellen antworten.
noch eine letzte frage von jemandem, der lange nix mehr mit flash gemacht hat: ist die doppelpunkt-notation, die du verwendet hast, auch actionscript1?
__________________
miller
miller ist offline   Mit Zitat antworten
Alt 12-12-2007, 21:49   #8 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.136
Das ist eine Typisierung. Die sollte Eigentlich ab Flash 7 unterstützt werden.
Omega Psi ist offline   Mit Zitat antworten
Alt 13-12-2007, 17:34   #9 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 167
xml zur laufzeit auslesen

also, ich kriegs nicht hin.

ich brauche eine funktion (as1), die xml zur laufzeit zb. auf button-klick nachlädt, um dann ausgelesene variablen auf die root-ebene zu schreiben.

var test = "";

function xmlladen(dateiname){
...xml laden...
...variable test mit xml-attribut füllen...
test = "wert";
}

xmlladen();
__________________
miller
miller ist offline   Mit Zitat antworten
Alt 13-12-2007, 18:16   #10 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.136
ActionScript:
  1. var xml:XML = new XML("<firstXML />");
  2.  
  3. var movieclip:MovieClip = this.createEmptyMovieClip(
  4.                                 "movieclip",
  5.                                 this.getNextHighestDepth());
  6. this.movieclip.onRelease = function():Void {
  7.     loadXML("test.xml");
  8. }
  9. this.movieclip.beginFill(0xFF0000);
  10. this.movieclip.moveTo(0, 0);
  11. this.movieclip.lineTo(20, 0);
  12. this.movieclip.lineTo(20, 20);
  13. this.movieclip.lineTo(0, 20);
  14. this.movieclip.lineTo(0, 0);
  15. this.movieclip.endFill();
  16.  
  17. var textfield:TextField = this.createTextField(
  18.                                 "textfield",
  19.                                 this.getNextHighestDepth(),
  20.                                 this.movieclip._width,
  21.                                 0,
  22.                                 300,
  23.                                 20);
  24. this.textfield.text = this.xml.toString();
  25.  
  26. function loadXML(fileName:String):Void {
  27.     trace("Load XML");
  28.     _root.textfield.text = "Loading";
  29.     _root.xml = null;
  30.     _root.xml = new XML();
  31.     _root.xml.load(fileName);
  32.     _root.xml.onLoad = function(success:Boolean):Void {
  33.         trace("Hello");
  34.         _root.textfield.text = this.toString();
  35.     }
  36. }
Die test.xml:
Code:
<secondRoot />
Den ersten Code in die Zeitleiste, abspeichern, den Code für die zweite XML in die Datei test.xml ins gleiche Verzeichnis und ausführen.
Omega Psi ist offline   Mit Zitat antworten
Alt 13-12-2007, 19:51   #11 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 167
xml, as1, as2, loadbutton

vielen dank für den code.
da ist noch ne ganze menge anderer sachen drin, von denen ich was lernen kann.

leider ist es actionscript2 und geht erst ab flash8.
vielleicht weißt du ja auch, ob man das ganze auch flash6-kompatibel kriegt.


ich habs mir etwas vereinfacht
(und einen button auf die bühne gelegt, der button heißt):



var xml:XML = new XML();
loadXML("test.xml");

var zaehl = 1;
var test;

button.onRelease = function():Void {
zaehl += 1;
if (zaehl%2>0){
loadXML("test.xml");
}
else{
loadXML("test1.xml");
}
trace(test);
};




function loadXML(fileName:String):Void {
xml = null;
xml = new XML();
xml.load(fileName);
xml.onLoad = function(success:Boolean):Void {
test = this.toString();
};
}
__________________
miller
miller ist offline   Mit Zitat antworten
Alt 14-12-2007, 12:12   #12 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 167
ok, der vollständigkeit halber mein fertiger code für flash6 und as1:


var myXML = new XML();
loadXML("test.xml");

var zaehl = 1;
var test;



button.onRelease = function(){
zaehl += 1;
if (zaehl%2>0){
loadXML("test.xml");
}
else{
loadXML("test1.xml");
}
trace(test);
}




function loadXML(fileName) {
myXML = null;
myXML = new XML();
myXML.load(fileName);
myXML.onLoad = function(success) {
test = this.toString();
};
}
__________________
miller
miller 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 13:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele