使用Flash作为shell加载Flex应用程序并传递URLVars?

时间:2009-05-21 13:06:20

标签: flex flash shell

我遇到了在我的flex应用程序中显示的预加载器的问题。我在开发Flash应用程序时从未遇到过这个问题,所以我想到了将flash应用程序用作shell,其唯一目的是在Flex应用程序加载时显示预加载器。我不知道如何做到这一点,我还需要能够将FlashVars从shell Flash应用程序传递到flex应用程序。有谁知道如何做到这一点?

2 个答案:

答案 0 :(得分:0)

Flex通过Application类支持预加载器,因此您不必诉诸于hack。它在Flex 3开发人员指南Ch。中有详细描述。 14(“申请容器”)。我从来没有编写过纯Flash预加载器,但我认为它与Flex有什么不同。也许他们俩发生冲突?

答案 1 :(得分:0)

我将首先与Simon达成协议,但是有办法创建你正在谈论的黑客。

不幸的是,Flex中的Application层的父层会覆盖numChildren,因此它总是返回-1。这意味着您既不能从flex访问父swf,也无法从Flash直接访问后代SWF(有趣的是,如果Flex应用程序加载Flash swf,这不是问题)。

解决这个问题:

  1. 创建自定义事件。将冒泡设置为true并将其取消为false。
  2. 在Flash图层上为该事件添加事件侦听器。
  3. 从Flex App的Application层发送。
  4. 处理该事件的函数现在可以使用事件的target属性来访问Flex App的Application层。