as3中,点击按钮后局部加载另外的swf
as3中,点击按钮后局部加载另外的swf,这个as该怎么写!按钮的名称是xmgk_btn,(要保证多次点击该按钮,不会累加层,只显示加载的最近的一个swf)我找了段发现点...
as3中,点击按钮后局部加载另外的swf,这个as该怎么写!按钮的名称是xmgk_btn,(要保证多次点击该按钮,不会累加层,只显示加载的最近的一个swf)我找了段发现点击后重复!
附上代码:
function onclick(e:MouseEvent){
var picloader:Loader=new Loader();
var picfile:URLRequest=new URLRequest("xmgk.swf");
picloader.load(picfile);
picloader.contentLoaderInfo.addEventListener(Event.COMPLETE, picloaded);
picloader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,picloaderror);
}
function picloaded(e:Event){
this.addChild(e.target.loader);
}
function picloaderror(e:IOErrorEvent){
trace("lost")
}
this.xmgk_btn.addEventListener(MouseEvent.CLICK,onclick); 展开
附上代码:
function onclick(e:MouseEvent){
var picloader:Loader=new Loader();
var picfile:URLRequest=new URLRequest("xmgk.swf");
picloader.load(picfile);
picloader.contentLoaderInfo.addEventListener(Event.COMPLETE, picloaded);
picloader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,picloaderror);
}
function picloaded(e:Event){
this.addChild(e.target.loader);
}
function picloaderror(e:IOErrorEvent){
trace("lost")
}
this.xmgk_btn.addEventListener(MouseEvent.CLICK,onclick); 展开
6个回答
2011-07-03
展开全部
比如说你的按钮叫 play_btn 。
需要先建一个图层和一个空白的影片剪辑,并且把这个影片剪辑放到图层上,实例名为SwfMc,在建一个名为AS的图层,用来写代码。
var Movie_Ldr:Loader=new Loader();
play_btn.addEventListener(MouseEvent.CLICK,loadHandler);
function loadHandler(event:Event):void {
Movie_Ldr.unloadAndStop();
var URLstr:String="这里面写上swf文件的地址";
var req:URLRequest=new URLRequest(URLstr);
Movie_Ldr.load(req);
Movie_Ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,onCOMPLETE);
}
function onCOMPLETE(evt:Event):void {
if (SwfMc.numChildren>0) {
SwfMc.removeChildAt(0);
}
SwfMc.addChild(Movie_Ldr);
//下面还可以对它的其他属性进行调整,如下
SwfMc.x=0;
SwfMc.y=0;
}
//////////////over
我又测试了一下,没有任何问题。
是不是你那个地方弄错了,或是其他笔误。
另外,虚机团上产品团购,超级便宜
需要先建一个图层和一个空白的影片剪辑,并且把这个影片剪辑放到图层上,实例名为SwfMc,在建一个名为AS的图层,用来写代码。
var Movie_Ldr:Loader=new Loader();
play_btn.addEventListener(MouseEvent.CLICK,loadHandler);
function loadHandler(event:Event):void {
Movie_Ldr.unloadAndStop();
var URLstr:String="这里面写上swf文件的地址";
var req:URLRequest=new URLRequest(URLstr);
Movie_Ldr.load(req);
Movie_Ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,onCOMPLETE);
}
function onCOMPLETE(evt:Event):void {
if (SwfMc.numChildren>0) {
SwfMc.removeChildAt(0);
}
SwfMc.addChild(Movie_Ldr);
//下面还可以对它的其他属性进行调整,如下
SwfMc.x=0;
SwfMc.y=0;
}
//////////////over
我又测试了一下,没有任何问题。
是不是你那个地方弄错了,或是其他笔误。
另外,虚机团上产品团购,超级便宜
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
也许你可以换个思路,不是只显示一次,而是只加载一次,这样也提高了效率。
加个变量记录是否加载,如果已经加载,就不必再次加载。
function onclick(e:MouseEvent) {
if(!isLoaded){
var picloader:Loader=new Loader();
var picfile:URLRequest=new URLRequest("xmgk.swf");
picloader.load(picfile);
picloader.contentLoaderInfo.addEventListener(Event.COMPLETE, picloaded);
picloader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,picloaderror);
}
}
function picloaded(e:Event) {
isLoaded = true;
this.addChild(e.target.loader);
}
function picloaderror(e:IOErrorEvent) {
trace("lost");
}
var isLoaded:Boolean = false;
this.xmgk_btn.addEventListener(MouseEvent.CLICK,onclick);
加个变量记录是否加载,如果已经加载,就不必再次加载。
function onclick(e:MouseEvent) {
if(!isLoaded){
var picloader:Loader=new Loader();
var picfile:URLRequest=new URLRequest("xmgk.swf");
picloader.load(picfile);
picloader.contentLoaderInfo.addEventListener(Event.COMPLETE, picloaded);
picloader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,picloaderror);
}
}
function picloaded(e:Event) {
isLoaded = true;
this.addChild(e.target.loader);
}
function picloaderror(e:IOErrorEvent) {
trace("lost");
}
var isLoaded:Boolean = false;
this.xmgk_btn.addEventListener(MouseEvent.CLICK,onclick);
更多追问追答
追问
这样单独一个按钮可以解决,但是再点击其他按钮时上一个加载的swf不会消失,怎么去掉上一次加载的swf呢!
追答
在你这个的基础上改的话,建议把Loader作为全局变量,然后你可以通过控制Loader的可见来控制你加载对象的可见。
e.g:
function onclick(e:MouseEvent) {
if(!isLoaded){
picloader=new Loader();
var picfile:URLRequest=new URLRequest("e59eb9247f47b9ea4623e88f.jpg");
picloader.load(picfile);
picloader.contentLoaderInfo.addEventListener(Event.COMPLETE, picloaded);
picloader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,picloaderror);
}else{
picloader.visible = false;
}
}
function picloaded(e:Event) {
isLoaded = true;
this.addChild(e.target.loader);
}
function picloaderror(e:IOErrorEvent) {
trace("lost");
}
var isLoaded:Boolean = false;
var picloader:Loader;
this.xmgk_btn.addEventListener(MouseEvent.CLICK,onclick);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-07-21
展开全部
var Movie_Ldr:Loader=new Loader();
play_btn.addEventListener(MouseEvent.CLICK,loadHandler);
function loadHandler(event:Event):void {
Movie_Ldr.unloadAndStop();
var URLstr:String="这里面写上swf文件的地址";
var req:URLRequest=new URLRequest(URLstr);
Movie_Ldr.load(req);
Movie_Ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,onCOMPLETE);
}
play_btn.addEventListener(MouseEvent.CLICK,loadHandler);
function loadHandler(event:Event):void {
Movie_Ldr.unloadAndStop();
var URLstr:String="这里面写上swf文件的地址";
var req:URLRequest=new URLRequest(URLstr);
Movie_Ldr.load(req);
Movie_Ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,onCOMPLETE);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样处理:
function onclick(e:MouseEvent) {
if(!picloader){
picloader=new Loader();
picfile=new URLRequest("xmgk.swf");
picloader.contentLoaderInfo.addEventListener(Event.COMPLETE, picloaded);
picloader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,picloaderror);
}
if(picloader.content)
{
picloader.unload();
}
else
{
picloader.load(picfile);
}
}
function picloaded(e:Event) {
this.addChild(e.target.loader);
}
function picloaderror(e:IOErrorEvent) {
trace("lost");
}
var picloader:Loader;
var picfile:URLRequest;
this.xmgk_btn.addEventListener(MouseEvent.CLICK,onclick);
function onclick(e:MouseEvent) {
if(!picloader){
picloader=new Loader();
picfile=new URLRequest("xmgk.swf");
picloader.contentLoaderInfo.addEventListener(Event.COMPLETE, picloaded);
picloader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,picloaderror);
}
if(picloader.content)
{
picloader.unload();
}
else
{
picloader.load(picfile);
}
}
function picloaded(e:Event) {
this.addChild(e.target.loader);
}
function picloaderror(e:IOErrorEvent) {
trace("lost");
}
var picloader:Loader;
var picfile:URLRequest;
this.xmgk_btn.addEventListener(MouseEvent.CLICK,onclick);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
删除^^^^^^^
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询