![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
flash 载入的外部图片 如何可以做到LOADING预载?
是这样的,我做的一个动画里载入了外部的3张图片BMC01.loadMovie("1.jpg");BMC02.loadMovie("2.jpg");BMC03.loadMo...
是这样的,我做的一个动画里载入了外部的3张图片
BMC01.loadMovie("1.jpg");
BMC02.loadMovie("2.jpg");
BMC03.loadMovie("3.jpg");
可以显示
可是在LOADING里发现没有预载入这张图片,每次到这帧都要停顿读取
请问有什么方法可以预读这3张图
LOADING是这样写的:
stop ();
_root . createTextField ( "myload_txt" , 1 , 0 , 0 , 0 , 0 );
with ( _root . myload_txt ) {
background = true ;
backgroundColor = 0xFFFFFF ;
textColor = 0x999999 ;
type = "dynamic"
selectable = false ;
autoSize = "center" ;
_x = Stage.width/2;
_y = Stage.height/2;
}
onEnterFrame = function () {
var Loaded = _root . getBytesLoaded ();
var Total = _root . getBytesTotal ();
_root . myload_txt . text = Math . floor (( Loaded / Total )* 100 )+ "%" ;
if ( Loaded == Total ) {
onEnterFrame = null ;
removeMovieClip ( _root . myload_txt );
play ();
}
};
chin0102大侠,我已经发消息给你啦 展开
BMC01.loadMovie("1.jpg");
BMC02.loadMovie("2.jpg");
BMC03.loadMovie("3.jpg");
可以显示
可是在LOADING里发现没有预载入这张图片,每次到这帧都要停顿读取
请问有什么方法可以预读这3张图
LOADING是这样写的:
stop ();
_root . createTextField ( "myload_txt" , 1 , 0 , 0 , 0 , 0 );
with ( _root . myload_txt ) {
background = true ;
backgroundColor = 0xFFFFFF ;
textColor = 0x999999 ;
type = "dynamic"
selectable = false ;
autoSize = "center" ;
_x = Stage.width/2;
_y = Stage.height/2;
}
onEnterFrame = function () {
var Loaded = _root . getBytesLoaded ();
var Total = _root . getBytesTotal ();
_root . myload_txt . text = Math . floor (( Loaded / Total )* 100 )+ "%" ;
if ( Loaded == Total ) {
onEnterFrame = null ;
removeMovieClip ( _root . myload_txt );
play ();
}
};
chin0102大侠,我已经发消息给你啦 展开
3个回答
展开全部
/*看了源文件,原来如此:
在第一帧的时候,还没有loadMovie("*.jpg");
所以那些getBytesLoaded(),getBytesTotal();
当然没用了.我现在就改改
========改好了================
全部都只是代码,把你原来的全部删了,新建个fla也行,不用任何元件*/
pic = 3; //图片总数
now = 1; //最开始出现的是第几张
time = 2700; //图片切换间隔时间
pos_x = -20; //图片初始x坐标
for (var i = 1; i<=pic; i++) {
createEmptyMovieClip("BMC0"+i, i);
_root["BMC0"+i]._alpha = 0;
_root["BMC0"+i].loadMovie("ebs0"+i+"-1.jpg");
}
_root.createTextField("myload_txt", 4, 0, 0, 0, 0);
with (_root.myload_txt) {
background = true;
backgroundColor = 0xFFFFFF;
textColor = 0x999999;
type = "dynamic";
selectable = false;
autoSize = "center";
_x = Stage.width/2;
_y = Stage.height/2;
}
onEnterFrame = function () {
var loaded = 0;
var total = 0;
for (var i = 1; i<=pic; i++) {
loaded += _root["BMC0"+i].getBytesLoaded();
total += _root["BMC0"+i].getBytesTotal();
}
var per = int(loaded/total*100);
_root.myload_txt.text = per+"%";
if (per == 100) {
removeMovieClip(_root.myload_txt);
delete onEnterFrame;
changeImg();
}
};
function changeImg() {
if (my != undefined) {
trace(my);
clearInterval(my);
}
for (var i = 1; i<=pic; i++) {
_root["BMC0"+i]._alpha = 0;
_root["BMC0"+i]._x = pos_x;
}
onEnterFrame = function () {
var mc = _root["BMC0"+now];
mc._alpha = mc._alpha<100 ? mc._alpha+20 : 100;
mc._x = mc._x<0 ? mc._x+1 : 0;
if (mc._alpha>=100 & mc._alpha>=0) {
now = now == pic ? 1 : now += 1;
delete onEnterFrame;
my = setInterval(changeImg, time);
}
};
}
在第一帧的时候,还没有loadMovie("*.jpg");
所以那些getBytesLoaded(),getBytesTotal();
当然没用了.我现在就改改
========改好了================
全部都只是代码,把你原来的全部删了,新建个fla也行,不用任何元件*/
pic = 3; //图片总数
now = 1; //最开始出现的是第几张
time = 2700; //图片切换间隔时间
pos_x = -20; //图片初始x坐标
for (var i = 1; i<=pic; i++) {
createEmptyMovieClip("BMC0"+i, i);
_root["BMC0"+i]._alpha = 0;
_root["BMC0"+i].loadMovie("ebs0"+i+"-1.jpg");
}
_root.createTextField("myload_txt", 4, 0, 0, 0, 0);
with (_root.myload_txt) {
background = true;
backgroundColor = 0xFFFFFF;
textColor = 0x999999;
type = "dynamic";
selectable = false;
autoSize = "center";
_x = Stage.width/2;
_y = Stage.height/2;
}
onEnterFrame = function () {
var loaded = 0;
var total = 0;
for (var i = 1; i<=pic; i++) {
loaded += _root["BMC0"+i].getBytesLoaded();
total += _root["BMC0"+i].getBytesTotal();
}
var per = int(loaded/total*100);
_root.myload_txt.text = per+"%";
if (per == 100) {
removeMovieClip(_root.myload_txt);
delete onEnterFrame;
changeImg();
}
};
function changeImg() {
if (my != undefined) {
trace(my);
clearInterval(my);
}
for (var i = 1; i<=pic; i++) {
_root["BMC0"+i]._alpha = 0;
_root["BMC0"+i]._x = pos_x;
}
onEnterFrame = function () {
var mc = _root["BMC0"+now];
mc._alpha = mc._alpha<100 ? mc._alpha+20 : 100;
mc._x = mc._x<0 ? mc._x+1 : 0;
if (mc._alpha>=100 & mc._alpha>=0) {
now = now == pic ? 1 : now += 1;
delete onEnterFrame;
my = setInterval(changeImg, time);
}
};
}
展开全部
selectable = false ;
autoSize = "center" ;
_x = Stage.width/2;
_y = Stage.height/2;
}
onEnterFrame = function () {
var Loaded = _root . getBytesLoaded ();
var Total = _root . getBytesTotal ();
_root . myload_txt . text = Math . floor (( Loaded / Total )* 100 )+ "%" ;
if ( Loaded == Total ) {
autoSize = "center" ;
_x = Stage.width/2;
_y = Stage.height/2;
}
onEnterFrame = function () {
var Loaded = _root . getBytesLoaded ();
var Total = _root . getBytesTotal ();
_root . myload_txt . text = Math . floor (( Loaded / Total )* 100 )+ "%" ;
if ( Loaded == Total ) {
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
修改次数达到上限,重新开了个号说明一下,
上面的有个小错误:
倒数第7行(大括号也算一行) 的if语句的条件应该改成:
mc._alpha>=100 & mc._x>=0
初始值你可以自己调整下.
时间间隔:time变量的单位是毫秒, 1000毫秒=1秒
最后``如果你觉得满意,希望能追加一点分~~~呵呵
选chin0102,别选这个号
上面的有个小错误:
倒数第7行(大括号也算一行) 的if语句的条件应该改成:
mc._alpha>=100 & mc._x>=0
初始值你可以自己调整下.
时间间隔:time变量的单位是毫秒, 1000毫秒=1秒
最后``如果你觉得满意,希望能追加一点分~~~呵呵
选chin0102,别选这个号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询