Flash Übergang mit AS

spirit89

Grünschnabel
Hallo!

Ich bin dabei einen Flash Banner zu erstellen bei dem die Bilder aus einem externen Ordner geladen werden sollen. Dies hab ich so gelöst:

Code:
for (var i=1;i<9;i++){
	createEmptyMovieClip ("box"+i,i);
    _root["box"+i]._x=i;
	_root["box"+i].loadMovie ("bild"+i+".jpg");
}

Nun sollen die Bilder aber 5 Sekunden eingeblendet sein und mittels Überblendeffekt soll dann das nächste Bild folgen. Hat jemand eine Idee wie sich das machen lässt?
 
Ich kann nun nur für AS3 Sprechen. Dabei gibt es eine globale Funktion setIntervall die es erlaubt eine bestimmte Funktion in einen Bestimmten intervall immer wieder auf zu rufen oder die Timer Klasse, die mittels Eventlistener eine Klasse nach festgelegten ms aufruft.

Ich bin leider erst vor kurzen eingestiegen, und kenne deswegen nur AS3. Aber vielleicht gibt es eine der beiden Funktionen auch in AS1. Vielleicht solltest du auch mal nach einer delay funktion schauen, ich glaube ich hab mal was davon gelesen das es die in älteren Versionen so was gibt. Ein Tutorial zu MX hab ich auch gefunden:
http://www.webwasp.co.uk/tutorials/b56-setInterval/mx/index.php

grüße
 
Hallo,

auf die schnelle in AS2.0:
Einfach in die Hauptzeitleiste kopieren und das Array mit den Bildpfaden anpassen.
Code:
stop();
//Bildpfade
var img_arr = ["img/1.jpg", "img/2.jpg", "img/3.jpg"];

var container:MovieClip;
var holder:MovieClip;
var depth:Number = 0;
var id:Number = 0;
var iv:Number;
var mcl:MovieClipLoader;
var mclListener:Object;

//zuerst ein container anlegen
function init() {
	mcl = new MovieClipLoader();
	mclListener = new Object();
	mcl.addListener(mclListener);
	container = this.createEmptyMovieClip("container", this.getNextHighestDepth());
	createHolder();
}

//neue container anlegen in welche dann die Bilder geladen werden
function createHolder():Void {
	clearInterval(iv);
	holder = container.createEmptyMovieClip("holder" + depth, container.getNextHighestDepth());
	loadPic(id);
	id == img_arr.length - 1 ? id = 0 : id++;
}

//Bilder laden
function loadPic(pN):Void {
	mclListener.onLoadInit = function(target:MovieClip) {
		target._alpha = 0;
		container["holder" + (depth - 1)].fade(false);
		target.fade(true);

		//nach 5 sek ein neues Bild laden
		iv = setInterval(createHolder, 5000);
		depth++;
	};
	mcl.loadClip(img_arr[pN],holder);
}

//fadeOut / In funktion
MovieClip.prototype.fade = function(pD:Boolean):Void  {
	this.onEnterFrame = function() {
		if (!pD) {
			(this._alpha >= 0) ? this._alpha -= 5 : delete this.onEnterFrame;
		}
		else {
			(this._alpha <= 100) ? this._alpha += 5 : delete this.onEnterFrame;
		}
	};
};


init();

Gruß
 

Neue Beiträge

Zurück