as3与c++交互

来源:互联网 发布:戴面具的网络歌手 编辑:程序博客网 时间:2024/05/20 22:30

1,在VC中建立MFC对话框
2,在OnInitDialog()函数中添加以下代码显示SWF文件
        //RECT rc;
        //this->GetClientRect(&rc);
    //m_PlayFlash.MoveWindow(&rc, true);原始大小显示
      
        //以下为全屏显示
        int   cx,cy;  
    cx   =   GetSystemMetrics(SM_CXSCREEN);  
    cy   =   GetSystemMetrics(SM_CYSCREEN);  

    CRect   rcTemp;  
    rcTemp.BottomRight()   =   CPoint(cx/2,   cy/2);  
    rcTemp.TopLeft()   =   CPoint(0,   0);  
    m_PlayFlash.MoveWindow(&rcTemp);
    MoveWindow(&rcTemp);

    TCHAR strCurDrt[500];
    int nLen = ::GetCurrentDirectory(500,strCurDrt);
    if( strCurDrt[nLen]!='//')
    {
        strCurDrt[nLen++] = '//';
        strCurDrt[nLen] = '/0';
    }

    CString strFileName = strCurDrt;
    strFileName += "scrambleweb.swf";
    m_PlayFlash.LoadMovie(0, strFileName);
    m_PlayFlash.Play();

3 在OnInitDialog()中添加
  //以下必须写在一行上
  m_PlayFlash.CallFunction("<invoke name=/"sendToActionScript/"                returntype=/"xml/"><arguments><string>Hello,Flash</string></arguments></invoke>");

4 在FLASH AS3中添加以下代码
    if (ExternalInterface.available) {
          try {
                   
        ExternalInterface.addCallback("sendToActionScript", receivedFromJavaScript);
             } catch (error:SecurityError) {
               BottomPanel.textarea.appendText(error.message); 
                 } catch (error:Error) {
           BottomPanel.textarea.appendText(error.message);
                  
                 }
          }

  和函数receivedFromJavaScript
   private function receivedFromJavaScript(value:String):void {
          //其中的value值就是从C++中得到的数据
          BottomPanel.textarea.appendText(value);
        }

 

原创粉丝点击