原文转自 http://blog.csdn.net/yacper/article/details/5021081

研究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中看到了

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++中添加调用:

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

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

9、上面部分是转载的,在使用Shockwaveflash开发项目时,遇到过一个问题:带有Shockwaveflash的项目在一部分Win7系统上可正常运行,但是在有的Win7系统上运行会直接崩溃,如下:

该问题的解决方案:安装Adobe Flash Player

mfc对话框嵌入Flash的交互(转)的更多相关文章

  1. MFC中使用FLASH

    一.准备工作 第一步:下载并安装Adobe Flash Player. 从官方网站(http://get.adobe.com/cn/flashplayer/)上下载最新的Flash Player(大约 ...

  2. MFC中使用FLASH相关

    出自http://my.oschina.net/ypimgt/blog/62573 一.准备工作 第一步:下载并安装Adobe Flash Player. 从官方网站(http://get.adobe ...

  3. 【转】MFC对话框和控件

    原文网址:http://www.cnblogs.com/tiwlin/archive/2013/05/08/3067966.html 对话框和控件 对话框是Windows应用程序中一种常用的资源,其主 ...

  4. MFC对话框和控件

    对话框和控件 对话框是Windows应用程序中一种常用的资源,其主要功能是输出信息和接收用户的输入数据.控件是嵌入在对话框中或其它父窗口中的一个特殊的小窗口,它用于完成不同的输入.输出功能.对话框与控 ...

  5. flash数据交互

    新随笔 联系 订阅 管理 随笔 - 14  文章 - 5  评论 - 0 安卓中webview读取html,同时嵌入Flex的SWF,交互 安卓activity与html交互很简单,用javascri ...

  6. MFC 与Excel文件的交互操作

    假日快要结束了.带着沉重的心情写下之前关于MFC与Excel文件交互的总结. 因为VS的版本号不同可能在操作上有些差异.所以在此指明下本篇文章的project环境为VS2013,也建议大家用最新的. ...

  7. 在c++MFC下用PCL显示操作点云文件 MFC对话框显示操作PCL点云

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/13115873.html 第一步 下载PCL库  我的版本是1.8.1的 你都要MFC下跑PCL ...

  8. MFC对话框显示BMP图片

    1.MFC对话框显示BMP图片我们先从简单的开始吧.先分一个类: (一) 非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) (二) 动态载入图片(即只需要在程序中指定图片的路径即可载入) ...

  9. MFC对话框中使用CHtmlEditCtrl

    MFC对话框中使用CHtmlEditCtrl 感谢原帖作者: http://blog.csdn.net/tingya/article/details/2028172 我在VS2008校正了一些代码. ...

随机推荐

  1. C#MySQL增删改查

    首先在项目中添加引用 using MySql.Data.MySqlClient; 连接字符串  private string connString="server=localhost;use ...

  2. Python学习笔记5(函数)

    [摘要]本文详细介绍python中的函数,以及与之相关的参数和作用域的概念,并介绍递归的概念以及在程序中的应用. 函数定义 定义函数要用函数定义语句def.如下: def hello(name): r ...

  3. composer安装laravel-u-editor及其使用

    前言  使用的框架是laravel5.1,是composer搭建的,可以直接配置composer,如果不是composer搭建的larave,需要先安装composer,具体安装发放可以参考compo ...

  4. stm32之Cortex系统定时器(SysTick)

    转载自:http://www.21ic.com/app/mcu/201811/781135.htm   SysTick时钟,俗称“嘀嗒定时器”,它能按设定的时间产生一次中断.控制工程代码中随处可见形如 ...

  5. UVa - 1593 Unix ls(STL)

    给你一堆文件名,排序后按列优先的方式左对齐输出. 假设最长文件名长度是M,那么每一列都要有M+2字符,最后一列有M字符. inmanip真NB..orz #include <iostream&g ...

  6. Python中的并发

    目录 Python并发 并发三种层次 协程 生成者消费者 新关键字 网络io 线/进程 例子 线程池 进程通信 并发池 future对象 executor对象 参考 Python并发 并发三种层次 个 ...

  7. luogu3469 [POI2008]BLO-Blockade

    #include <iostream> #include <cstring> #include <cstdio> using namespace std; type ...

  8. Linux进程间通信(IPC)

    linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的.而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间 ...

  9. 【NOIP2017】逛公园 拆点最短路+拓扑(记忆化搜索

    题目描述 策策同学特别喜欢逛公园.公园可以看成一张N个点M条边构成的有向图,且没有 自环和重边.其中1号点是公园的入口,N号点是公园的出口,每条边有一个非负权值, 代表策策经过这条边所要花的时间. 策 ...

  10. jquery源码区块