如何在移动Flex应用程序中加载交互式.swf?

时间:2011-06-30 19:23:59

标签: flex flash embed interactive mobile-application

我有一个移动应用程序,我试图用来加载交互式.swf文件。起初,我只是在flex中使用我的其他项目文件中的.mxml应用程序,但它们用于桌面应用程序并在Flex 3.6上运行,而移动应用程序无法在低于4.5的情况下构建:P

所以,我想我将第一个项目导出到.swf,并将其加载到我的移动应用程序中,但我没有做任何事情就会显示出来。有人知道解决方案吗?

这是代码:

<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" title="Task Graphic Novels">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <s:SWFLoader width="100%" height="100%"
                 loadForCompatibility="true"
                 id="bookLoader" enabled="false"/>
    <fx:Script>
        <![CDATA[
            import 
        ]]>
    </fx:Script>
    <s:List height="100%" width="100%">
        <s:itemRenderer>
            <fx:Component>
                <s:IconItemRenderer height="100" labelField="name" 
                                    iconField="photo" iconHeight="70" 
                                    iconWidth="54" messageFunction="getMessage">
                    <fx:Script>
                        <![CDATA[
                            import spark.components.NavigatorContent;
                            protected function getMessage(o:Object):String
                            {
                                return o.message;
                            }
                        ]]>
                    </fx:Script>
                </s:IconItemRenderer>
            </fx:Component>
        </s:itemRenderer>
        <s:dataProvider>
            <s:ArrayCollection>
                <fx:Object name="Breach an Obstacle" photo="@Embed('assets/img/sumeco/beach/title.jpg')" message=""/>
                <fx:Object name="Conduct a Raid" photo="@Embed('assets/img/sumeco/title.jpg')" message=""/>
            </s:ArrayCollection>
        </s:dataProvider>
        <s:change>
            <![CDATA[
            if(event.currentTarget.selectedItem.name == "Beach")
//here's where i'm trying to load the swf  {bookLoader.enabled=true; bookLoader.load(new U    RLRequest("assets/BookDemo.swf"));}
                else if(event.currentTarget.selectedItem.name == "Title"){}
                ]]>
            </s:change>
        </s:List>
</s:View>

1 个答案:

答案 0 :(得分:0)

我认为这不会起作用,因为你正在尝试加载本地swf。我认为它需要通过互联网加载,即便如此,为什么要在本地加载swf?为什么不直接打电话呢?