我有一个移动应用程序,我试图用来加载交互式.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>
答案 0 :(得分:0)
我认为这不会起作用,因为你正在尝试加载本地swf。我认为它需要通过互联网加载,即便如此,为什么要在本地加载swf?为什么不直接打电话呢?