A Flash Developer Resource Site

Results 1 to 1 of 1

Thread: Help with adding a pause button to xml slideshow please

  1. #1
    Senior Member
    Join Date
    Feb 2001
    Location
    MD
    Posts
    107

    Help with adding a pause button to xml slideshow please

    Hi,
    I also posted this in the actionscript forum, but if that is redundant I can deletethis one. I am trying to add in a "pause" and then a "play" button to this xml slideshow that was posted on this site in the forums. Could someone please help with this? Currently the actionscript just loads, and then pauses and plays each image. I need to add a button so someone can pause on an image they want to look at, and then have a "resume" or "play" button that will resume the slideshow where it was paused.

    I will post both the actionscript and the FLA. Could someone help? thanks!

    Code:
    // set random # variables - each must be 0 for first 'while' loop below
    var randomNum = 0;
    var randomNumLast = 0;
    
    // parent container
    var container_mc = this.createEmptyMovieClip("container",0);
    // movie clip containers
    container_mc.createEmptyMovieClip("loader1_mc",2);
    container_mc.createEmptyMovieClip("loader2_mc",1);
    
    // preload watcher
    this.createEmptyMovieClip("watcher_mc",100);
    
    // load xml
    images_xml = new XML();
    images_xml.ignoreWhite=true;
    images_xml.onLoad = parse;
    images_xml.load("images.xml");
    
    function parse(success) {
    	if (success) {
    		imageArray = new Array();
    		var root = this.firstChild;
    		_global.numPause = Number(this.firstChild.attributes.timer * 1000);
    		_global.order = this.firstChild.attributes.order;
    		_global.looping = this.firstChild.attributes.looping;
    		_global.fadetime = Number(this.firstChild.attributes.fadetime);
    		_global.xpos = Number(this.firstChild.attributes.xpos);
    		_global.ypos = Number(this.firstChild.attributes.ypos);
    		var imageNode = root.lastChild;
    		var s=0;
    		while (imageNode.nodeName != null) {
    			imageData = new Object;
    			imageData.path = imageNode.attributes.path;
    			imageArray[s]=imageData;
    			imageNode = imageNode.previousSibling;
    			s++;
    		}
    		// place parent container
    		container_mc._x = _global.xpos;
    		container_mc._y = _global.ypos;
    		// parse array
    		imageArray.reverse();
    		imageGen(imageArray);
    	} else {
    		trace('problem');
    	}
    }
    
    // depth swapping
    function swapPlace(clip,num) {
    	eval(clip).swapDepths(eval("container_mc.loader"+num+"_mc"));
    }
    
    function loadImages(data,num) {
    	if (i==undefined || i == 2) {
    		i=2;
    		createLoader(i,data,num);
    		i=1;
    	} else if (i==1) {
    		createLoader(i,data,num);
    		i=2;
    	}
    }
    function createLoader(i,data,num) {
    	thisLoader=eval("container_mc.loader"+i+"_mc");
    	thisLoader._alpha=0;
    	thisLoader.loadMovie(data[num].path);
    	watcher_mc.onEnterFrame=function () {
    		var picLoaded = thisLoader.getBytesLoaded();
    		var picBytes = thisLoader.getBytesTotal();
    		if (isNaN(picBytes) || picBytes < 4) {
    			return;
    		}
    		if (picLoaded / picBytes >= 1) {
    			swapPlace("container_mc.loader2_mc",1);
    			alphaTween = new mx.transitions.Tween(thisLoader, "_alpha", mx.transitions.easing.Regular.easeOut,0,100,_global.fadetime,true);
    			timerInterval = setInterval(imageGen,_global.numPause,data);
    			delete this.onEnterFrame;
    		}
    	}
    }
    function imageGen(data) {
    	// random, or sequential?
    	if (_global.order=="random") {
    		// choose random # between 0 and total number of images
    		while (randomNum == randomNumLast) {
    			randomNum = Math.floor(Math.random() * data.length);
    			trace(randomNum);
    		}
    		loadImages(data,randomNum);
    		randomNumLast = randomNum;
    	} else if (_global.order=="sequential") {
    		// start at 0, increment to total number of images, then drop back to zero when done
    		if (p==undefined || p==data.length && _global.looping=="yes") { p=0; } else { break; }
    		loadImages(data,p);
    		p++;
    	} else {
    		trace ("order attribute in xml isn't correct - must specify either 'random' or 'sequential'");
    	}
    	clearInterval(timerInterval);
    }
    stop();
    Attached Files Attached Files
    Nick

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center