Dieses Thema bereitet mir nach leider wie vor gewisse Probleme in ActionScript, es geht um folgendes:
Ich habe eine Klasse, welche eine Instanz von einem Objekt erstellt.
In dieser Klasse wird zudem eine weitere Klasse aufgerufen, zum einfaden des Objektes - wenn dies erfolgt ist, wird eine Callback-Funktion aufgerufen, diese Funktion befindet sich ebenfalls in der Klasse, welches die Instanz erstellt, die hierfür relevanten Funktionen:
Gallery.as - Daten aus XML File werden geladen und per Funktion in der Klasse einer statischen Variable zugewissen
Gallery.as - Funktion zum herausfiltern der einzelnen Daten der XML und aufruf zur Funktion createLink
Gallery.as - Erstellen und einfaden der Instanz
Action.as - ausführen des Fades und bei fertigstellung Aufruf der Callback Funktion
Am Ende scheint jede Auslesung und Verarbeitung der Variablen fehlzuschlagen.
Bei dem 2. Ausführen des Ablaufes, wird mir für den trace "trace(createLink())", "undefined" zurückgegeben, somit scheint er diese Funktion nichteinmalmehr zu finden. Sehr nervig das ganze.
Habe schon verschiedene Ausführungen ausprobiert, nichts hat geklappt...
PS: Sollte jemand gute Fachlektüre über pure OOP bei ActionScript kennen, immer her damit. Die Lektüren, welche ich bisher habe, kratzen das Thema leider nur immer sehr Oberflächlich ein.
Ich wäre zudem sehr dankbar für einfache Snippets aus komplexeren Klassen, damit müsste ich hier nicht andauernt irgendwelchen Leute mit meinen fragen belästigen
und ich könnte es einfach mal studieren, wie man Klassen vorzugsweiße aufbaut.
Ich habe eine Klasse, welche eine Instanz von einem Objekt erstellt.
In dieser Klasse wird zudem eine weitere Klasse aufgerufen, zum einfaden des Objektes - wenn dies erfolgt ist, wird eine Callback-Funktion aufgerufen, diese Funktion befindet sich ebenfalls in der Klasse, welches die Instanz erstellt, die hierfür relevanten Funktionen:
Gallery.as - Daten aus XML File werden geladen und per Funktion in der Klasse einer statischen Variable zugewissen
Code:
static var linkID:Number = 0;
private var masterTarget:MovieClip;
static var dataXML:XML;
private var links:MovieClip;
static var artworks:Array
public function Gallery()
{
links = this.createEmptyMovieClip("linkContainer_mc", 0);
var mc:Function = gatherData;
var masterTarget:Gallery = this;
dataXML = new XML;
dataXML.ignoreWhite = true;
dataXML.onLoad = function (b:Boolean)
{
if (b)
{
trace("hoffe das ist nur einer hier");
var artworks:Array = this.firstChild.childNodes;
masterTarget.setVars(artworks);
}
};
dataXML.load ("gallery.xml");
}
Code:
public function setVars(a:Array)
{
artworks = a;
gatherData();
}
Gallery.as - Funktion zum herausfiltern der einzelnen Daten der XML und aufruf zur Funktion createLink
Code:
public function gatherData()
{
var date:Number = artworks[linkID].attributes["date"];
var file:String = artworks[linkID].attributes["file"];
var desc:String = artworks[linkID].childNodes;
if(linkID <= artworks.length - 1) createLink(date, file, desc);trace(createLink());
}
Gallery.as - Erstellen und einfaden der Instanz
Code:
public function createLink(date:Number, file:String, desc:String)
{
trace(linkID);
var linkPath:MovieClip = links.attachMovie("Link", "link"+linkID, linkID);
linkPath._alpha = 0;
linkPath._y = 15 * linkID;
var linkAction = new Action(linkPath);
++linkID
linkAction.useFade(100, gatherData)
}
Action.as - ausführen des Fades und bei fertigstellung Aufruf der Callback Funktion
Code:
public function useFade (n:Number, _cb:Function)
{
var c:MovieClip = master.createEmptyMovieClip("fadeFunction", 9901);
var alpha:Number = master._alpha;
master.fadeFunction.onEnterFrame = function ()
{
var master:MovieClip = this._parent;
alpha += (n - alpha) / 5;
master._alpha = alpha;
if (master._alpha >= n - 1 && master._alpha <= n + 1)
{
master._alpha = n;
_cb();
this.removeMovieClip();
}
};
}
Am Ende scheint jede Auslesung und Verarbeitung der Variablen fehlzuschlagen.
Bei dem 2. Ausführen des Ablaufes, wird mir für den trace "trace(createLink())", "undefined" zurückgegeben, somit scheint er diese Funktion nichteinmalmehr zu finden. Sehr nervig das ganze.
Habe schon verschiedene Ausführungen ausprobiert, nichts hat geklappt...
PS: Sollte jemand gute Fachlektüre über pure OOP bei ActionScript kennen, immer her damit. Die Lektüren, welche ich bisher habe, kratzen das Thema leider nur immer sehr Oberflächlich ein.
Ich wäre zudem sehr dankbar für einfache Snippets aus komplexeren Klassen, damit müsste ich hier nicht andauernt irgendwelchen Leute mit meinen fragen belästigen
