Flash按钮(使用闪存按钮创建菜单页以打开SWF文件)

时间:2011-05-17 01:15:51

标签: load adobe flash cs4

每个人都过得愉快。我今天在这里寻求有关Flash CS4和ActionScript 3.0的帮助。故事开始于有一天,我的老板让我做一个关于他们即将对新开发的软件进行用户培训的快速演示。我对它充满热情和兴奋,因为我很长一段时间没有使用Flash(请注意,我没有任何ActionScript 3.0经验)。起初,一切都有点粗糙,因为我需要回忆一下如何正确使用框架来创建成功的动画。当我即将完成项目时,我的老板再次找我,并询问我是否可以在前面插入一个菜单页面,以便用户不必再重播整个事情只是为了寻找一些关于电影。所以,是的,起初我犹豫不决接受。我说它可以与Powerpoint一起使用。但她是一个完全推动者,我被迫说是的。现在我遇到了关于如何让flash按钮加载swf电影的问题。我已经尝试在网上搜索教程,但大多数时候“getUrl”和其他东西据说已经过时了。请帮忙吗?

1 个答案:

答案 0 :(得分:1)

这个答案是基于我对您的问题的解释,即:“我可以创建一个充当菜单的SWF,并根据用户在菜单中点击的内容加载不同的SWF文件吗?”。

答案当然是肯定的,以下是:

您需要了解/了解的一些事项:

  1. Loader和URLRequest类。
  2. 按钮的事件监听器。
  3. 这是加载SWF的功能:

    var loadedSWF:Loader = null;
    
    /**
     * Loads an SWF and adds it to container once complete
     * @param file The URL to the SWF to load
     * @param container The container to add the SWF to
     */
    function loadSWF(file:String, container:MovieClip=null):void
    {
        if(container == null) container = MovieClip(root);
    
        // removes the previously loaded SWF
        if(loadedSWF != null)
        {
            if(loadedSWF.parent) loadedSWF.parent.removeChild(loadedSWF);
        }
    
        var req:URLRequest = new URLRequest(file);
        loadedSWF = new Loader();
        loadedSWF.load(req);
    
        addChild(loadedSWF);
    }
    

    以下是单击按钮时如何使用此功能:

    mybutton.addEventListener(MouseEvent.CLICK, _click);
    function _click(e:MouseEvent):void
    {
        loadSWF("myfile1.swf");
    }
    

    根据评论中的问题:

    您可以使用navigateToURL()代替Loader,并在不同的页面上设置外部SWF(基本上就像网站一样)。如果您要这样做,甚至可能更有意义的是让您的主索引页面只是纯HTML并在新窗口中启动您的页面。如果您仍希望将主页作为flash,那么点击新窗口中的页面就像这样:

    button.addEventListener(MouseEvent.CLICK, _click);
    function _click(e:MouseEvent):void
    {
        var req:URLRequest = new URLRequest("somepage.html");
        navigateToURL(req, "_blank");
    }