2011-10-27 60 views
4

我们是萨拉戈萨大学(西班牙)的研究小组。我们正在为有特殊需求(尤其是社交和认知障碍)的儿童开发教育游戏。我们用Adobe Flash CS5开发我们的游戏,所以我们足够方便使用Action Script语言。SWF本地信任沙箱和adobe air

出现的问题与Flash中的安全沙箱有关。

目前,我们正在设计一个新的教育性应用程序,其中图像和声音资源来自互联网,使用web服务通过“loader.load(new URLRequest(name))”命令。我们正在使用足够的crossdomain文件,并且在网络上发布时它工作正常。然而,现在我们正在考虑开发一个桌面教育应用程序,教育工作者将配置游戏并将他们的工作保存在本地系统文件中。这是问题出现的地方。由于Flash播放器沙箱将我们限制为“仅网络”或“仅本地文件系统”使用,因此我们无法访问Internet并同时生成本地文件。

我们不是试图制造一个闪存病毒,我们只是试图为教育工作者制作一个应用程序,其中资源来自互联网,但应用程序需要访问本地文件系统以便让教育工作者保存并加载他们在他们的磁盘上工作。

读的Adobe文档中,我们发现不同的Flash播放器沙箱: http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e3f.html

它似乎有一个沙箱,使我们能够既访问互联网和本地文件: “Security.LOCAL_TRUSTED-SWF文件是一个本地文件,并且已经被用户信任,使用设置管理器或Flash Player信任配置文件。SWF文件既可以从本地数据源读取,也可以与Internet通信。“

似乎Local_trusted SWF文件是由最终用户或安装程序设置的。由于我们打算在网上发布应用程序,教育工作者将下载应用程序,安装程序似乎是一个不错的选择,但我们无法找到有关SWF安装程序的信息。

另一方面,我们了解Adobe Air解决方案。我们知道AIR是Flash Player的替代品。它似乎足够,因为它将我们的应用程序扩展到其他环境,如android IOS(平板电脑,手机,...)。

问题是:使用AIR,我们会在我们的SWF应用程序中获得网络和本地访问吗?那最终用户呢?他/她能够从我们的网站和任何种类的AIR播放器下载SWF并以简单的方式在设备上执行我们的应用程序?最后,您认为我们正在瞄准的应用程序的最佳解决方案是什么? (请记住,我们希望继续在AS3中进行开发)

回答

0

这必须是我已经阅读了一段时间的最全面的问题。那么你已经完成了你的研究,那些可悲的是你唯一的两个选择。是的,使用AIR应用程序,您将能够从网络获取资产。

如果我正在使用AS3创建桌面应用程序,那么AIR肯定会是我构建它的首选。

+0

我们已经开始使用Air,它工作的很好!感谢你,希望不久我们会对此有几个问题,但是现在我们正在用我们的应用程序来打击道路! – jmarco

0

“仅限网络”是指您可以从代码访问用户的文件系统。您仍然可以使用“仅限网络”,并让管理员使用FileReference类将文件上传到Flash Player中,并提示他们选择一个熟悉os弹出窗口的文件。