【发布时间】:2011-02-10 16:22:55
【问题描述】:
我有一个播放 XML 文件中列出的 SWF 的 Flash 幻灯片。我希望在显示当前的 SWF 时加载即将到来的 SWF。我尝试了LoadMovie 和LoadMovieNum 的各种组合,包括创建一个空的影片剪辑,但有些东西我就是没有得到。
现在,在完成所有文件的第一轮之后,它在幻灯片之间平滑过渡,但我希望它预先加载,以便它在第一次没有“正在加载...”屏幕的情况下过渡.
可以在这里查看:slideshow
我应该把LoadMovie 行放在哪里来加载下一个文件(image[p+1]),它应该是什么样子?
function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
description = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
}
firstImage();
} else {
content = "file not loaded!";
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("xmlfile.xml");
/////////////////////////////////////
back_btn.onRelease = function ()
{
backImage();
};
next_btn.onRelease = function ()
{
nextImage();
};
p = 0;
function nextImage() {
if (p<(total-1)) {
p++;
trace(this);
_root.mc_loadfile.loadMovie (image[p]);
_root.movie_name.text = image[p];
next_btn._visible = true;
back_btn._visible = true;
if (getBytesLoaded() == getBytesTotal())
slideshow();
}
else if (p == (total-1)) {
p = 0;
firstImage();
}
}
function backImage() {
clearInterval(myInterval);
if (p>0) {
--p;
_root.mc_loadfile.loadMovie (image[p]);
_root.movie_name.text = image[p];
next_btn._visible = true;
if (p != 0) {
back_btn._visible = true;
}
else {
back_btn._visible = false;
}
slideshow();
}
}
我将不胜感激。
【问题讨论】:
标签: actionscript flash slideshow preload