Slideshow anhalten und weiterlaufen lassen

stella

Grünschnabel
Hallo Forenmitglieder!

Ich hab mich grad neu angemeldet und falle gleich mal mit der Tür ins Haus. Ich suche Hilfe, ich bin am verzweifeln und nicht umsonst noch Nachts um vier im Netz unterwegs...ich freu mich über jeden Tip!

Ich versuche grade für einen Freund eine Slideshow zu basteln. Die Bilder werden über xml geholt.
Er möchte gern, dass über einen Schalter die Bilder jederzeit angehalten und wieder an der gleichen Stelle fortgesetzt werden können. Der Knopf soll auf den Bildern liegen, und sich mit dem Mauszeiger bewegen. (Die Show soll endlos laufen.)

Was ich bisher hab, ist eine eingermassen funktionierende Slideshow . Und einen Button, der am Mauszeiger hängt und in der Lage ist, etwas anzuhalten bzw. weiterlaufen zu lassen. Leider fehlt mir ein Plan, wie ich beides kombiniere. Der Button liegt immer noch unter/ hinter den Bildern und bewirkt leider gar nichts.

Ich bin mir nicht mal sicher, ob das der richtige Ansatz ist.



Hier ist mein script:

Code:
var x_data:XML = new XML();
x_data.load("bilder.xml");
x_data.ignoreWhite = true;
var a_bild_daten:Array = new Array();
function read_xml() {
	for (var i:Number = 0; i<x_data.firstChild.childNodes.length; i++) {
		a_bild_daten[i] = x_data.firstChild.childNodes[i].attributes.img;
	}
	//trace(a_bild_daten[0]);
	gallerie_aufbau();
}
x_data.onLoad = read_xml;
import flash.filters.BlurFilter;
function gallerie_aufbau() {
	var i:Number = 0;
	var naechstes:Boolean = false;
// Buttons 
	this.pause_mc._alpha = 100;
	this.start_mc._alpha = 0;
	this.onEnterFrame = function() {
		t_xpos.text = _xmouse;
		t_ypos.text = _ymouse;
		//Hier wird der Button bewegt:
		pause_mc._x += (this._xmouse-pause_mc._x)/10;
		pause_mc._y += (this._ymouse-pause_mc._y)/10;
		start_mc._x += (this._xmouse-start_mc._x)/10;
		start_mc._y += (this._ymouse-start_mc._y)/10;
	};
	this.loadMovieNum("'bilder/'+a_bild_daten[i]", 1);
	this.pause_mc.onRelease = function() {
		unloadMovieNum(1);
		loadMovieNum("'bilder/'+a_bild_daten[i]", 1);
		this._parent.start_mc.alpha = 0;
		this._parent.start_mc.swapDepths(this);
		this._parent.start_mc._alpha = 0;
		this._parent.pause_mc._alpha = 100;
	};
	this.start_mc.onRelease = function() {
		unloadMovieNum(1);
		this._parent.pause_mc.swapDepths(this);
		this._parent.pause_mc._alpha = 0;
		this._parent.start_mc._alpha = 100;
	};
	if (i<a_bild_daten.length and naechstes == false) {
		this.createEmptyMovieClip('bild_target'+i, i);
		this['bild_target'+i]._x;
		this['bild_target'+i]._y;
		this['bild_target'+i].loadMovie('bilder/'+a_bild_daten[i]);
		blurX = 15;
		blurY = 15;
		quality = 0;
		naechstes = true;
	}
	var filter:BlurFilter = new BlurFilter(blurX -= 2, blurY -= 2, quality);
	var filterArray:Array = new Array();
	filterArray.push(filter);
	this['bild_target'+i].filters = filterArray;
	if (blurX<=0) {
		i++;
		naechstes = false;
	}
}


ich hab auch schon versucht , die fertige Slideshow als .swf zu laden und über den button zu steuern, aber das funktioniert auch nicht - das hoppelt irgendwie.

Und mit dem Blur filter bin ich auch nicht glücklich, eigentlich sollen die Bilder ineinader faden... aber das ist dann schon Luxus...


Wenn jemand eine Idee hat oder einen Vorschlag was ich machen kann, wäre ich dankbar.

Stella, verzweifelt!
 
Zuletzt bearbeitet von einem Moderator:
Hallo und herzlich Willkommen auf tutorials.de, stella!

Für die Pause kannst du einfach den onEnterFrame löschen. Z.B. so:

Code:
function jens() {
	// hier kommt alles rein was bei dir oben 
	//in this.onEnterFrame = function() { steht
}
function gallerie_aufbau() {
	// wie bei dir bis auf:
	this.onEnterFrame = jens;
	this.pause_mc.onRelease = function() {
		delete this.onEnterFrame;
		// usw
	};
	this.start_mc.onRelease = function() {
		this.onEnterFrame = jens;
		// use
	};
}
 
Hallo Jens B.!

Danke Dir für die Antwort, werde es gleich mal ausprobieren!

Ich hab schon vom scripten geträumt - wär das toll wenn ich fertig werden würde!

Grüsse!
 

Neue Beiträge

Zurück