Einzelnen Beitrag anzeigen
Alt 05-12-2008, 13:12   #11 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Und hier das gesamte Script:
PHP-Code:
//Stufe 10: Nachladen mehrerer Bilder in einen MC
//zwischen den Bildern über Thumbnail-MCs wechseln
//mit Rahmen und Schatten
//Thumbnail-MC lässt sich begrenzt scrollen
//Hauptbild mit Label
//Bilderliste und Texte werden dynamisch per XML-File nachgeladen

import mx.transitions.*;
import flash.filters.DropShadowFilter;

//leeren MC erstellen
this.createEmptyMovieClip("con",1);

//und 3 weitere MCs einbetten
var border_mc:MovieClip con.createEmptyMovieClip("border_mc",1);
var 
image_mc:MovieClip con.createEmptyMovieClip("image_mc",2);
var 
text_mc:MovieClip con.createEmptyMovieClip("text_mc",3);

//zuerst transparent setzen
this.con._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("bilderliste.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 0x000000;
    var 
alpha:Number .9;
    var 
blurX:Number 8;
    var 
blurY:Number 8;
    var 
strength:Number 1;
    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(hgalph);
            
moveTo(x1y1);
            
lineTo(x2y1);
            
lineTo(x2y2);
            
lineTo(x1y2);
            
lineTo(x1y1);
            
endFill();
            
        }
        else{
            
ls = (ls == undefined || ls == 0) ? ls;
            
lineStyle(ls,hg,100 );//ls = Linienstärke
            
moveTo(0,0);
            
lineTo(x2,0); 
            
lineTo(x2,y2);
            
lineTo(0,y2);
            
lineTo(0,0);
        }
    }
}
//****************************************************************************************************************//
function ladeSteuerung(){
    
//leeren MC für Thumbnail-Leiste erstellen
    
_root.createEmptyMovieClip("thumbs",_root.getNextHighestDepth());
    
_root.thumbs._x 50;
    
_root.thumbs._y Stage.height 200;
        
    
//Masken-MC erstellen
    
_root.createEmptyMovieClip("maske",_root.getNextHighestDepth());
    
_root.maske._x _root.thumbs._x+50;
    
_root.maske._y _root.thumbs._y;
    
_root.rechteck(maske,"0xFFFFFF",0,510,0,150,1,0,100);
    
    
//Maske setzen
    
_root.thumbs.setMask(maske);
    
    
//2 MCs mit Schaltflächen zur Steuerung erstellen
    
_root.createEmptyMovieClip("zurueck_mc",_root.getNextHighestDepth());
    
_root.createEmptyMovieClip("weiter_mc",_root.getNextHighestDepth());
    
    
//positionieren
    
zurueck_mc._y weiter_mc._y Stage.height 150;
    
weiter_mc._x Stage.width 25;
    
    
//zwei fertige Grafiken attachen
    
zurueck_mc.attachMovie("zurueck_mc","zurueck_mc",1);
    
weiter_mc.attachMovie("weiter_mc","weiter_mc",1);
    
    
//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._x > -2700_root.thumbs._x -= 250;
    }
    
    
weiter_mc.onRelease = function(){
        
trace("Klick auf weiter");
        
        
//Ende der Liste erreicht? Dann begrenzen...
        
if(_root.thumbs._x 50_root.thumbs._x += 250;
    }
    
}
//****************************************************************************************************************//
function startLoader(){
    
ladeSteuerung();
    
//Liste der MCs im MC "thumbs" erstellen
     
_root.mcs  = new Array();
    
    
//leere MCs erzeugen
    
for(var i=0;i<_root.len;i++){
       
_root.mcs.push(_root.thumbs.createEmptyMovieClip("con"+i,_root.thumbs.getNextHighestDepth()));
       
_root.thumbs["con"+i]._x = (i*250 +80);//nebeneinander positionieren
       
_root.thumbs["con"+i].ID i;//Zähler merken
    
}

    
//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("pics-gr/"+_root.urls[_root.index], _root.con.image_mc);
    
    
//großes Bild ist geladen und MC wurde befüllt:
    
_root.mclListener2.onLoadInit = function(mc:MovieClip) {
        
        
_root.rechteck(_root.con.border_mc,"0xFFFFFF",0,mc._width+20,0,mc._height+20,1,0,100);
        
_root.con.image_mc._x 10;
        
_root.con.image_mc._y 10;
        
        
//MC auf die Bühnen-Mitte setzen:
        
_root.con._x int((Stage.width _root.con._width)/2);
        
_root.con._y int((Stage.height _root.con._height)/2)-120;
        
_root.shadows(_root.con);
        
        
//Text unter das Bild setzen
        
var format:TextFormat = new TextFormat();
        
format.align "center";
        
_root.txt _root.text_mc.createTextField("txt",1,0,_root.con.border_mc._height+10,_root.con.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='#000000'>"+_root.labellist[_root.index]+"</font>";
        
_root.txt.setTextFormat(format);
        
        
_root.fader(_root.con,true);
        
    }
    
    
//und den ersten Thumb laden
    
_root.mcLoader.loadClip("pics-th/"+_root.urls[index], _root.mcs[_root.index]);
    
    
//Thumb ist geladen und MC wurde befüllt:
    
_root.mclListener.onLoadInit = function(mc:MovieClip) {
        
//trace("fertig, beladen wurde "+mc);
        
mc.ID _root.index;//index als MC-Variable merken
        
        
_root.index++;
           if (
_root.index _root.len) {//sind noch weitere zu laden?
           
_root.mcLoader.loadClip("pics-th/"+_root.urls[_root.index], _root.mcs[_root.index]);
           }
        
        
        
mc.onRelease = function(){
            
trace("this="+this);
            
trace("this.ID="+this.ID);
            
            
_root.index this.ID;
            
            
//aktuelles Bild ausblenden
            
_root.fader(_root.con,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.easeNone01000.6true);
      
tw1.onMotionFinished = function() {//wenn ausblenden beendet...
        
_root.thumbs.enabled true;
      }
   }
   else{
//ausblenden
      
var tw2:Tween = new Tween(mc"_alpha"mx.transitions.easing.None.easeNone10000.6true);
      
tw2.onMotionFinished = function() {//wenn ausblenden beendet...
        
_root.folgefilm();//nächsten Film laden und einblenden
      
}
   }
}
//****************************************************************************************************************//

function folgefilm(){
    
trace("folgefilm");
    
    
_root.mcLoader2.loadClip("pics-gr/"+_root.urls[_root.index], _root.con.image_mc);
    
_root.txt.htmlText "";
    
}
//****************************************************************************************************************//



this.stop(); 

Geändert von agedoubleju (10-12-2008 um 14:25 Uhr)
  Mit Zitat antworten