2017-03-10 2 views
1

Ich habe Probleme damit, zu verstehen, wie man ein Bild in einer XML-Datei mit ActionScript3 in Flash importiert. Hier ist der Code Ich habe bisher:Importieren von Bildern aus XML-Dokumenten in Flash mit Actionscript3

stop(); 

import flash.net.URLLoader; 
import flash.events.Event; 
import flash.net.URLRequest; 
import flash.display.MovieClip; 
import flash.display.*; 

var myXML:XML = new XML(); 
myXML.ignoreWhite=true; 
myXML.load("graphics.xml"); 
myXML.onLoad = function(success) { 
if (success) { 
var myImage = myXML.firstChild.childNodes; 
for (i=0; i<myImage.length; i++) { 
var imageNumber = i+1; 
var imageName = myImage[i].attributes.title; 
var imageURL = myImage[i].firstChild.nodeValue; 
trace ("My image number "+imageNumber+" is titled "+imageName+" and its URL is "+imageURL+".") 
} 
} 
}; 

Dies ist der Fehler, die ich erhalte:

Szene 1, Layer 'Inhalt', Frame 3, Zeile 14, Spalte 6 1120: Zugriff von nicht definierte Eigenschaft i .

Szene 1, Ebene 'Inhalt', Bild 3, Zeile 15, Spalte 19 1120: Zugriff auf undefinierte Eigenschaft i.

Szene 1, Ebene 'Inhalt', Bild 3, Zeile 16, Spalte 25 1120: Zugriff auf undefinierte Eigenschaft i.

Szene 1, Ebene 'Inhalt', Bild 3, Zeile 17, Spalte 24 1120: Zugriff auf undefinierte Eigenschaft i.

Szene 1, Ebene 'Inhalt', Bild 3, Zeile 14, Spalte 29 1120: Zugriff auf undefinierte Eigenschaft i.

Szene 1, Ebene 'Inhalt', Bild 3, Zeile 14, Spalte 11 1120: Zugriff auf undefinierte Eigenschaft i.

Ich bin sehr dankbar für eine Lösung, da ich versuche, mit Actionscript3 in den Griff zu bekommen. Danke für jede Hilfe!

Antwort

1

Sie müssen nur die Variable deklarieren.

for (var i:int = 0; i<myImage.length; i++) { 
+0

Danke für Ihren Kommentar, das löste diese Probleme. Jetzt kommt ein anderes Problem auf: Szene 1, Ebene 'Inhalt', Bild 3, Zeile 11, Spalte 7 \t Warnung: 3594: Laden ist keine anerkannte Methode der dynamischen Klassen-XML. und Szene 1, Ebene "Inhalt", Bild 3, Zeile 12, Spalte 7 \t Warnung: 1090: Migrationsproblem: Der onLoad-Event-Handler wird in ActionScript 3.0 zur Laufzeit nicht automatisch von Flash Player ausgelöst. Sie müssen diesen Handler zuerst für das Ereignis mit addEventListener ('load', callback_handler) registrieren. – Mike1211

+0

@ Mike1211 Sie verwenden tatsächlich ** AS2 ** -Code. Der ** AS3 ** -Compiler akzeptiert dies nicht. Probiere ein [** 'AS3-Tutorial' **] (http://www.republicofcode.com/tutorials/flash/as3xml/) und schau, ob es dir hilft. –

Verwandte Themen