这是为某MM制作的flash相册,点预览小图后开始图片切换,由于单张大图片都很大,如果网速一慢,就会非常的不顺畅,有时候不等图片100%加载完毕就跳到下一幅图片了,看起来很生硬.现在要求等每张图片100%加载完毕才开始切换效果(拉窗帘的效果),请大家帮看一下,问题出在哪里?
这是程序代码(as2.0):
http://www.68fish.cn/yoko/flash/复制内容到剪贴板
代码:
stop();
//初始化变量
var speed:Number = 1;
var speed2:Number = 10;
var speed3:Number = 5;
var k:Number = 0;
var k2:Number = 0;
var n:Number = 0;
var n_a:Number = 0;
var n_b:Number = 0;
var temp1:Number = 0;
var temp2:Number = 0;
var temp3:Number = 0;
aa_mc.stop();
mask1.stop();
line_mc._x = 560;
line_mc._y = 270;
hua_mc._y = 361.5;
t_mc._y = 83.35;
logo_mc._y = 16;
screen._x = 315;
screen._y = 28;
screen2._x = 315;
screen2._y = 28;
screen._visible = false;
p_txt = "photo by YOKO";
bfb_txt = "";
//透明设置
for (i=1; i<=25; i++) {
_root["s"+i+"_mc"]._alpha = 0;
}
for (i=1; i<=25; i++) {
_root["s"+i+"_mc"].onRollOver = function() {
this._alpha = 100;
sound.gotoAndStop(2);
};
}
for (i=1; i<=25; i++) {
_root["s"+i+"_mc"].onRollOut = function() {
this._alpha = 70;
sound.gotoAndStop(1);
};
}
//tm函数定义
function tm(i:Number, speed:Number) {
_root["s"+i+"_mc"].onEnterFrame = function() {
j = i-1;
if (i<=25 && i>0 && _root["s"+j+"_mc"]._alpha>=40) {
if (this._alpha<70) {
this._alpha += (70-this._alpha)/speed;
}
}
};
}
_root.s1_mc.onEnterFrame = function() {
if (this._alpha<70) {
this._alpha += (70-this._alpha)/speed;
}
};
cc = function () {
tm(2,speed3);
tm(3,speed3);
tm(4,speed3);
tm(5,speed3);
tm(6,speed3);
tm(7,speed3);
tm(8,speed3);
tm(9,speed3);
tm(10,speed3);
tm(11,speed3);
tm(12,speed3);
tm(13,speed3);
tm(14,speed3);
tm(15,speed3);
tm(16,speed3);
tm(17,speed3);
tm(18,speed3);
tm(19,speed3);
tm(20,speed3);
tm(21,speed3);
tm(22,speed3);
tm(23,speed3);
tm(24,speed3);
tm(25,speed3);
};
cc();
for (i=1; i<=25; i++) {
_root["s"+i+"_mc"].onRelease = function() {
screen._alpha = 110;
aa_mc.play();
screen._visible = true;
click = this._name.substring(1);
if (click.length == 4) {
str = click.substr(0, 1);
} else {
str = click.substr(0, 2);
}
k = int(str);
p_txt = "photo"+str;
for (i=1; i<=25; i++) {
_root["s"+i+"_mc"]._visible = false;
}
screen.unloadMovie();
screen.loadMovie("photo/"+click+".png");
xx();
};
}
function xx() {
temp1 = 0;
temp2 = 0;
temp3 = 0;
_root.onEnterFrame = function() {
temp1 = screen.getBytesLoaded();
temp2 = screen.getBytesTotal();
temp3 = Math.round(temp1/temp2*100);
bfb_txt = temp3+"%";
if (bfb_txt == "100%") {
bfb_txt = "";
}
if (temp3>=100 && n == 0) {
bfb_txt = "";
mask1.gotoAndPlay(2);
yun_mc.gotoAndPlay(1);
n = 1;
}
};
}
function aa() {
temp1 = 0;
temp2 = 0;
temp3 = 0;
_root.n_a = 0;
_root.screen._visible = true;
k += 1;
if (k>25) {
k = 1;
}
_root.p_txt = "photo"+k;
_root.screen.unloadMovie();
_root.screen.loadMovie("photo/"+k+"_mc.png");
delete _root.onEnterFrame;
_root.onEnterFrame = function() {
temp1 = _root.screen.getBytesLoaded();
temp2 = _root.screen.getBytesTotal();
temp3 = Math.round(temp1/temp2*100);
_root.bfb_txt = temp3+"%";
if (_root.bfb_txt == "100%") {
_root.bfb_txt = "";
}
if (temp3>=100 && _root.n_a == 0) {
_root.bfb_txt = "";
_root.mask1.gotoAndPlay(2);
_root.yun_mc.gotoAndPlay(1);
_root.n_a = 1;
}
};
}
function bb() {
temp1 = 0;
temp2 = 0;
temp3 = 0;
_root.n_b = 0;
_root.screen2._visible = true;
mydate = new Date();
k2 = int(mydate.getSeconds()/25+1);
k2++;
if (k2>25) {
k2 = 1;
}
_root.p_txt = "photo"+k2;
_root.screen2.unloadMovie();
_root.screen2.loadMovie("photo/"+k2+"_mc.png");
delete _root.onEnterFrame;
_root.onEnterFrame = function() {
temp1 = _root.screen2.getBytesLoaded();
temp2 = _root.screen2.getBytesTotal();
temp3 = Math.round(temp1/temp2*100);
_root.bfb_txt = temp3+"%";
if (_root.bfb_txt == "100%") {
_root.bfb_txt = "";
}
if (temp3>=100 && _root.n_b == 0) {
_root.bfb_txt = "";
_root.mask1.gotoAndPlay(336);
_root.yun_mc.gotoAndPlay(1);
_root.n_b = 1;
}
};
}
// 返回控制
back_mc.onRelease = function() {
delete _root.onEnterFrame;
for (i=1; i<=25; i++) {
_root["s"+i+"_mc"]._visible = true;
}
for (i=1; i<=25; i++) {
_root["s"+i+"_mc"]._alpha = 0;
}
cc();
screen.unloadMovie();
screen2.unloadMovie();
screen._visible = false;
screen2._visible = false;
aa_mc.stop();
mask1.gotoAndStop(1);
p_txt = "photo by YOKO";
bfb_txt = " ";
n = 0;
n_a = 0;
n_b = 0;
};
back_mc.onRollOver = function() {
this.gotoAndPlay(2);
};
back_mc.onRollOut = function() {
this.gotoAndPlay(8);
};
//背景切换
bg1_mc._alpha = 50;
bg2_mc._alpha = 50;
bg3_mc._alpha = 50;
bg4_mc._alpha = 50;
bg1_mc.onRollOver = function() {
this._alpha = 110;
sound.gotoAndStop(2);
};
bg1_mc.onRollOut = function() {
this._alpha = 50;
sound.gotoAndStop(1);
};
bg2_mc.onRollOver = function() {
this._alpha = 110;
sound.gotoAndStop(2);
};
bg2_mc.onRollOut = function() {
this._alpha = 50;
sound.gotoAndStop(1);
};
bg3_mc.onRollOver = function() {
this._alpha = 110;
sound.gotoAndStop(2);
};
bg3_mc.onRollOut = function() {
this._alpha = 50;
sound.gotoAndStop(1);
};
bg1_mc.onRelease = function() {
bg_mc.unloadMovie();
hua_mc.onEnterFrame = function() {
this._y += (361.5-this._y)/speed2;
};
logo_mc.onEnterFrame = function() {
this._y += (16-this._y)/speed2;
};
t_mc.onEnterFrame = function() {
this._y += (83.35-this._y)/speed2;
};
};
bg2_mc.onRelease = function() {
bg_mc.unloadMovie();
bg_mc.loadMovie("bg1.swf",1);
hua_mc.onEnterFrame = function() {
this._y += (1000-this._y)/speed2;
};
logo_mc.onEnterFrame = function() {
this._y += (16-this._y)/speed2;
};
t_mc.onEnterFrame = function() {
this._y += (83.35-this._y)/speed2;
};
};
bg3_mc.onRelease = function() {
bg_mc.unloadMovie();
bg_mc.loadMovie("bg2.swf",1);
hua_mc.onEnterFrame = function() {
this._y += (1000-this._y)/speed2;
};
logo_mc.onEnterFrame = function() {
this._y += (530-this._y)/speed2;
};
t_mc.onEnterFrame = function() {
this._y += (520-this._y)/speed2;
};
};[
本帖最后由 gwg0517 于 2008-6-10 14:54 编辑 ]