C#(winform)下引用flash[转帖]

前提:引用以下两个 dll
AxInterop.ShockwaveFlashObjects.dll
Interop.ShockwaveFlashObjects.dll
假如没有,可以到 flash 官方下载。
以上两个 dll ,除包含和 c# 本例要的的类和方法外,也已经继承了 flash 播放器了。
下面开始,介绍:
1>  定义一个 private  AxShockwaveFlashObjects.AxShockwaveFlash axShockwaveFlash1;
并加载某一 flash ,比如  test.swf ,(推荐直接从面板中拖出 flash ,然后设置相关属性)
this .axShockwaveFlash1.LoadMovie(0,  test.swf ) ;
2>  实现从flash 传递一些信息到C# 内部:
     主要是为flash的一些original event 加一些c# function,例如:
this .axShockwaveFlash1.FSCommand +=new AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEventHandler(axShockwaveFlash1_FSCommand)
这里的FSCommand是flash本身的一个事件,这里给他加上一个函数axShockwaveFlash1_FSCommand
private  void axShockwaveFlash1_FSCommand(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvent e)
       {
           // We only want to react if we got our command
           if (e.command == "flashMessage")
           {
              this.richTextBox1.AppendText(e.args + "/n");
           }
       }
3>  实现从C#内部传递信息给flash,直接调用flash的一个函数就可以了。
this .axShockwaveFlash1.SetVariable("CSharpMessage", "Hi Flash!");
 
要实现上面的功能,还必须在flash里面写代码
/
// C-Sharp-Message-Broadcaster
// bcCSharpMessage onCSharpMessage CSharpMessage 不是系统自带的
/
_root.bcCSharpMessage = function (varName, oldVal, newVal)
{
    arguments.callee.broadcastMessage("onCSharpMessage", newVal);
}
ASBroadcaster.initialize(_root.bcCSharpMessage);
 
_root.onLoad = function ()
{
    this.CSharpMessage = null;
    this.watch("CSharpMessage", this.bcCSharpMessage);
   //  这里的"CSharpMessage" 是dll里面SetVariable("CSharpMessage", "Hi Flash!");
}
 
/
// Test
/
 
// Receive from C-Sharp
obj = new Object();
obj.onCSharpMessage = function (strMessage)
{
    _root.flashoutput_txt.text += strMessage + "/n";
}
_root.bcCSharpMessage.addListener(obj);
 
 
// Send to C-Sharp
_root.buttonSend_mc.onRelease = function ()
{
    fscommand("flashMessage", "Hi C-Sharp"); 
    //fscommand  可以给c#接收
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值