preloader og deaktivering af knap
HejTo spørgsmål:
1) Jeg har en knap, der loader et nyt movie ind, når der trykkes på den. Men jeg har fundet ud af, at hvis jeg efter første tryk, trykker hurtigt på den igen, så loader den ik' mit movie ind. Hvilket er meget irriterende.. Er der en måde hvorpå man kan deaktivere en knap, når man har trykket på den?.. Det skal siges, at når jeg trykker på knappen, så kører den en motiontween, og den skal selvf. stadigvæk fungere, så det er sådan set bare selve tryk-funktionen, som skal forsvinde ved første tryk.
2) Preloader: jeg loader et billede ind via følgende script:
choice = 0;
switch (choice) {
case 0 :
location.loadMovie("images/image0.swf");
break;
}
Men inden siden loades, skal der køre en preloader.. Men har fundet ud af, at hvis/når preloaderen har loaded færdigt, så er det ik' altid at billedet loades ind, kun knapperne.. Hvordan får jeg billedet til at loade ind også?
Den preloader, jeg benytter mig af, er den, som kan findes her:
http://www.kirupa.com/developer/mx/percentagepreloader.htm
Det samme gør sig faktisk gældende for det andet movie, som jeg loader ind, efter jeg har trykket på knappen, som jeg nævnte lige før.. Der vil jeg også gerne, at en preloader kører (hvis nødvendigt), inden selve movie'et loades ind.. I det movie loader jeg en række billeder ind via følgende:
//*** Billed-load ***//
// set random # variables - each must be 0 for first 'while' loop below
var randomNum = 0;
var randomNumLast = 0;
// parent container
var container_mc = menubg_mc.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 = -448;
container_mc._y = 58;
// 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);
}
Er der nogen, der kan hjælpe mig med dette?