import mx.transitions.*;
import flash.filters.DropShadowFilter;
//leeren MC erstellen
//this.createEmptyMovieClip("con",1);
this.createEmptyMovieClip("aussen",1);
this.aussen.createEmptyMovieClip("innen",1);
//und 3 weitere MCs einbetten
var border_mc:MovieClip = aussen.createEmptyMovieClip("border_mc",1);
var image_mc:MovieClip = aussen.createEmptyMovieClip("image_mc",2);
var text_mc:MovieClip = aussen.createEmptyMovieClip("text_mc",3);
//zuerst transparent setzen
this.aussen._alpha = 0;
//Zähler
var index:Number = 0;
var urls:Array = new Array();
var labellist:Array = new Array();
var starter = true;
//****************************************************************************************************************//
var bilderXML:XML = new XML();// Neues XML-Objekt anlegen
bilderXML.ignoreWhite = true;// whitespace in XML ignorieren (z.B. CRLF etc)
bilderXML.onLoad = onload;//onLoad-Handler zuweisen
bilderXML.load("Bildergalerie.xml");
function onload(erfolgreich) {
if(erfolgreich) {
var knotenliste:Array = new Array();
knotenliste = this.firstChild.childNodes;//der jeweilige erste Eintrag in den Knoten
//Anzahl der Bilder ermitteln über Länge der Knotenliste
var len:Number = knotenliste.length;
_root.len = len;
//alle Einträge durchwandern und in die Attribute in die Arrays setzen
for(var i:Number=0;i<_root.len;i++){
_root.urls[i] = knotenliste[i].attributes.url;
_root.labellist[i] = knotenliste[i].attributes.text;
}
//jetzt erst die Bilder laden:
_root.startLoader();
}
else {
trace("Fehler beim Laden");
}
}
//****************************************************************************************************************//
//mit dem Dropshadowfilter einen Schlagschatten erzeugen
function shadows(obj){
var distance:Number = 0;
var angleInDegrees:Number = 90;
var color:Number = 0xFF0000;
var alpha:Number = 50;
var blurX:Number = 38;
var blurY:Number = 38;
var strength:Number = 1.2;
var quality:Number = 3;
var inner:Boolean = false;
var knockout:Boolean = false;
var hideObject:Boolean = false;
var filter:DropShadowFilter = new DropShadowFilter(distance,angleInDegrees,color,alpha,blurX,blurY,strength,quality,inner,knockout,hideObject);
var filterArray:Array = new Array();
filterArray.push(filter);
obj.filters = filterArray;
}
//****************************************************************************************************************//
//ein Rechteck zeichnen für bspw. Bilderrahmen oder Masken
function rechteck(obj,hg,x1,x2,y1,y2,gef,ls,alph){
with (obj){
clear();
if(gef==1){
beginFill(hg, alph);
moveTo(x1, y1);
lineTo(x2, y1);
lineTo(x2, y2);
lineTo(x1, y2);
lineTo(x1, y1);
endFill();
}
}
}
//****************************************************************************************************************//
function ladeSteuerung(){
//leeren MC für Thumbnail-Leiste erstellen
_root.createEmptyMovieClip("thumbs",_root.getNextHighestDepth());
_root.thumbs._x = 50;
_root.thumbs._y = Stage.height - 710;
//Masken-MC erstellen
_root.createEmptyMovieClip("maske",_root.getNextHighestDepth());
_root.maske._x = _root.thumbs._x+0;
_root.maske._y = _root.thumbs._y+620;
_root.rechteck(maske,"0xFFFFFF",-50,240,-650,0,1,0,-100);
//Maske setzen
_root.thumbs.setMask(maske);
//und aus den Mcs Schaltflächen machen
zurueck_mc.onRelease = function(){
trace("Klick auf zurück");
//Ende der Liste erreicht? Dann begrenzen...
if(_root.thumbs._y > -1700) _root.thumbs._x -= 250;
}
weiter_mc.onRelease = function(){
trace("Klick auf weiter");
//Ende der Liste erreicht? Dann begrenzen...
if(_root.thumbs._x < 0) _root.thumbs._x += 250;
}
}
//****************************************************************************************************************//
function startLoader(){
ladeSteuerung();
//Liste der MCs im MC "thumbs" erstellen
_root.mcs = new Array();
for(var i=0;i<_root.len;i++){
var mc = _root.mcs.push(_root.thumbs.createEmptyMovieClip("aussen"+i,_root.thumbs.getNextHighestDepth()));
_root.thumbs["aussen"+i]._x = 100+(i%5)*100;
_root.thumbs["aussen"+i]._y = Math.floor(i/5)*100;
mc.id = i;
}
trace(_root.thumbs["aussen"+i]._x)
//Lauscher und MovieClipLoader-Instanz für die Thumbs erstellen
_root.mclListener = new Object();
_root.mcLoader = new MovieClipLoader();
_root.mcLoader.addListener(_root.mclListener);
//Lauscher und MovieClipLoader-Instanz für die großen Bilder erstellen
_root.mclListener2 = new Object();
_root.mcLoader2 = new MovieClipLoader();
_root.mcLoader2.addListener(_root.mclListener2);
//das erste große Bild laden
_root.mcLoader2.loadClip("Bildergalerie/Fotos_gr/"+_root.urls[_root.index], _root.aussen.image_mc);
//großes Bild ist geladen und MC wurde befüllt:
_root.mclListener2.onLoadInit = function(mc:MovieClip) {
_root.rechteck(_root.aussen.border_mc,"0xFFFFFF",0,mc._width+20,0,mc._height+20,1,0,100);
_root.aussen.image_mc._x = 10;
_root.aussen.image_mc._y = 10;
//MC auf die Bühnen-Mitte setzen:
_root.aussen._x = 355;
_root.aussen._y = 55;
_root.shadows(_root.aussen);
_root.shadows(thumb_bg);
//
trace(int)
//Text unter das Bild setzen
var format:TextFormat = new TextFormat();
format.align = "center";
_root.txt = _root.text_mc.createTextField("txt",1,0,_root.aussen.border_mc._height+10,_root.aussen.border_mc._width,40);
_root.txt.html = true;
_root.txt.wordWrap = true;
_root.txt.multiline = true;
_root.txt.embedFonts = true;
if(_root.starter){
_root.starter = false;
_root.index = 0;
}
_root.txt.htmlText = "<font face='Arial' size='16' color='#ffffff'>"+_root.labellist[_root.index]+"</font>";
_root.txt.setTextFormat(format);
_root.fader(_root.aussen,true);
}
//und den ersten Thumb laden
_root.mcLoader.loadClip("Bildergalerie/Fotos/"+_root.urls[index], _root.mcs[_root.index]);
trace(_root.index)
//Thumb ist geladen und MC wurde befüllt:
_root.mclListener.onLoadInit = function(mc:MovieClip) {
trace("fertig, geladen wurde "+mc);
mc.ID = _root.index;//index als MC-Variable merken
trace(_root.urls[index])
_root.index++;
if (_root.index < _root.len) {//sind noch weitere zu laden?
_root.mcLoader.loadClip("Bildergalerie/Fotos/"+_root.urls[_root.index], _root.mcs[_root.index]);
}
trace("Bildergalerie/Fotos/"+_root.urls[_root.index])
trace(_root.index < _root.len)
trace(_root.index)
trace(_root.urls[index])
mc.onRelease = function(){
trace("this="+this);
trace("this.ID="+this.ID);
_root.index = this.ID;
//aktuelles Bild ausblenden
_root.fader(_root.aussen,false);
}
}
}
//****************************************************************************************************************//
function fader(mc,blende){
//mc ist das ein- oder auszublendende Objekt
//blende ist true oder false, d.h. blendet ein oder aus
//während des Fadens die Schaltflächen sperren
_root.thumbs.enabled = false;
if(blende){
//einblenden von alpha=0 bis alpha=100 in 0,6 Sekunden
var tw1:Tween = new Tween(mc, "_alpha", mx.transitions.easing.None.easeNone, 0, 100, 0.6, true);
tw1.onMotionFinished = function() {//wenn ausblenden beendet...
_root.thumbs.enabled = true;
}
}
else{//ausblenden
var tw2:Tween = new Tween(mc, "_alpha", mx.transitions.easing.None.easeNone, 100, 0, 0.6, true);
tw2.onMotionFinished = function() {//wenn ausblenden beendet...
_root.folgefilm();//nächsten Film laden und einblenden
}
}
}
//****************************************************************************************************************//
function folgefilm(){
trace("folgefilm");
_root.mcLoader2.loadClip("Bildergalerie/Fotos_gr/"+_root.urls[_root.index], _root.aussen.image_mc);
_root.txt.htmlText = "";
trace(_root.urls[_root.index])
}
//****************************************************************************************************************//
this.stop();