[ novi__flash @ 21.05.2004. 19:07 ] @
Pozdrav ekipi. Kako ugraditi buttone u gotov slideshow, recimo u onakav na adresi http://whatdoiknow.org/archives/001629.shtml odnosno na koja mjesta u kodu dodati evente itd. A usput i kako centrirati slike na sredinu scene. A evo i koda: /****************************/ /* Crossfading slide show */ /* Author: Todd Dominey */ /* http://whatdoiknow.org */ /* http://domineydesign.com */ /****************************/ // stage alteration Stage.scaleMode="noScale"; Stage.align="LT"; // set random # variables - each must be 0 for first 'while' loop below var randomNum = 0; var randomNumLast = 0; // movie clip containers this.createEmptyMovieClip("loader1_mc",2,{_x:0,_y:0}); this.createEmptyMovieClip("loader2_mc",1,{_x:0,_y:0}); // 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); 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++; } imageArray.reverse(); imageGen(imageArray); } else { trace('problem'); } } // depth swapping function swapPlace(clip,num) { eval(clip).swapDepths(eval("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("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("loader2_mc",1); thisLoader.alpha(_global.fadeTime,100); 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); } 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(); |