C++与Flash的交互

研究Flash嵌入游戏中的可行性.......

  • 渲染问题已解决
  • 事件响应已解决
  • 下面是C++与Flash AS的交互, 以MFC为例:

1. 新建一个MFC Dialog程序

2. 添加一个Flash控件

3. 把Flash控件添加一个变量

4. 在OnInitDialog()中添加载.swf文件

// CCppFlashDlg 消息处理程序 BOOL CCppFlashDlg::OnInitDialog() { CDialog::OnInitDialog(); // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 this->flashUI.LoadMovie(0, "C://Documents and Settings//Administrator//My Documents//My Flash//HelloWorld.swf"); return TRUE; // 除非将焦点设置到控件,否则返回 TRUE }

5. 制作一个flash, 放一个Button上去, 导出一下就可以在MFC中看到了

6. flash调用C++.

这个很简单, 在flash的那个Button组件的动作中添加脚本:

on(click) { fscommand("MsgBox", "这是flash调用c++的响应"); }

然后在MFC中添加事件响应:

void CCppFlashDlg::FSCommandShockwaveflash1(LPCTSTR command, LPCTSTR args) { // TODO: Add your message handler code here if (0 == strcmp("MsgBox", command)) { MessageBox(args); } }

7. C++调用Flash.

首先在Flash中注册回调函数:

import mx.controls.Alert; import flash.external.*; ExternalInterface.addCallback("MsgBox", this, MsgBox); function MsgBox(msg:String) { Alert.show(msg, "",Alert.OK); }

然后在C++中添加调用:

void CCppFlashDlg::OnOK() { // TODO: Add your specialized code here and/or call the base class this->flashUI.CallFunction("/ <invoke name=/"MsgBox/">/ <arguments>/ <string>这是C++调用flash的响应</string>/ </arguments>/ </invoke>"); }

另外, 还可以通过GetVariable()和SetVariable()来设置flash中定义的变量

8. 导出一下flash, 编译一下C++, 就可以看到效果了:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户2442861的专栏

Emmet for Dreamweaver:HTML/CSS代码快速编写神器

Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生。它使用仿CSS选择器的语法来生成代码,大大提高了HTML...

26420
来自专栏用户2442861的专栏

Qt学习——分割窗口QSplitter类 .

1.建立项目时基类选择QMainWindow,取消Gernerate form复选框的选中状态。

15710
来自专栏大内老A

浅谈ASP.NET的Postback

说道ASP.NET的Postback,就得说Web Page的生命周期,但是Web Page的生命周期却不是三言两语就能够说得清楚的,所以在这里单纯站的编程的角...

19290
来自专栏君赏技术博客

Jekyll-Admin-Mac-列表

接下来我们需要就是做出这个列表数据,我们可以使用 NSTableView来做出这个效果。

17310
来自专栏landv

实现用VB.Net/(C#)开发K/3 BOS 插件的真正可行方法

17810
来自专栏冰霜之地

关于IB_DESIGNABLE / IBInspectable的那些需要注意的事

IB_DESIGNABLE / IBInspectable 这两个关键字是在WWDC 2014年"What's New in Interface Builder...

18630
来自专栏chafezhou

程序员探案之被吃掉的串口数据

19940
来自专栏用户2442861的专栏

PyQt4 - 关闭最小化问题

在这个部分,我们开始学习一些PyQt4的基本功能,解释会比较详细,就像教孩子说话一样。 最简单的example     下面的示例会非常的简单,仅仅显示...

36210
来自专栏张善友的专栏

Notepad2 一个很不错的记事本

有如下特性: 1、自定义语法高亮,支持HTML, XML, CSS, JavaScript, VBScript, ASP,PHP, CSS, Perl/CGI,...

27490
来自专栏游戏杂谈

使用vbscript替换excel文件的内容

这个不能算瞎折腾,也算是被逼的没办法了。从接手webgame开始,看到那么多的excel文件被翻译为繁体,我的头就没小过。现在因为新版本的问题又得重新翻译一次...

25720

扫码关注云+社区

领取腾讯云代金券