1

我有一个 Adob​​e Flash 应用程序,它在信息亭模式下全屏运行(作为投影仪 exe),并通过简单的基于操作系统的屏幕克隆(Windows 7)镜像到第二个屏幕上。

现在有一个要求,不是简单地克隆第一个屏幕,应用程序应该在第二个屏幕上显示其他附加信息。

我天真的方法是创建两个独立的 Flash 应用程序,并让它们通过 http 代理进行通信。但是,我在 Adob​​e Flash 文档中的 API 中没有找到任何允许我将辅助应用程序全屏发送到第二台显示器的内容。

有人有想法吗?或者拥有一个应用程序(而不是两个)但宽度增加一倍是否更容易/可能?这会延伸到两个屏幕吗?

更新:下面 Ryan 提到的 LocalConnection 比 http 代理更简单,所以我走那条路。对于双屏问题,我使用了下面提到的 Flash Builder 工具。

4

2 回答 2

0

找到了解决方案。这里的这个小工具将 swfs 转换为无头可执行文件,并具有一些简洁的功能来访问文件系统并与 flash 文件交互。

http://thesz.diecru.eu/content/flash.php

fscommand("exec","app.exe"); - executes a file which is located in the fscommand subdirectory
fscommand("real_exec","app.exe"); - executes a file which is in the same directory as the executable
fscommand("set_title","Window Title"); - sets the window title
fscommand("quit",""); - exit the flash
fscommand("command","move"); on MouseEvent.MOUSE_DOWN / fscommand("command","mouse_up"); on MouseEvent.MOUSE_UP - drag the window
fscommand("command","resize"); on MouseEvent.MOUSE_DOWN / fscommand("command","mouse_up"); on MouseEvent.MOUSE_UP - resize the window
fscommand("position","save"); / fscommand("position","restore"); / fscommand("position","clear"); - save, restore and clear window position

开发人员非常友好地扩展了命令集

fscommand("position","100x200 300x400"); // position, then size (optional)
于 2012-09-21T10:55:55.103 回答
0

我相信你需要的是LocalConnection。这使两个闪存文件(我知道它适用于 swf,从未尝试过投影仪 exe 文件)进行通信、传递变量并一起工作。如果我正确理解了您的问题,那么这对您来说是理想的选择。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/LocalConnection.html

http://circlecube.com/2008/03/local-connection-actionscript-communicate-between-seperate-flash-files-tutorial/

这两个文件需要在同一台服务器上或本地同一文件夹中。从 Flash 中进行测试也不起作用,因为这两个文件随后变得相互依赖,这使得测试有点困难。就个人而言,我无法提供太多帮助,因为我只将 LC 用于非常基本的事情,例如传递变量和启动补间。希望有帮助!

于 2012-09-21T13:22:58.760 回答