Comander_Keen
Erfahrenes Mitglied
Hallo zusammen!
Um gleich auf den Punkt zu kommen. Ich habe vor das "selected Works"-menü von depthflow.net zu erstellen. Eigentlich sieht es auf den ersten Blick recht einfach aus. Aber der Teufel steckt wie immer im Detail (für mich). Alle Daten kommen bei mir aus einem XML-Dokument .. und steuern auch gleich die Anzahl der mc's, welche dann per attach in die Szene geladen werden.
Soweit klappt auch alles .. nur habe ich eine fatale Denkblockade wenn es um das Animationsscript geht (getweent wird auch per as). Mehr als das es nicht funktioniert kann ich euch dazu leider nicht sagen. Die sich im Code befindenen Kommentare sollten alles weitere erklären.
Damit erstelle ich die einzelnen MC's:
Das nächste Script ist im MC selbst.
Und dies ist die fla(+xml).
Freue mich über jeden Tip!
greetz keen!
Um gleich auf den Punkt zu kommen. Ich habe vor das "selected Works"-menü von depthflow.net zu erstellen. Eigentlich sieht es auf den ersten Blick recht einfach aus. Aber der Teufel steckt wie immer im Detail (für mich). Alle Daten kommen bei mir aus einem XML-Dokument .. und steuern auch gleich die Anzahl der mc's, welche dann per attach in die Szene geladen werden.
Soweit klappt auch alles .. nur habe ich eine fatale Denkblockade wenn es um das Animationsscript geht (getweent wird auch per as). Mehr als das es nicht funktioniert kann ich euch dazu leider nicht sagen. Die sich im Code befindenen Kommentare sollten alles weitere erklären.
Damit erstelle ich die einzelnen MC's:
PHP:
/* Beim starten ist der erste MC der aktuelle */
_global.prevClipId = 0;
/* XML to Array*/
XMLNode.prototype.toArray = function(arr) {
var anzahlKnoten = this.childNodes.length;
for (var k = 0; k<anzahlKnoten; k++) {
if (this.childNodes[k].nodeType == 1) {
arr[k] = [];
for (a in this.childNodes[k].attributes) {
arr[k][a] = this.childNodes[k].attributes[a];
}
if (this.childNodes[k].hasChildNodes()) {
this.childNodes[k].toArray(arr[k]);
}
} else {
arr[k] = this.childNodes[k].nodeValue;
}
}
return arr;
};
/* Erstellung des Menüs*/
var exhibitions = new XML();
exhibitions.ignoreWhite = true;
exhibitions.onLoad = function(stat) {
// Anzahl der Datensätze im XML-Dokument
_global.all = exhibitions.childNodes[0].childNodes.length;
// Erstellung der MCs
for (i=0; i<all; i++) {
if (stat) {
exhibitionsArray = this.toArray([]);
exhib_type = exhibitionsArray[0][i].type;
exhib_name = exhibitionsArray[0][i][0][0];
attachMovie('mc exhibition', 'mc_exhibition_'+i , (i+1),{_y: (i*12), type:exhib_type, name:exhib_name});
}
}
};
exhibitions.load("xml_to_array.xml");
Das nächste Script ist im MC selbst.
PHP:
// Ausgabe des Namens und des Typs
this.text_name.text = name;
this.text_type.text = type;
// prevClipPos entspricht der Anzahl an Clips unter dem vorherigen Clip
j = _global.prevClipId;
prevClipPos = all-j-1;
// currentClipPos entspricht der Anzahl an clips unter dem aktuellen Clip
currentClipPos = all-i-1;
this.onMouseDown = function() {
if (i != j) {
// Einfahren des vorherigen MCs
for (k=prevClipPos; k>0; k--) {
_root['mc_exhibition_'+(j+1)].tweenTo(0, (_root['mc_exhibition_'+(j+1)]._y-70), 3);
j = j+1;
}
// Ausfahren des aktuellen MCs
var i = this._name.split('_')[2]/1;
_global.prevClipId = i;
for (k=currentClipPos; k>0; k--) {
_root['mc_exhibition_'+(i+1)].tweenTo(0, (_root['mc_exhibition_'+(i+1)]._y+70), 3);
i = i+1;
}
}
};
Und dies ist die fla(+xml).
Freue mich über jeden Tip!
greetz keen!