flash提供的air for desktop可以开发桌面应用,flash本身不能实现的功能可以通过ane来完成。也就是说,可以直接用flash做windows应用程序。
目前公司实际项目中几乎都会有的功能:全屏且置顶、3d显示(用ogre)、硬件交互。
全屏且置顶air本身可以实现;其余两种功能都是flash本身不能实现的,硬件交互可以用ane来实现;3d显示用ane估计是不行,用flasCC应该可以,不过不会用,而且效果效率都不好说。
我在想是否可以通过运行两个exe程序来实现,一个用air来实现,显示操作界面,3d用c++来做,通过ane中的dll文件来实现交互。
具体实现步骤:
1、用flash创建一个桌面应用,嵌入运行时,并且嵌入一个ane。(ane中有一个c++创建的dll文件)
2、用c++创建一个应用,应用初始化的时候,启动air应用。
3、c++应用可以和dll通过内存共享来实现通信。(已测试可行)
这样一来,flash创建的应用就可以和c++创建的应用进行通信了。
未解决问题:
air应用全屏之后,3d内容如何显示在最上层。同样类似于打印功能的弹出窗口能否显示?
air通过调用dll中的函数和c++通信时,是否能同步返回值?
其他未知问题。
参考:C++下的共享内存实现
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。