flash 和 c#通信

要实现flash与其他应用程序通信首先必需要了解flash中fscommand函数,格式为:

fscommand函数可以使 SWF 文件与 Flash Player 或承载 Flash Player 的程序(如 Web 浏览器)进行通讯。还可以使用

   那么怎样实现flash与C#或者是其他应用程序的通信呢,这里我以C#为例:

首先在flash创建一个按钮,并命名为flashToCBtn,在创建一个动态文本框,命名为flashFromCTxt,然后在第一侦添加如下代码:

flashToCBnt.onRelease=function()
{
    fscommand("cmd","hello C#");

}
到这里flash已经完成了,下面就是C#了:

打开vs新建一个C#的项目,在窗体上添加一个axShockwaveFlashObject的控件,将他的影片URL指向你刚刚发布的flash,然后再该控件的FSCommand事件上添加如下代码:

if (e.command == "cmd")
            {
                 MessageBox.Show(e.args.ToString());
            }

测试项目,在单击flashToCBtn按钮,将弹出"hello C#";你还可以在C#中通过阿axShockwaveFlash1.SetVariable来控制flash中的影片或者是变量的值。

Flash发送到C# :

在Flash中设计一个按钮,事件为:

btn.onRelease = function() {

     fscommand("Send Action", "www.an86.net");

};

在c#中插入Shockwave Flash Object 对象 movie的属性就是Flash[SWF]影片的地址。

在Shockwave Flash Object 的 FSCommand 事件中插入:

if(e.command == "Send Action")

{

     MessageBox.Show("调用FLASH按钮事件成功 "+e.args) ;

}

解释:   从Flash中发送函数 Send Action 另加一个参数 txt 到 C#中!

     而在C#中的 FSCommand 事件中判断 所发送的 函数名:

         if(e.command == "Send Action")

     如果要获取参数 e.args 就是 txt 的参数值!

C#发送到Flash :

在c#中放入一个按钮,事件:

private void button1_Click(object sender, System.EventArgs e)

{

     string flashData = "一二三四五六七";

     axShockwaveFlash1.SetVariable("txt",flashData);

}

而在Flash中就写两句代码就可以了:

var mo:Object=new Object();

mo.watch("txt");

这时在Flash中声明了一个娈量 txt 值为 "一二三四五六七"

就被这两句代码给接收了!

你可以再Flash中多添加一个按钮 trace(txt) 试试!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值