|
其二:子文件中有自己的londing
这个写法与前面说的londing一样,只是注意一个问题就是注意路径的问题,比如这样写:
第一祯
loaded = getBytesLoaded(); total = getBytesTotal(); lts = Math.round((loaded/total)*100); wenben = lts+"%";
第二祯
if (lts == 100) { gotoAndStop(3); } else { gotoAndPlay(1); }
和前面的londing中介绍的比较,看出不同之处没有呢?仅仅是去掉了_root因为被加载后,外部SWF文件就相当于主文件中的一个MC 有了_root 就是指向主文件的_root 了,当然会显示错误。
问题三:我想在舞台上画一个屏幕,然后点击一个按钮就载入一个外部swf进行播放该怎样做呢?
那么我们就来一起做一个相册吧。当主文件载入后,单击按钮就载入一个外部swf 文件,并且都有londing显示。首先我们做好以下准备工作:(1)准备几张图片,现在我们准备7张,6个子文件一个一张,主文件用一张。(2)主文件舞台大小为了适应网页的需要,设置为770*420。子文件舞台大小设置为512*384,这样就不需要载入后控制大小了,方便些(其实我们应当这样,省去一些麻烦。
一、制作子文件。每个都用来显示图片,第一和第二祯写londing,第三祯~~二十祯根据自己的爱好做点亮度变化,以产生动感,最后一祯写上stop()。第一和第二祯的londing如下
第一祯
loaded = getBytesLoaded(); total = getBytesTotal(); lts = Math.round((loaded/total)*100); wenben = "数据下载中 "+lts+"%";
第二祯
if (lts == 100) { gotoAndPlay(3); } else { gotoAndPlay(1); }
就这样如法炮制的制作6个,分别命名为b1…..b6都发布成swf文件。保存在一个文件夹中。
二、制作主文件
第一祯用来写londing,第2祯放一些像屏幕一样的东西,和按钮,为了增加效果,放一个音乐在时间轴上。
第一祯的londing//由于前面已经说得多了,就不赘述了
stop(); i = 0; , onEnterFrame = function () { // 使用不断触发的事件 loaded = _root.getBytesLoaded(); total = _root.getBytesTotal(); var aa = Math.round((loaded/total)*100); _root.dongtai.wenbens = aa+"%"; _root.dongtai._x = 188+aa*3; _root.bb._width = aa*3; if (aa>=100) { // 检测到满足条件就跳出来,否则继续循环 _root.gotoAndStop(2); delete this.onEnterFrame; // 使用delete的目的是当完成下载后销毁onEnterFrame事件,以节约资源的消耗。 } };
第2祯的按钮上的AS
on (press) { _root.i++; if (i == 7) { i = 6; } loadMovie("b"+i+".swf", "_root.mc"); _root.tishi = "第"+i+"张图片"; }
偷点懒,就不详细的赘述其含义, 我们也可以用很长的语句来实现相同的效果,这种写法是对AS的一种浓缩。
具体情况请参看原文件。
问题四:我想逐次载入多个外部文件,当第一个载入播放完毕后,立即载入第2个,第二个播放完毕后,立即载入第3个 ,……,直到结束。怎么办?
首先对这种提问,我们先要质问一下提问的人,这样做有什么意义? 与其这样,不如全部做到一个SWF中,因为每次调用一个外部SWF的时候,需要一定的时间来等待下载。当然,如果你想制作一个连续剧,播放完了一个后,用londing下一集的londing画面显示“正在载入下集,请稍候”那么还是可以的。
方法很简单:依照问题三的原文件,稍微修改,去掉一个按钮,用一个按钮载入第一个,然后再第一个的最后一祯放个调用主文件中的函数即可。
按钮:
on (press) { loadMovie("b1.swf", "_root.mc"); }
主文件定义的函数
function go2() { loadMovie("b2.swf", "_root.mc"); } function go3() { loadMovie("b3.swf", "_root.mc"); } function go4() { loadMovie("b4.swf", "_root.mc"); } function go5() { loadMovie("b5.swf", "_root.mc"); } function go6() { loadMovie("b6.swf", "_root.mc"); }
第一个b1 SWF的最后一祯_root. go2(),第二个外部SWF的最后一祯 _root.go3()………..
上一页 [1] [2] |