我对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>
答案 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,因为我需要动态加载文件,但如果有人需要,它只是另一个答案。