Antworten auf deine Fragen:
Neues Thema erstellen

mehere xml's laden (Bildergalerie)

Pielo

Noch nicht viel geschrieben

Tagchen an die Flashprofis,

ich habe mir von einer anderen Seite ein Tut für eine Bildergalerie gefunden, das habe ich mir so angepasst wie ich es gern hätte, nur leider fehlen mir jetzt noch ein paar kleine Infos um es perfekt zu machen.

Und zwar bin ich soweit das meine Bilder über ein loader aus einer xml geladen werden. Jetzt würde ich gerne das man per Knopfdruck zwischen meheren Fotoordnern wechseln kann. So das quasi der loader ne andere xml läd.

Jetzt meine Frage, wie mach ich das das der loader auf Knopfdruck ne andere xml läd??

Hier mal der loader

PHP:
var bilderXML:XML = new XML();
bilderXML.ignoreWhite = true;
bilderXML.onLoad = onload;
bilderXML.load("Bildergalerie.xml");


***lg Pielo***

P.S.: Ich bin leider noch nicht so die Leuchte in Sachen Flash, deswegen bitte ich nicht all so sehr im Fachjargon zu reden.
 
Zuletzt bearbeitet:

G

Gelöschtes Mitglied 345460

Guest

AW: mehere xml's laden (Bildergalerie)

Würde Variable setzen, die dann an den Dateinamenaufruf angehangen werden. Bildgalerie-variable.xml z.B... Aber mit der Umsetzung müsste ein anderer helfen, falls das so überaupt geht. Wird wahrsch was umfangreicher vom Script.

*Bekannte hat einen Webpage mit bald evt Shop. Die Seiten werden da auch über Variablen und include-Befehle beim klicken im Menü unterschiedlich gestaltet. Also index.php wird immer aufgerufen und für die verschiedenen Inhalte werden über Variable, die beim klicken im Menü gesetzt werden, als "include variable.php" aufgerufen.. da klappt's einwandfrei.. So ähnlich müsste es dann auch mit der xml klappen... Hab das aber selber nicht programmiert. Betreue nur die Seiteninhalte. Der Script ist von einem Profi...
 

FlashSoft

Besserwisser

AW: mehere xml's laden (Bildergalerie)

Du mußt eine Funktion für den Loader schreiben, in dem du ihm etwas übergeben Tust, z.B. nur den Namen des Ordners (Name des Ordners = Name.xml Datei). Das währe ein Beispiel. Nur nicht effizient, da jeder Ordner immer wieder neu geladen wird. Zeige doch mal deinen gesamten Loader, vielleicht kann man da was genaueres erkennen.
 

Pielo

Noch nicht viel geschrieben

AW: mehere xml's laden (Bildergalerie)

Ich lad einfach mal den ganzen Code hoch, vielleicht kann mir ja dann Jemand weiter helfen.

PHP:
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();


***lg Pielo***
 
G

Gelöschtes Mitglied 345460

Guest

AW: mehere xml's laden (Bildergalerie)

Mhh, tschuldige.. Aber willst Du jetzt, das Dir einer den script dazu schreibt? Das Grundproblem wurde glaub ich erkannt... Du hast eine Seite.. HTML oder PHP nehme ich an... Da läuft die Flash als Bildershow... Entweder du speicherst für jede Bildershow eine komplett eigene Flash... oder du nimmst den obigen Vorschlag an... PHP-Script, mit dem Du eine variable an Flash übergibst... und die Variable enthält dann den jeweilige xml-Dateinamen, der im Flash gestartet werden soll.. Vlt ist ja einer *der sich besser damit auskennt wie ich* bereit, die ein Script zu erstellen... Oder Du suchst bissl im WWW bzw hier, und schaust, das Du das Scipt in der art hinbekommst...

Mein Vorschlag noch dazu...
 

Pielo

Noch nicht viel geschrieben

AW: mehere xml's laden (Bildergalerie)

Danke für deine Antwort.

Ja ich bin gerne bereit ein wenig im www oder auch hier nach einer Lösung, wie ich das mit den Variablen mache, zu suchen. Leider weiß ich nicht so recht nach was für Stichwörtern ich da am schlausten suchen könnte. Könntest du mir da evtl. einen Tip geben.

***lg Pielo***
 
G

Gelöschtes Mitglied 345460

Guest

Zuletzt bearbeitet von einem Moderator:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben