flex:加载本地flash文件

时间:2009-12-06 18:28:09

标签: flex flash

我对flex 3很新,但到目前为止真的很酷。 我已经嵌入了2个mxml组件,谢谢你们, 当我尝试使用SWFLoader对象加载swf文件时,现在位于屏幕的中心 我收到以下错误:

  

错误#2044:未处理的securityError:。 text =错误#2140:安全性   沙箱违规:   文件:/// C:/Users/ufk/Documents/Flex%20Builder%203/GamePage/bin-debug/GamePage.swf   无法加载   文件:/// C:/Users/ufk/Documents/Flex%20Builder%203/GamePage/bin-debug/crazy_counting.swf。   无法加载带文件的本地系统和带网络的本地SWF文件   彼此。

代码:

<?xml version="1.0" encoding="utf-8"?>
   <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundGradientColors="[0xFFFFFF,0xAAAAAA]" xmlns:local="*">
    <local:AchievementsVBox x="0" y="0" height="531"/>
        <mx:SWFLoader id="game_swf" source="crazy_counting.swf" x="198" y="0" width="721" height="531"/>
    <local:LiveScoringSystemVBox x="918" y="0" height="531" width="218"/> </mx:Application>

4 个答案:

答案 0 :(得分:2)

转到Project/Properties/Flex Compiler/Additional compiler arguments并确保两个SWF都使用-use-network=false标志进行编译。如果其中一个SWF可以与网络通信,则无法将本地SWF加载到其中(反之亦然)。

答案 1 :(得分:0)

Flash有许多安全限制可阻止恶意代码在您的计算机上运行。

如您所知,这个特殊情况很好,请尝试访问Flash安全页面并将您的URL添加到bin-debug文件夹中。 应该停止显示错误消息,并且应该加载swf。

答案 2 :(得分:0)

你可以让swf本地信任,然后它应该加载。

答案 3 :(得分:0)

使用SWFLoader,我可以将源声明为source =“@ Embed(source ='file.swf')” 通过使用Embed,我能够加载本地文件而无需更改编译标志,因为swf文件实际上已编译到flex应用程序中而未动态加载。

我仍然喜欢使用use-network = false,因为我需要动态加载文件,但如果有人需要,它只是另一个答案。