ActionScript 学习手记之ExternalInterface的使用

    xiaoxiao2026-03-09  7

    Flash ActionScript 学习手记之ExternalInterface的使用回家之前接到来自学校软件协会的一个开发任务,要求实现.Net与Flash之间的相互操作,具体要求实现C#对flash对象(DisplayObject和DisplayObjectContainer)的操作,包括插入、删除、复制、同时还要实现对象的放大、缩小、旋转、转置,图层移动等等 现在开发基本结束,发布一下我的AS学习手记,说实话,在接到任务之前我是对flash和AS一窍不通,不过现在通了是通了一窍了,哈哈。 源代码可以参阅 http://www.lidaren.com/archives/301 Flash ActionScript 学习手记一ExternalInterface的使用,实现与C#的相互操作 flash AS使用API XML来实现与Flash控件的通信具体的格式使用如下: 外部调用Flash的方法函数 <invoke name="functionName" returntype="xml"> ??? <arguments> ??????? ... (individual argument values) ??? </arguments> </invoke> 返回结果(XML) <type></type> 支持以下类型: <null /> <true /><false /> <string></string> <number></number> <array></array> invoke节点中的属性 “name”表示访问的函数名,“RETURNType”表示返回结果 类型,目前AS3支持Byte, XML和JSON argument节点表示输入参数,可以是一个或者多个,必须与被调函数的参数列表相同 以下是Flash与C#交互的demo Flash ActionScript: import flash.external.ExternalInterface;//调用C#函数//flash2Csharp函数名,参数"test"ExternalInterface.call ("flash2Csharp", "test");//注册C# 回调函数//Csharp2flash函数名ExternalInterface.addCallback ("Csharp2flash",Csharp2flash);//注册函数function Csharp2flash (s:String){ trace(s);} C#部分 public class Form1 : Form{ //... .... //... private AxShockwaveFlashObjects flash = new AxShockwaveFlashObjects(); private void Form1_Load(object sender, EventArgs e) { flash.Movie = "test.swf"; //设置flash控件的播放文件 flash.FlashCall += new AxShockwaveFlashObjects ._IShockwaveFlashEvents_FlashCallEventHandler(flash_FlashCall); //添加flashcall事件 this.CallFlash(); } //flashCall,flash调用C#中的函数 private void flash_FlashCall (object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e) { XmlDocument xml = new XmlDocument(); xml.LoadXml(e.request); XmlNodeList list = doc.GetElementsByTagName("arguments"); string s = list[0].ChildNodes[0].InnerText.ToString(); //解析XML this.flash2Csharp(s); } private void CallFlash() { //C#调用Flash flash.CallFunction("test"); } private void flash2Csharp(string s) { MessageBox.Show(s); }} 其他内容可以参阅Adobe的示例: http://www.adobe.com/go/learn_programmingAS3samples_flash_cn -------------------------------------------------------------------------------------- - 版权声明: - 如在本页面内无特别说明,本文内容均为[李大仁博客]原创,本文版权归[李大仁博客]所有。 - 欢迎转载,转载请务必在文章页面明显位置提供原文链接并注明出处。欢迎您在转载本文时保留本段声明。 - 文章标题: Flash ActionScript 学习手记之ExternalInterface的使用 - 独立博客: 李大仁博客 - 永久链接:http://www.lidaren.com/archives/304 -------------------------------------------------------------------------------------- 以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。
    转载请注明原文地址: https://ju.6miu.com/read-1307765.html
    最新回复(0)