
flash AS3.0 点击按钮把原先清空加载另一个swf文件 怎么弄 请高手指点
代码如下bt1.addEventListener(MouseEvent.CLICK,g1);bt2.addEventListener(MouseEvent.CLICK,g...
代码如下
bt1.addEventListener(MouseEvent.CLICK,g1);
bt2.addEventListener(MouseEvent.CLICK,g2);
function g1(event:MouseEvent)
{
bt1.visible=false;
var loader:Loader=new Loader();
loader.load(new URLRequest("01-01.swf"));
addChild(loader);
}
function g2(event:MouseEvent):void
{
bt2.visible=false;
var loader:Loader=new Loader();
loader.load(new URLRequest("02.swf"));
addChild(loader);
} 展开
bt1.addEventListener(MouseEvent.CLICK,g1);
bt2.addEventListener(MouseEvent.CLICK,g2);
function g1(event:MouseEvent)
{
bt1.visible=false;
var loader:Loader=new Loader();
loader.load(new URLRequest("01-01.swf"));
addChild(loader);
}
function g2(event:MouseEvent):void
{
bt2.visible=false;
var loader:Loader=new Loader();
loader.load(new URLRequest("02.swf"));
addChild(loader);
} 展开
4个回答
展开全部
你这个代码有问题的,你还没加载完你就加到舞台上去了。。这会出错的,正确的做法是要侦听到加载结束,你才能用addchild。你说的清空,loader是一个容器,你把里面的东西清空了,flash 就会自动回收的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
错误到不一定会出,只是没有显示,必须得等到加载到能显示的时候才会显示,而且loader的一些显示属性是不可能控制的,否则真会报错。 我的意见是这样修改脚本:
import flash.display.Sprite;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
bt1.addEventListener(MouseEvent.CLICK,g1);
bt2.addEventListener(MouseEvent.CLICK,g2);
var loadSwf:Sprite=new Sprite();
addChild(loadSwf);
//坐标自己添加,在这里默认是左上角
function g1(event:MouseEvent)
{
bt1.visible = false;
loadswf("01-01.swf");
}
function g2(event:MouseEvent):void
{
bt2.visible = false;
loadswf("02.swf");
}
function loadswf(url:String):void
{
var loader:Loader=new Loader();
loader.load(new URLRequest(url));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoader);
}
function onLoader(evt:Event):void
{
if (loadSwf.numChildren > 1)
{
loadSwf.removeChildAt(0);
}
loadSwf.addChild(evt.target.loader);
}
import flash.display.Sprite;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
bt1.addEventListener(MouseEvent.CLICK,g1);
bt2.addEventListener(MouseEvent.CLICK,g2);
var loadSwf:Sprite=new Sprite();
addChild(loadSwf);
//坐标自己添加,在这里默认是左上角
function g1(event:MouseEvent)
{
bt1.visible = false;
loadswf("01-01.swf");
}
function g2(event:MouseEvent):void
{
bt2.visible = false;
loadswf("02.swf");
}
function loadswf(url:String):void
{
var loader:Loader=new Loader();
loader.load(new URLRequest(url));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoader);
}
function onLoader(evt:Event):void
{
if (loadSwf.numChildren > 1)
{
loadSwf.removeChildAt(0);
}
loadSwf.addChild(evt.target.loader);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加点东西
var container:Sprite = new Sprite();
this.addChild(container)
......
function clear():void
{
while(container.numChildren > 0)
{
container.removeChildAt(0)
}
}
function g1()...
{
clear();
....
container.addChild(loader);
}
function g2()...
{
clear();
....
container.addChild(loader);
}
var container:Sprite = new Sprite();
this.addChild(container)
......
function clear():void
{
while(container.numChildren > 0)
{
container.removeChildAt(0)
}
}
function g1()...
{
clear();
....
container.addChild(loader);
}
function g2()...
{
clear();
....
container.addChild(loader);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
参考答案: 于是宾客无不变色离席,奋袖出臂。两股战战,几欲先走。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询