查看: 1025|回复: 2
|
auto resize 求助。
[复制链接]
|
|
各位高手,
本人在编辑FLASH ACTIONSCRIPT 时遇上了问题。想请各位帮忙。
是这样的。本人使用了AUTO RESIZE FUNTION & SETINTERVAL 来 DISPLAY 一系列的图片。 OFFLINE 时, 它是没问题的。当搬上网时, 问题就出现了。
本人的 SCRIPT 是每5秒跳下一张图片。 当般上网时, 还没 LOAD 完一张图片, 它就跳下一张。 我知道需要一个 PRELOADER 来
DETECT 每一张图片的 LOADING TIME。 但是, 我的问题是要怎么使用?
CODING 如以下。 希望各位可以给些意见。
spacing = 10;
containerMC._alpha = 0;
var pArray = new Array();
var tArray = new Array();
function slideshow() {
if (cur == 0) {
containerMC.loadPic(pArray.length-1);
} else {
containerMC.loadPic(0);
}
}
setInterval(slideshow, 2000);
MovieClip.prototype.loadPic = function(pic) {
containerMC._alpha = 0;
cur = pic;
this.loadMovie(pArray[pic]);
this._parent.onEnterFrame = function() {
var t = containerMC.getBytesTotal(), l = containerMC.getBytesLoaded();
if (t != 0 && Math.round(l/t) == 1 && containerMC._width>0) {
var w = containerMC._width+spacing, h = containerMC._height+spacing;
border.resizeMe(w, h, pic);
delete this._parent.onEnterFrame;
}
};
};
MovieClip.prototype.resizeMe = function(w, h, pic) {
var speed = 3;
this.onEnterFrame = function() {
this._width += (w-this._width)/speed;
this._height += (h-this._height)/speed;
nav._x = Math.round(this._x-this._width/2);
nav._y = Math.round(this._y+this._height/2+spacing/2);
//prevb._x = nav._x-5;
//nextb._x = nav._x+this._width+5;
//nextb._y = prevb._y=this._y-this._height/2;
//picinfo._y = nextb._y-5;
//picinfo.info.text = tArray[pic];
//picinfo._x = border._x-picinfo._width/2;
if (Math.abs(this._width-w)<1 && Math.abs(this._height-h)<1) {
this._width = w;
this._height = h;
containerMC._x = this._x-this._width/2+spacing/2;
containerMC._y = this._y-this._height/2+spacing/2;
containerMC._alpha = 100;
delete this.onEnterFrame;
}
};
};
var gallery_xml = new XML();
gallery_xml.ignoreWhite = true;
gallery_xml.onLoad = function(success) {
if (success) {
var gallery = this.firstChild;
// pathToPics = gallery.attributes.path;
for (var i = 0; i<gallery.childNodes.length; i++) {
tArray.push(gallery.childNodes.attributes.title);
pArray.push(gallery.childNodes.attributes.source);
}
loadPhoto();
} else {
title_txt.text = "Error!";
}
};
gallery_xml.load("gallery.xml");
/*prevb.onRelease = function() {
if (cur == 0) {
containerMC.loadPic(pArray.length-1);
} else {
containerMC.loadPic(cur-1);
}
};
nextb.onRelease = function() {
if (cur == pArray.length-1) {
containerMC.loadPic(0);
} else {
containerMC.loadPic(cur+1);
}
};*/ |
|
|
|
|
|
|
|
发表于 21-9-2006 07:18 PM
|
显示全部楼层
用MovieClipLoader載入圖片完畢后才使用setTimeout計算5秒后再載入下一張吧 |
|
|
|
|
|
|
|
楼主 |
发表于 22-9-2006 10:03 AM
|
显示全部楼层
|
|
|
|
|
|
| |
本周最热论坛帖子
|