Flash 中如何用AS3导入swf格式的文件做Flash文件动态背景

Flash 中如何用AS3导入swf格式的文件做Flash文件动态背景,第1张

首先:怎么导入swf
你 看了AIP 就会发现:①URLLoader 类以文本、XML、二进制数据或 URL 编码变量的形式从 URL 下载数据②Loader 类可用于加载 SWF 文件或图像(JPG、PNG 或 GIF)文件。~~~~~~于是乎 就是用Loader 类 加载swf
import flashdisplayLoader;
import flashnetURLRequest;
var loader:Loader=new Loader();
loaderload(new URLRequest("北飘草祝大家新年快乐swf"));
addChild( loader);// 将这个东东添加进去,如果你没写这个就只有声音但你却看不到。哈哈
问题②:设置它跟随舞台大小改变而改变。
在查看API你要会发现 原来有个StageScaleMode 这个类有四个常量:①EXACT_FIT 指定整个应用程序在指定区域中可见,但不尝试保持原始高宽比。②NO_BORDER : 指定整个应用程序填满指定区域,不会发生扭曲,但有可能会进行一些裁切,同时保持应用程序的原始高宽比。③、、④。。
还有个StageAlign 有8个常量:①BOTTOM : 指定舞台靠底部对齐。②BOTTOM_LEFT 指定舞台靠左下角对。齐。③。。 ④。。⑤。。。。。 于是乎 你就知道答案了 哈哈
import flashdisplayStageScaleMode;
import flashdisplayStageAlign;
stagealign=StageAlignTOP;// 顶部
stagescaleMode= StageScaleModeSHOW_ALL;// flash播放器就全屏
好了将上面的代码放在一起就是你要的答案了,你自己调下属性 自己改哈。。。
北飘草 2011 /1 /28 2:04

之前AS20的时候,把制作好的加载条放在舞台上,在自身写上加载代码即可加载本身了, 现在AS30和AS20不一样,而是采取loaderInfor这个类来进行加载,代码如下: rootloaderInfoaddEventListener(EventCOMPLETE,on_com) rootloaderInfoaddEventListener(ProgressEventPROGRESS,on_ing) function on_com(e:Event):void{ //加载结束 play() } function on_ing(e:ProgressEvent):void{ //加载过程中 var i:int=100ebytesLoaded/ebytesTotal trace(i+"%") }

比如说你的按钮叫 play_btn 。
需要先建一个图层和一个空白的影片剪辑,并且把这个影片剪辑放到图层上,实例名为SwfMc,在建一个名为AS的图层,用来写代码。
var Movie_Ldr:Loader=new Loader();
play_btnaddEventListener(MouseEventCLICK,loadHandler);
function loadHandler(event:Event):void {
Movie_LdrunloadAndStop();
var URLstr:String="这里面写上swf文件的地址";
var req:URLRequest=new URLRequest(URLstr);
Movie_Ldrload(req);
Movie_LdrcontentLoaderInfoaddEventListener(EventCOMPLETE,onCOMPLETE);
}
function onCOMPLETE(evt:Event):void {
if (SwfMcnumChildren>0) {
SwfMcremoveChildAt(0);
}
SwfMcaddChild(Movie_Ldr);
//下面还可以对它的其他属性进行调整,如下
SwfMcx=0;
SwfMcy=0;
}
//////////////over
我又测试了一下,没有任何问题。
是不是你那个地方弄错了,或是其他笔误。

import flashdisplayLoader;
import flashdisplayLoaderInfo;
import flashdisplayMovieClip;
import flasheventsEvent;
var loader:Loader =new Loader();
loaderloaderInfoaddEventListener(EventCOMPLETE, onLoaderCompleteHandel);
function onLoaderCompleteHandel(evt:Event):void
{
btn = (evttarget as LoaderInfo)content as MovieClip;

addChild(btn);
}
希望对你有帮助,还有不明白的,请追问

两种方法:
一:为加外SWF文件广播一个事件,在其播放完之后加,比如:
dispatcherEvent(new Event("over"));
然后再load之后,侦听这个事件,一旦侦听到,说明就播放完了,我做的一些项目就是这么做的,但如果这个swf文件不是你做的,或者没有源文件,就不能用这个方法了
二:可以获取加载的swf文件的totalFrames,然后再判断,如:
currentFrame==totalFrames


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10325394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存