| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: May 2006
Beiträge: 13
|
hallo zusammen, ich lade per mouseclick vier externe Slideshows in einen container meiner main.swf. das klappt auch alles schon ganz gut, bis auf die problematik, dass, nach mehmaligem betätigen der einezelnen buttons, der interval nicht gelöscht wird und bilder durcheinander geladen werden oder übersprungen werden. bei kirupa.com wurde das thema schon behandelt, aber der lösungsvorschlag mit "clearInterval(_level2.id);" auf den button funzt bei meiner variante irgendwie nicht. hat jemand eine idee? schon mal vielen dank im voraus!!! gpunkt anbei der code in der main.swf und eine slideshow als slide_1.swf... var tl = this; var clicked; // var movies = new Array (); movies[0] = "slide_1"; movies[1] = "slide_2"; movies[2] = "slide_3"; movies[3] = "slide_4"; // for (var i = 1; i <= 4; i++) { this["button_" + i].onRollOver = function () { if (this != tl.clicked) { this.gotoAndStop (2); } }; this["button_" + i].onRollOut = this["button_" + i].onReleaseOutside = function () { if (this != tl.clicked) { this.gotoAndStop (1); } }; this["button_" + i].onRelease = function () { if (this != tl.clicked) { slideshow_loader.loadMovie (movies[Number (this._name.slice (-1)) - 1] + ".swf"); this.gotoAndStop (3); tl.clicked.gotoAndStop (1); tl.clicked.useHandCursor = true; tl.clicked = this; this.useHandCursor = false; clearInterval(_level2.id); } }; } |
| |
| | #5 (permalink) |
| Neuer User Registriert seit: May 2006
Beiträge: 13
|
_level0.id ist auch undefined... der intervall wird in den einzelnen slideshows gesetzt. in der slide_1.swf wird das einmaal in zeile 14 mit id = setInterval(preloadPic, 100); und einmal in zeile 40 mit id = setInterval(nextImage, 3000); aufgerufen. schon einmal vielen dank für deine mühe. gpunkt |
| |
| | #7 (permalink) | |
| Gast
Beiträge: n/a
| Zitat:
| |
| | #9 (permalink) |
| Neuer User Registriert seit: Jan 2005
Beiträge: 34
| Ich habe das gleiche Problem Hallo, ich hab ein ähnliches Problem mit diesem Script. Hat da jemand eine Idee? Bin kein Profi. import mx.transitions.*; import mx.transitions.easing.*; //class de.sonntagsfarben.animation.SlideShow{ class as.SlideShow{ private var mcTarget:MovieClip; private var aBilder:Array; private var aHolder:Array; private var oProp:Object; private var sPath:String; private var nCurrent:Number; private var seconds:Number; private var nInterval:Number; private var mlLoader:MovieClipLoader; private var mlListener:Object; private var isStarted:Boolean; //CONSTRUCTOR public function SlideShow(mcTarget:MovieClip,aBilder:Array,seconds :Number,sPath:String,oProp:Object){ setTarget(mcTarget); setSeconds(seconds); setPath(sPath); setProperties(oProp); setBilder(aBilder);//startet slideshow } private function setup(Void):Void{ tr("SlideShow: setup()"); mlLoader = new MovieClipLoader(); initListeners(); createBilderHolder(); nCurrent = 0; } private function createBilderHolder(Void):Void{ for(var i:Number = 0;i<aHolder.length;i++){ aHolder[i].removeMovieClip(); } aHolder = new Array(); for(var i:Number = 0; i< aBilder.length; i++){ var target:MovieClip = mcTarget.createEmptyMovieClip("mcholder3_"+i,mcTar get.getNextHighestDepth()); aHolder[i] = target; loadBild(aBilder[i],target); } } private function loadBild(src:String,target:MovieClip):Void{ tr("SlideShow: loadBild("+src+")") mlLoader.loadClip (this.getPath()+src, target); mlLoader.addListener(mlListener); } private function next(Void):Void{ tr("SlideShow: next()") if(!isStarted){ isStarted = true; (aHolder.length<=1)? fadeInOutImage(aHolder[0],false) : fadeInOutImage(aHolder[0],true); return; } clearInterval(nInterval); nCurrent = (nCurrent<aHolder.length-1)? ++nCurrent : 0; fadeInOutImage(aHolder[nCurrent],true); } private function fadeInOutImage(src:MovieClip,hasNext:Boolean):Void { tr("SlideShow: fadeInOutImage("+src+")"); var scope = this; clearInterval(nInterval); src._alpha = 100; TransitionManager.start(src,{type:Fade,direction:0 ,duration:2,easing:Regular.easeOut}); if(!hasNext) return; nInterval = setInterval(function(){ clearInterval(scope.nInterval); scope.next(); TransitionManager.start(src,{type:Fade,direction:1 ,duration:2,easing:Regular.easeOut}); },seconds); } private function initListeners():Void{ var scope:SlideShow = this; mlListener = new Object(); mlListener.onLoadStart = function(mcLoaded:MovieClip){ mcLoaded._alpha = 0; } mlListener.onLoadInit = function(mcLoaded:MovieClip){ scope.tr(mcLoaded," geladen"); mcLoaded._alpha = 0; for(var i in scope.oProp){ mcLoaded[i] = scope.oProp[i]; } if(mcLoaded._name == 'mcholder3_0'){ scope.start(); } } } private function deleteEmptyArrayValue(a:Array):Array{ for (var i:Number = 0; i<a.length;i++){ if(a[i] == undefined || a[i] == ''){ a.splice(i,1); } } return a; } //start slideshow public function start(Void):Void{ tr("SlideShow: start()") this.stop(); next(); } //pause slideshow public function pause(Void):Void{ clearInterval(nInterval); } //stop slideshow public function stop(Void):Void{ clearInterval(nInterval); isStarted = false; nCurrent = 0; } //trace public function tr () { trace (arguments.join (" : ")); } //target public function setTarget(value:MovieClip):Void{ this.mcTarget = value; } public function getTarget(Void):MovieClip{ return this.mcTarget; } //bilder public function setBilder(a:Array):Void{ tr("SlideShow: setBilder("+a+")"); this.stop(); this.aBilder = deleteEmptyArrayValue(a); if(aBilder != null && aBilder.length>=1) setup(); } public function getBilder(Void):Array{ return this.aBilder; } //seconds public function setSeconds(value:Number):Void{ this.seconds = value*1000; } public function getSeconds():Number{ return this.seconds; } //pfad public function setPath(value:String):Void{ if(value == null || value == '') value = './'; this.sPath = value; } public function getPath(Void):String{ return this.sPath; } //LoaderListener public function setProperties(value:Object):Void{ this.oProp = value; } public function getProperties(Void):Object{ return this.oProp; } } |
| |
| | #11 (permalink) |
| Neuer User Registriert seit: Jan 2005
Beiträge: 34
| der bug
hatte es hier schonmal komplett beschrieben. ich denke es ist das gleiche problem. aber ich weiß nicht wo ich was ändern soll. Slideshow mit externen Bildern springt beim zweiten aufrufen |
| |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |