注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

一剪梅的博客

 
 
 

日志

 
 

actionscript 反射 actionscript教程 actio  

2010-08-25 22:26:18|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
actionscript 反射 actionscript教程 actionscript eval 为actionscript导出

    使用XML类ActionScriptXML类的方法(例如 appendChild()、removeNode() 和 insertBefore())使您可以在 Flash 中组织要发送到服务器的XML数据,并且它们还可以操作和解释下载的XML数据。
  
    下面的XML类方法使用 HTTP POST 方法将XML数据发送并加载到服务器。
  
    load() 方法从某个 URL 下载XML,并将其放在一个ActionScriptXML对象中。 send() 方法将XML对象编码为XML文档,并使用 POST 方法将其发送到指定的 URL。如果指定了浏览器窗口,该窗口将显示返回的数据。 sendAndLoad() 方法向 URL 发送XML对象。返回的任何信息都放在一个ActionScriptXML对象中。 例如,您可创建一个代理系统,在数据库中存储它的所有信息(用户名、密码、会话 ID、公文包以及事务信息)。
  
    在 Flash 和数据库之间传递信息的服务器端脚本以XML格式读写数据。可用ActionScript将 SWF 文件中收集到的信息(例如,用户名和密码)转换成一个XML对象,然后将数据作为XML文档发送到服务器端脚本。您还可以使用ActionScript将服务器返回的XML文档加载到XML对象中,以在 SWF 文件中使用该文档。
  
    [img]file:///C:/Documents%20and%20Settings/All%20Users/Application%20Data/Macromedia/Flash%208/zh_cn/Configuration/HelpPanel/Help/LearningActionScript/images/xmlFlowChart.jpg[/img]
  
    SWF 文件、服务器端脚本和数据库之间的数据流以及数据转换
  
    代理系统的密码验证需要两个脚本:一个在第 1 帧中定义的函数,以及一个在文档中创建XML对象并发送该对象的脚本。
  
    当用户用变量 username 和 password 在 SWF 文件中的文本字段中输入信息时,变量必须先转换成XML再发送到服务器。脚本的第一部分将变量加载到新创建的名为 loginXML 的XML对象中。当用户单击按钮登录时,loginXML 对象先被转换成XML字符串,然后被发送到服务器。
  
    下面的ActionScript放置在时间轴上,用于将XML格式的数据发送到服务器。为了理解此脚本,请阅读注释行(用字符 // 表示):
  
    //忽略XML空白XML.prototype.ignoreWhite = true;// 构建一个XML对象来保存服务器的应答var loginReplyXML:XML= newXML();// 此函数在接收到来自服务器的XML包时触发。loginReplyXML.onLoad = function(success:Boolean) { if (success) { //(可选)为状态/调试创建两个文本字段 // status_txt.text = this.firstChild.attributes.status; // debug_txt.text = this.firstChild; switch (this.firstChild.attributes.STATUS) { case 'OK' : _global.session = this.firstChild.attributes.SESSION; trace(_global.session); gotoAndStop("welcome"); break; case 'FAILURE' : gotoAndStop("loginfailure"); break; default : // 这种情况不应该发生 trace("Unexpected value received for STATUS."); } } else { trace("an error occurred."); }};// 此函数在单击 login_btn 时触发login_btn.onRelease = function() { var loginXML:XML= newXML(); // 创建要发送到服务器的XML格式的数据 var loginElement:XMLNode = loginXML.createElement("login"); loginElement.attributes.username = username_txt.text; loginElement.attributes.password = password_txt.text; loginXML.appendChild(loginElement); // 将XML格式的数据发送到服务器 loginXML.sendAndLoad("http:///mm/main.cfm", loginReplyXML);};
  
    [img]file:///C:/Documents%20and%20Settings/All%20Users/Application%20Data/Macromedia/Flash%208/zh_cn/Configuration/HelpPanel/Help/LearningActionScript/images/login.jpg[/img]
  
    您可以使用用户名 JeanSmith 和密码 VerySecret 来测试此代码。当用户单击登录按钮时,脚本的第一部分生成下面的XML:
  
    <login username="JeanSmith" password="VerySecret" />
  
    服务器接收到这个XML,生成一个XML响应,然后将它回送给 SWF 文件。如果拒绝了该密码,服务器会通过以下消息进行响应:
  
    <LOGINREPLY STATUS="OK" SESSION="4D968511" />
  
    此XML包括一个 session 属性,该属性包含一个唯一的随机生成的会话 ID,它将用于该会话其余部分客户端和服务器之间的所有通信中。如果拒绝了该密码,服务器会通过以下消息进行响应:
  
    <LOGINREPLY STATUS="FAILURE" />
  
    loginreplyXML节点必须加载到 SWF 文件的空白XML对象中。下面的语句创建XML对象 loginreplyXML 来接收XML节点:
  
    // 构建一个XML对象来保存服务器的应答var loginReplyXML:XML= newXML();loginReplyXML.onLoad = function(success:Boolean) {
  
    此ActionScript的第二个语句定义一个匿名(内联)函数,它在 onLoad 事件触发时调用。
  
    登录按钮(login_btn 实例)用于将用户名和密码以XML的形式发送到服务器,并将XML响应加载到 SWF 文件中。您可以使用 sendAndLoad() 方法来实现,如下面的示例所示:
  
    loginXML.sendAndLoad("http:///mm/main.cfm", loginReplyXML);
  
    首先,使用用户在 SWF 文件中输入的值创建XML格式的数据,然后使用 sendAndLoad 方法发送该XML对象。与 loadVariables() 函数中的数据类似,loginreplyXML元素异步到达(也就是说,它不等待结果即返回),并加载到 loginReplyXML 对象中。当数据到达时,即会调用 loginReplyXML 对象的 onLoad 处理函数。您必须定义 loginReplyXML 函数,该函数在 onLoad 处理函数触发时被调用,因此它可处理 loginreply 元素。
  
    注意
  
    此函数必须总是位于包含登录按钮的ActionScript的帧上。
  
    如果登录成功,SWF 文件将移动到 welcome 帧标签。如果登录不成功,播放头将移动到 loginfailure 帧标签。这通过使用条件和 case 语句来处理。有关 case 和 break 语句的更多信息,请参见"ActionScript2.0 语言参考"中的 case 语句和 break 语句。有关条件的更多信息,请参见"ActionScript2.0 语言参考"中的 if 语句和 else 语句。
  
    注意
  
    这个设计方案只是一个例子,Macromedia 不保证它的安全性级别。如果您正实施一个安全的密码保护系统,请确保对网络安全有很好的理解。
  
    有关更多信息,请参见"在 Web 应用程序中集成XML和 Flash"(网址为 /support/flash/interactivity/xml/)和"ActionScript2.0 语言参考"中的XML条目。有关本地文件安全性的更多信息,请参见关于本地文件安全性和 Flash Player。
  
    可在硬盘上的 Samples 文件夹中找到范例源文件 login.fla。此范例演示如何使用ActionScript2.0 向网站中添加简单登录功能。该范例使用ActionScript和组件创建小型表单,可在其中输入用户名和密码,然后单击按钮以进入站点。
  
    在 Windows 中,浏览到 boot drive\Program Files\Macromedia\Flash 8\Samples and Tutorials\Samples\ActionScript\Login。 在 Macintosh 上,浏览到 Macintosh HD/Applications/Macromedia Flash 8/Samples and Tutorials/Samples/ActionScript/Login。 Flash Player 8 为XML类、LoadVars 类和 MovieClipLoader 类引入 onHTTPStatus 事件处理函数,允许用户从 HTTP 请求中访问状态代码。这样开发人员可以确定特定加载操作失败的原因,而不只是确定加载操作已经失败。
  
    下面的示例演示如何使用XML类的 onHTTPStatus 事件处理函数检查是否从服务器中成功下载了XML文件,并检查从 HTTP 请求返回的状态代码。
  
    [img]file:///C:/Documents%20and%20Settings/All%20Users/Application%20Data/Macromedia/Flash%208/zh_cn/Configuration/HelpPanel/_sharedassets/expand.gif[/img]使用XML类检查 HTTP 状态代码:创建一个新的 Flash 文档,并将该文档保存为xmlhttp.fla 。 将下面的ActionScript添加到主时间轴中的第 1 帧: var my_xml:XML= newXML();my_xml.ignoreWhite = true;my_xml.onHTTPStatus = function(httpStatus:Number) { trace("HTTP status is: " + httpStatus);};my_xml.onLoad = function(success:Boolean) { if (success) { trace("XMLsuccessfully loaded"); // 0 (No error; parse was completed successfully.) trace("XMLstatus is:" + my_xml.status); } else { trace("unable to load XML"); }};my_xml.load("http:///crossdomain.xml");
  
    前面的代码使用变量名 my_xml 定义新的XML对象,还定义两个事件处理函数(onHTTPStatus 和 onLoad),并加载外部XML文件。onLoad 事件处理函数将进行检查,以确定是否成功加载了XML文件,如果是这样,则向"输出"面板发送一条消息,并输出XML对象的状态属性。务必记住,onHTTPStatus 事件侦听器将返回从 Web 服务器返回的状态代码,而 XML.status 属性包含一个数值,指示是否能成功分析XML对象。
  
    选择"控制">"测试影片"对该 Flash 文档进行测试。提示
  
    XML.onHTTPStatus 事件处理函数是 Flash Player 8 中的新增函数。
  
    警告
  
    不要将 HTTP httpStatus 代码与XML类的 status 属性相混淆。onHTTPStatus 事件处理函数从 HTTP 请求返回服务器的状态代码,而 status 属性自动设置并返回一个数值,指示XML文档是否已成功分析为XML对象。
  
    小心
  
    如果 Web 服务器不将 status 代码返回给 Flash Player,将为 onHTTPStatus 事件处理函数返回数字 0。
  
    硬盘中有几个范例文件可在运行时将XML加载到 SWF 文件中。一个范例演示如何通过加载、分析和操作XML数据来创建 Web 日志跟踪器。可在硬盘上的 Samples 文件夹中找到范例源文件 xml_blogTracker.fla。
  
    在 Windows 中,浏览到 boot drive\Program Files\Macromedia\Flash 8\Samples and Tutorials\Samples\ActionScript\XML_BlogTracker。 在 Macintosh 上,浏览到 Macintosh HD/Applications/Macromedia Flash 8/Samples and Tutorials/Samples/ActionScript/XML_BlogTracker。 第二个范例演示如何使用XML和嵌套数组来选择不同语言的字符串,以填充文本字段。可在硬盘上的 Samples 文件夹中找到范例源文件 xml_languagePicker.fla。
  
    在 Windows 中,浏览到 boot drive\Program Files\Macromedia\Flash 8\Samples and Tutorials\Samples\ActionScript\XML_LanguagePicker。 在 Macintosh 上,浏览到 Macintosh HD/Applications/Macromedia Flash 8/Samples and Tutorials/Samples/ActionScript/XML_LanguagePicker。 第三个示例演示如何使用XML数据创建动态菜单。该示例调用ActionScriptXmlMenu() 构造函数并为其传递两个参数:XML菜单文件的路径和对当前时间轴的引用。该功能的其余部分均位于自定义类文件 XmlMenu.as 中。
  
    可在硬盘上的 Samples 文件夹中找到范例源文件 xmlmenu.fla。
  
    在 Windows 中,浏览到 boot drive\Program Files\Macromedia\Flash 8\Samples and Tutorials\Samples\ActionScript\XML_Menu。 在 Macintosh 上,浏览到 Macintosh HD/Applications/Macromedia Flash 8/Samples and Tutorials/Samples/ActionScript/XML_Menu。
  
  

文章转自:http://www.215624.info/view-579-1.html
如果你感兴趣下面了解更多
flash actionscript 使用Flex和Actionscript开发Flash游戏 —— 添加武器
会计学专业就业情况 会计学专业就业率 会
赛欧汽车水温高.怎么自己保养爱车呢?
地铁2033配置!你愿意怎样退休?
星座配对指数 星座配对测试 12星座配对
北京的火车票代售点 北京火车票代售处 北
  评论这张
 
阅读(89)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017