zoukankan      html  css  js  c++  java
  • mfc对话框嵌入Flash的交互(转)

    原文转自 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

  • 相关阅读:
    接口测试基础-ddt
    接口测试基础-json.loads-json数据格式转换成字典格式
    接口测试基础-拆包
    接口测试基础-导入第三方模块和删除第三方模块
    接口测试基础-正则表达式和参数化
    接口测试基础-Exece的操作-openpyxl模块
    matlab学习
    matlab学习笔记
    SSH框架配置及Maven使用
    运筹学框架图
  • 原文地址:https://www.cnblogs.com/happykoukou/p/6077784.html
Copyright © 2011-2022 走看看