我正在尝试使用Aaction Script 3在按钮单击中加载另一个swf。
我遇到的问题是它似乎只是将电影加载并混合在一起。是否可以在舞台上加载和替换新加载的swf,类似于使用loadMovieNum()
在AS2中执行此操作的方式这是我到目前为止所做的:
//Add event listener for button click
backButton.addEventListener(MouseEvent.CLICK, backButtonClick);
//Create a function for the button click
function backButtonClick(ev:MouseEvent):void
{
var request:URLRequest = new URLRequest("2.swf");
var loader:Loader = new Loader()
loader.load(request);
addChild(loader);
}
非常感谢
答案 0 :(得分:6)
像这样使用加载器:
//Add event listener for button click
var singleLoader:Loader = new Loader();
backButton.addEventListener(MouseEvent.CLICK, backButtonClick);
//Create a function for the button click
function backButtonClick(ev:MouseEvent):void
{
var request:URLRequest = new URLRequest("2.swf");
singleLoader.load(request);
addChild(loader);
}
您正在做的是为每个正在加载的新SWF创建一个新的Loader。只需使用一个加载器,每次加载内容时,都应该替换现有内容。如果没有,请像这样调整代码:
function backButtonClick(ev:MouseEvent):void
{
var request:URLRequest = new URLRequest("2.swf");
singleLoader.unloadAndStop(true);
singleLoader.load(request);
addChild(loader);
}
有关详情,请参阅文档:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html
<强>更新强>
如果您想要清除舞台上的所有内容,请参阅以下问题&amp;回答My Actionscript 3.0 Stage will not clear。