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++, 就可以看到效果了:
C++与Flash的交互的更多相关文章
- flash数据交互
新随笔 联系 订阅 管理 随笔 - 14 文章 - 5 评论 - 0 安卓中webview读取html,同时嵌入Flex的SWF,交互 安卓activity与html交互很简单,用javascri ...
- mfc对话框嵌入Flash的交互(转)
原文转自 http://blog.csdn.net/yacper/article/details/5021081 研究Flash嵌入游戏中的可行性....... 渲染问题已解决 事件响应已解决 下面是 ...
- 转 Flash与PS交互动画
FLASH是可以点击体验的,不是图片哦. UI中国不能上传flash,但是站酷可以,UI中国的就下载载附件看看吧 本人学生党兼网页设计师菜鸟一名,因为无聊练习做了个FLASH的交互 所以很多学弟学妹们 ...
- Js与flash交互:在html页面中用js与MyReport插件交互
Html页面与flash的加载 如下图,flash是html页面的一个插件节点. js与flash进行交互,首先要处理好html页面和swf的加载问题. Swf调用外部js方法,要确保js方法已存在, ...
- (转)由Uploadify插件想到的Flash无法传递Session和Cookie的问题解决
在ASP.NET MVC3中使用Uploadify上传文件时发现,在后台需要验证登录状态的时候,Uploadify根本无法完成验证,因此,在后台只能使用非验证状态进行文件上传 —— 众所周知,这无异于 ...
- div层遮盖flash(兼容浏览器)
今天测试div层和flash的交互,发现div层总是被flash层遮盖,在百度上找了一会,说是加个<param name="wmode" value="transp ...
- winform 通过 html 与swf 交互 简单案例
在上一篇 winform 与 html 交互 简单案例 中讲了winform与html之间的简单交互,接下来的内容是在winform中以html为中转站,实现将swf嵌入winform中并实现交互. ...
- [转]Flash、Flex、AS3.0框架及类库资源收集之十全大补
原文地址:http://www.d5power.com/portal.php?mod=view&aid=27 APIs.Libs.Components1.as3ebaylibhttp://co ...
- FMS4.5( Adobe Flash Media Server4.5)流媒体服务器搭建
下载FMS4.5 下载地址:http://pan.baidu.com/s/1pJLi5Ur(已更新) FMS是用于用户之间相互通讯的新平台.它集成了Flash多媒体交互的特性,又添加了实时音频和实时数 ...
随机推荐
- HTML5API
H5新API 一.地理位置API 1.navigator.geolocation对象 getCurrentPosition(callback,errCallback,options)获取当前位置 wa ...
- JQuery判断一个元素下面是否有内容或者有某个标签
网站开发时,我们时常需要把没有内容的标签隐藏或者去掉.在用JQ有两种好的解决办法: 一.判断文本是否为空 var jqObj = $(this);if(jqObj.text().trim()){ // ...
- redis使用教程
一.redis 的安装 官方就是个坑:只说make一下即可用,确实可以用,我以为装好了,结果好多问题: 安装步骤:make => make test => make install 1 ...
- elasticsearch使用Analyze API
curl -XGET 'localhost:9200/index_name/_analyze?pretty&field=type_name.field_name' -d 'Robots car ...
- git 修改 本地分支名称
http://www.yiibai.com/git/git_managing_branches.html 重命名分支 假设需要在项目中添加对宽字符的支持.并且已经创建了一个新的分支,但分支名称需要重新 ...
- Flash中的注册点和中心点
用一句话概括注册点和中心点的作用,那就是:注册点用来定位,中心点用来变形 当然,这句话不是非常准确,只是暂时先这么理解,下面会详细讲解. 认识注册点 每个元件都有一个注册点.在元件编辑窗口.或在舞台中 ...
- hdu 1026(优先队列+路径输出)
Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...
- Qt笔记——数据库的图形界面
1将读取的数据通过表格的方式显示出来 #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QSqlTable ...
- 用webpy实现12306余票查询
效果
- 本人博客已经搬至SegmentFault.com
本人博客已经搬至SegmentFault.com 具体链接:http://segmentfault.com/blog/zhoutk