C# 与flasH 开发 碰到问题随便写写

本文分享了作者在开发抽奖程序过程中,实现C#与Flash交互的经验。文章详细介绍了使用ExternalInterface进行通信的方法,并探讨了fscommand函数在Flash与宿主程序间通信的应用。

 

额 这两天继续写那个 抽奖程序。。

先是 写好了 按几等奖 几个人的 界面可以抽出来了号码于是在找了winform的皮肤界面。还不错。。

给 assistant杨看然后又给我说 没滚动的效果 看起来不好 没抽奖的刺激感。

然后再到网上找了个 滚动效果的 FLASH。。

接着找了一天终于知道了 FLASH 的编程语言 如何简单修改。。。 C#与FLASH的 简单参数通信。

FLASH中

import flash.external.ExternalInterface;

ExternalInterface.addCallback("AddLog",AddLog);

function AddLog(str:String)

{   preview(Number(str));

}

 

C#:  

  this.axShockwaveFlash1.Movie = Application.StartupPath + "//flash//main.swf";

  this.axShockwaveFlash1.CallFunction("<invoke name=/"AddLog/" returntype=/"xml/">"

            + "<arguments>"      + "<string>"   + "888888"    + "</string>"       + "</arguments>"  + "</invoke>");
        } 

然后 现在回想了下

 找了网上有说用这个

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

首先在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) ;

}

上面都可以调试成功

 

但是下面 C#到FLASH 就不知道怎么调试都不成。。。

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");

 

可能 这里 不知道 如何写 no_txt.text= ...  ;

这里no_txt就是显示不出来 传过来的 数据。。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值