hanyeah 专注于AS

air for desktop结合c++开发

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++下的共享内存实现

2015年3月4日 | 发布:hanyeah | 分类:air相关 | 评论:0

发表留言: