【问题标题】:external swf files flash外部 swf 文件闪存
【发布时间】:2025-12-21 12:45:11
【问题描述】:

我正在尝试使用 swf 将页面链接在一起。我最初使用场景,但我听到 swf r 更好,所以我需要帮助。我有 swf 加载,但主菜单不会消失。我尝试使用alpha=0;,但效果不佳。

代码:

vid1_btn.addEventListener(MouseEvent.CLICK, nextPage);

//Create a function for the button click
function nextPage(ev:MouseEvent):void
{
var request:URLRequest = new URLRequest("page1.swf");
var loader:Loader = new Loader()
loader.load(request);
addChild(loader);

//this.background_mc.alpha = 0;
}

【问题讨论】:

  • 怎么样 menu.visible = false; ?
  • 不,我收到了未定义的错误,swf 代码会加载其他页面,例如后退按钮等。这让我很沮丧!
  • 好吧,您必须提供有关您的项目结构的更多信息 - 菜单在哪里加载到什么 - 现在我们只能猜测:)
  • 我有一个名为 mainmenu.swf 的主菜单,在这里您可以打开一个 srcoll,通过按钮将您带到其他页面。但是,当我使用上面的代码转到 page1.swf 时,它会加载音频,但它位于 mainmenu.swf 后面。
  • 并且 mainmenu.swf 以相同的方式加载到主 SWF 或 mainmenu.swf 是加载其他页面的那个? - 在你将在评论中回答之前 - 停止。编辑您的问题并添加更多详细信息,以便有人可以帮助您,好吗?

标签: actionscript-3 linker flash external


【解决方案1】:

你可以试试 addChildAt(loader, 0); 如果你的菜单只在那里。

或者您可以通过以下方式设置此加载程序下载 装载机.y = 100; 如果您的菜单位于屏幕顶部。

【讨论】:

    【解决方案2】:

    首先,你的代码应该是这样的:

    function nextPage(ev:MouseEvent):void
    {
    var request:URLRequest = new URLRequest("page1.swf");
    var loader:Loader = new Loader()
    loader.load(request);
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded);
    
    //this.background_mc.alpha = 0;
    }
    function swfLoaded(e:Event){
    addChild(e.target.content); /* or e.target, i'm not sure*/
    }
    

    【讨论】: