FLASH调用XML数据简明教程
FLASH CS4 读取外部XML数据

FLASH CS4 读取外部XML数据
ActionScript除了可以读取在Flash文件内部的XML文件外,还可以读取外部的XML 数据文件。
将把外部的XML文件读取并实例化后,就可以像内部XML数据一样,进行读取和遍历等操作。
在读取外部XML文件时,需要使用包中的URLLoader类以及URLRequest类。
在加载外部XML数据时,应先将一个字符串变量实例化,并将外部XML数据文件所在的路径赋给这个变量。
var xmlURL:String="xml/example.xml";
然后,应根据外部XML数据的路径创建一个针对该XML的请求对象。
var xmlRequest:URLRequest=new URLRequest(xmlURL);
根据针对XML的请求,需要创建一个加载XML的实例。
var xmlLoader:URLLoader=new URLLoader(xmlRequest);
在创建加载XML的实例后,可对其添加对加载完成XML的监听。
xmlLoader.addEventListener(PLETE,loadComplete);
最后创建加载完成后实例化的XML对象。
function loadComplete(event:Event):void{
var xml:XML=new XML(event.target.data);
}。
flash加载多个xml设计

num++;
}
//开始加载
public function start():void
{
{
event.currentTarget.removeEventListener(PLETE,completeHandler);
num--;
if (num==0)
{
this.dispatchEvent(new Event("loadComplete"));
一些技巧:
view plaincopy to clipboardprint?
class Item
{
public var loader:URLLoader;
public var path:String;
public function Item(loader:URLLoader,path:String)
}
//进度
private function ProgressHandler(event:ProgressEvent):void
{
this.dispatchEvent(new Event("loadProgress"));
public function Item(loader:URLLoader,path:String)
{
this.loader=loader;
this.path=path;
}
}
package
package
{
import flash.events.*;
import .*;
XML在与FLASH交互简易教程

一、书写标准的XML需要注意以下几点:1、一个标准的XML文档必须要在第一行以"<?xml>"开头,以及一个"<?/>"结尾,其中开头部分需申明XML的版本,如:version="1.0",也应包含一个关于编码的声明:“encoding ="utf-8"”;2、XML要求所有的标签必须在文档结束之前被闭合,如果标签中包含内容,则必须写成“<标签名>内容</标签名>"的格式,如果内容为空,则应写在</标签名>的格式;即,后面必须有</XXX>这种格式的。
3、每个XML都有有一个根元素,也叫根节点。
4、节点有节点值和属性。
5、XML的节点值如果出现与XML标签关键字一样的字符,XML将会无法解析文档,比如,某个节点值如果是一个大于或者小于号,就会让解释器产生一个错误,二、在FLASH中创建一个简单的实例://创建一个新的XML类实例var my_XML:XML=new XML();//创建一个TextArea组件,用于显示此XML内容var my_TextArea:mx.controls.TextArea;//加载外部XML文件//如果加载的XML文件在该FLASH目录的上面,就用../my_xml.xml,如果在下面呢,就用aaa /my_xml.xml,这样的.my_XML.load("my_xml.xml");//为load函数定义onLoad函数---此处是必须的。
只有当加载成功后,才能控制XML。
否则不能。
my_XML.onLoad=function(ok:Boolean){if(ok){my_TextArea.text+=this;}else{my_TextArea.text+="加载失败..."}}//勿略空白:my_XML.ignoreWhite=true;三、关于FLASH解析XML详解,说白了,也就是对节点的读取。
flash解析XML

<song num="5" webaddress="/u?u=/music/d ... $$.mp3" songname="6、就让世界多一颗心"></song>
<song num="6" webaddress="/u?u=/music/yinyue/ ... 0NQ$$.mp3" songname="7、金钟罩铁布衫"></song>
<song num="7" webaddress="/u?u=/xiaza ... .mp3" songname="8、我要飞"></song>
<song num="8" webaddress="/u?u=/bbsxp/images/upfi ... xnbDY$.mp3" songname="9、招牌动作"></song>
<song num="9" webaddress="/u?u=/uploadfile/2004-1 ... mYzQ$.mp3" songname="10、知道不知道"></song>
存盘后重新命名为“s.xml”
myDP = new Array();//新建数组myDP
for (i=0; i<=count; i++) {
myDP.addItem({label:my_xml.childNodes.attributes.songname, data:my_xml.childNodes.attributes.webaddress});//将s.xml文件中的歌曲名字和地址存储在数组中
FLASH CS4 XML数据

FLASH CS4 XML数据Flash动画除了可以读取其本身库中的资源外,还可以读取外部的各种资源。
例如,外部的文本、图像、声音、视频等。
在读取多个外部资源时,通常需要将外部资源整合起来,建立资源的索引以方便程序读取。
因此就要使用XML建立外部资源的列表。
1.认识XMLXML是一种通用的数据存储方式。
XML的存储格式非常规范,因此可以被多种程序和平台识别。
ActionScript作为一种面向对象的编程语言,也可以识别这种数据格式。
一个完整的XML数据文件是由文档类型声明、根元素、子元素等元素以及各种元素的属性组成,其结构如图14-1所示。
一个典型的XML结构如下所示。
<?xml version="1.0" encoding="utf-8"?><root><child id="001">Child Content</child><child id="002">Child Content</child></root>在上面的代码中,以“<?”和“?>”符号标记的内容就是XML的文档类声明。
而“<r oot>”标签则是XML文档的根元素,“<child>”标签是XML文档的子元素,id是XML文档的子元素属性,Child Content是子元素的内容。
XML的元素标签有两种书写规范。
一种是当该元素有内容时,元素标签必须成对出现。
在一对XML标签中,后一个标签必须以“</”开头。
而在两个标签之间的部分,则是XM L的内容。
例如,在上面例子中的<child>标签就是符合这种规范的。
当元素没有内容时,则其标签允许只出现一个。
但是,这个标签的结尾必须被替换为“/>”,如下所示。
<child id="003" content="Child Content" />2.读取与修改XML的元素在ActionScript中,XML也是对象的一种。
flash读取XML节点内容以及节点属性

flash读取XML节点内容以及节点属性原⽂地址:⼀、xml的写法:这⾥的xml只是在有限范围内的了解,限于写⼀些简单的⽤于flash使⽤的xml⽂本。
太深奥的东西我也不懂。
例1:课本.xml<?xml version="1.0" encoding="UTF-8"?><课本><书名>语⽂</书名><书名>数学</书名><书名>历史</书名><书名>⾳乐</书名></课本>这是个很简单的xml⽂档。
如果想增加其他信息,可以继续修改这个xml⽂档:<?xml version="1.0" encoding="UTF-8"?><课本><具体><书名>语⽂</书名><定价>5</定价></具体><具体><书名>数学</书名><定价>5.5</定价></具体><具体><书名>历史</书名><定价>6.5</定价></具体><具体><书名>⾳乐</书名><定价>4.5</定价></具体></课本>看起来这个xml内容稍微有⼀点点实⽤的意思。
但是写法不⽌⼀种,⽐如:<?xml version="1.0" encoding="UTF-8"?><课本><具体书名="语⽂" 定价="5"/><具体书名="数学" 定价="5.5"/><具体书名="历史" 定价="6.5"/><具体书名="⾳乐" 定价="4.5"/></课本>这种看起来更直观些,它使⽤了属性/值对的⽅法。
Flash-数据库数据的读取
由于一些原因,需要将一些数据以 Flash 的形式输出调用,所以就做了这么一个 Demo,点这里看一下。 其中 New Post 是 Wordpress 的日志,Guestbook 和 Wish Sky 的调用基本相同, SO,这里只讲下 Wordpress 的部分。 先是 Flash 部分代码:
12 13 14 15 16 17 18 19 20 21 22 23 2;+i]._x = (i/5<<0)*345; mc["news"+i]._y = (i%5)*28; mc["news"+i].url = newsxmlroot.childNodes[i].attributes["b_url"]; mc["news"+i].txt_title.text = newsxmlroot.childNodes[i].attributes["b_title"]; mc["news"+i].txt_time.text = newsxmlroot.childNodes[i].attributes["b_date"]+" | "+newsxmlroot.childNodes[i].attributes["b_author"]; //mc["news"+i].txt_time._x = stageW-mc["news"+i].txt_time._width; //TweenLite.to(mc["news"+i].txt_time, 1, {_alpha:0}); loadHandler(mc,i); } } //mc 的鼠标效果 function loadHandler(mc:MovieClip, i:Number) { mc["news"+i].onRollOver = function() { TweenLite.to(mc["news"+i].txt_title, 0.5, {tint:0xff6600}); TweenLite.to(mc["news"+i].txt_time, 0.5, {tint:0xff6600}); TweenLite.to(mc["news"+i].mc_arrow, 0.5, {tint:0xff6600}); }; mc["news"+i].onRollOut = mc["news"+i].onReleaseOutside=function () { //mc["news"+i].mc_cbar._visible = ; TweenLite.to(mc["news"+i].txt_title, 0.5, {tint:0x666666}); TweenLite.to(mc["news"+i].txt_time, 0.5, {tint:0x666666}); TweenLite.to(mc["news"+i].mc_arrow, 0.5, {tint:0x666666}); }; mc["news"+i].onRelease = function() { getURL(this.url, "_blank"); }; }
简单明了的flash+xml教程
简单明了的flash+xml教程第一篇:简单明了的flash+xml教程简单明了的flash+xml教程分类:flash/xml在FLASH中,使用XML接口获取外部数据是最有效的方法之一.(通常还有WebSerivce接口和LoadVars方法)下面来看一个简单的XML文档(city.xml)这个文档描述的是城市地区的信息xml version=“1.0” encoding=“gb2312”?>root>简单介绍一下XML文档格式的书写规范:第一行:这是一个XML文档的描述信息.其中定义了该XML文档的一些基本属性,包括:版本信息(version),使用的字符编码(encoding).第二行: (虽然在FLASH中我们用不到节点的任何属性,但是合式的XML文档必须要求一个根节点)在XML文档中,这是一个根节点.XML规定所有标签必须有闭合.所以,在最后一行使用对应的标签来闭合.同样,单行的XML节点也需要闭合,例如:其中“/”符号就表示单行的节点闭合.“name”,“code”,“pnum”是节点的属性,写法就是:属性名=“属性值” 这样的名/值对.至于节点名和属性名都是可以自定义的,也就是说可以任意命名.但是还是建议要尽量规范“"节点是”“的子节点,相应的”“叫做”“的父节点在这个XML文档中有3个子节点,我们数据就存储在这3个子节点的属性中,分别有:城市名称(name),城市代码(code),城市人口数目(pnum)我们要做的最终目的就是在FLASH中获取这些节点的属性值下面来看一个FLASH调用XML的实例eCodepage = true;var doc:XML = new XML();doc.load(”city.xml“);doc.ignoreWhite = true;doc.onLoad = function(success){if(success){trace(doc.childNodes[0].childNodes[0]);trace(doc.childNodes[0].childNodes[1]);trace(doc.childNodes[0].childNodes[2]);}}分析:eCodepage = true;如果在XML文档中使用了中文编码,例如”gb2312“.那么在FLASH中必须启用使用页面编码的指令.var doc:XML = new XML();建立一个XML实例.赋予”doc“这个对象.doc.load(”city.xml“);doc.ignoreWhite = true;”ignoreWhite“-XML对象的一个属性:指定XML文档忽略空白,因为在XML中一个换行在FLASH中会被视为一个节点doc.onLoad = function(success){}”onLoad“-XML对象的一个方法.将会返回一个布尔值”true或false“.用来判断XML是否被成功加载.如果加载成功则会返回”true“,反之则返回”false“此处为该方法使用了一个函数,其参数”success“用来贮存上述的布尔值if(success){}一个判断语句:如果加载成功(即success的值为”true“),则触发括号内的动作trace(doc.childNodes[0].childNodes[0]);输出doc(此时”city.xml“中的数据已经包含到doc这个XML对象当中)这个XML对象的第一个节点下的第一个子节点的”name“属性值childNodes-XML对象的一个属性,它的值的类型是数组型.XML 的一个节点可以在FLASH中通过这个属性来表示其包含的数据.由于FLASH中数组的长度计算是由”0“开始,所以我们XML文档中的第一个节点就存储在数组的”0“位置.而不是”1“所以,我们取出XML文档的第一个节点-”“,就应该表示成这样”childNodes[0]“同样,我们取出XML对象根节点(”“)下的第一个子节点(”“),就表示成doc.childNodes[0].childNodes[0]相应的,取出第二个子节点:doc.childNodes[0].childNodes[1]第三个子节点:doc.childNodes[0].childNodes[2](这一步中,需要涉及到FLASH中数组对象的使用原理)在FLASH与XML的数据交互中,可能数据的表现是最难的一步.针对上面数据表现方式,我们可以充分利用数组的便利性来做假如已经获得一个XML对象”doc“首先,我们将这个XML中使用到的数据转换为一个数组对象来表示var myList:Array = doc.childNodes[0].childNodes;//直接将XML文档根节点下的的所有子节点放到一个数组中trace(myList[0]+”,“+myList[0].attributes.c ode+”,“+myList[0].attributes.pnum);//输出第一个”city“节点所有的属性值trace(myList[1]+”,“+myList[1].attributes.c ode+”,“+myList[1].attributes.pnum);//输出第二个”city“节点所有的属性值trace(myList[2]+”,“+myList[2].attributes.c ode+”,“+myList[2].attributes.pnum);//输出第三个”city“节点所有的属性值输出结果:上海,021,500000北京,010,600000浙江,057,1000000/*以上完整的代码为*/eCodepage = true;var doc:XML = new XML();doc.load(”city.xml“);doc.ignoreWhite = true;doc.onLoad = function(success){if(success){var myList:Array = doc.childNodes[0].childNodes;trace(myList[0]+”,“+myList[0].attributes.c ode+”,“+myList[0].attributes.pnum);trace(myList[1]+”,“+myList[1].attributes.c ode+”,“+myList[1].attributes.pnum);trace(myList[2]+”,“+myList[2].attributes.c ode+”,“+myList[2].attrib utes.pnum);}}/*代码结束*/为了在FLASH中其他的位置都能够访问到我们所需要的XML数据,我们可以将myList数组对象放置到上下文的任意位置例如:eCodepage = true;var doc:XML = new XML();var myList:Array = new Array();//预先建立一个数组对象用来放置XML节点数据,以便FLASH其他位置的代码都能够访问doc.load(”city.xml“);doc.ignoreWhite = true;doc.onLoad = function(success){if(success){myList = doc.childNodes[0].childNodes;//当XML加载成功后对上文的myList数组对象进行赋值.}}//使用一个按钮动作来获取数组对象中的一个CITY节点信息btName.onPress = function(){trace(_root.myList[0]+”,“+_root.myList[0]. attributes.code+”,“+_root.myList[0].attributes.pnum);}这样的写法当然还不满足我们一些复杂的需求,而且代码过冗长.使用函数来返回我们需要的信息,应该是最正确的做法,我们来实现它按下按钮时,向函数递交一个城市代码,返回城市名和人口信息eCodepage = true;var doc:XML = new XML();var myList:Array = new Array();//预先建立一个数组对象用来放置XML节点数据,以便FLASH其他位置的代码都能够访问doc.load(”city.xml“);doc.ignoreWhite = true;doc.onLoad = function(success){if(success){myList = doc.childNodes[0].childNodes;//当XML加载成功后对上文的myList数组对象进行赋值.}}//函数开始function getCityInfo(code){? //构建一个函数的写法是:function 函数名(参数){//脚本代码}var cityName:String;//建立一个字符窜变量来存储城市名var pepCount:String;//建立一个字符窜变量来存储居民数量for(var i=0;iif(code eq myList[i].attributes.code){cityName = myList[i];pepCount = myList[i].attributes.pnum;}}return ”城市:“+cityName+”,人口:“+pepCount //返回一段文字表达信息}//函数结束/*按钮的动作*/btName.onPress = function(){trace(getCityInfo(”010“));//输出函数的返回结果,(在函数的参数中提交城市代码-”010")}第二篇:简单明了SEO学习教程看看seo为什么可以简单上手,SEO=∫Clock=∫C1+L2+K3+O4,目前全球任何一位seoer都是要遵守这条公式1、∫是一个积分符号,C=content(内容),L=link(连接)K=keywords(关键字)O=others(其他)。
Flash CS4 处理XML对象
Flash CS4 处理XML对象XML是eXtensible Markup Language(可扩展标记语言)的缩写,是一种表示结构化信息的标准方法,以使计算机能够方便地使用此类信息,并且人们可以非常方便地编写和理解这些信息。
ActionScript 3.0包含一组基于ECMAScript for XML (E4X)规范的类,这些类包含用于处理XML数据的强大且易用的功能。
1.创建XML对象XML对象根据其内容可分为两类:有子元素的XML对象被视为包含复杂内容的XML对象;如果XML对象是属性、注释、处理指令或文本元素中的任意一个,那它就是包含简单内容的XML对象。
通过使用new运算符和XML()构造函数,可以创建一个空的XML对象,其基本形式如下所示。
var xml:XML = new XML();如果想要在创建XML对象的同时初始化该对象,可以在赋值符号“=”的右侧添加XML,其基本形式如下所示。
var xml:XML = <root><element1> content1</element1><element2> content2</element2><element3> content3</element3>......<elementN> contentN</elementN></root>另外,还可以将XML首先存储到字符串对象中,然后再将该对象以参数的形式传递给XML()构造函数,如下所示。
var str:String = "<root><element1>statement1</element1><element2>statement2</element2><element3>statement3</element3>...<elementN >statementN</elementN></root>";var xml:XML = new XML(str);XML对象具有5个静态属性,其详细介绍如下所示:●ignoreComments和ignoreProcessingInstructions属性确定分析XML对象时是否忽略注释或处理指令。
Flash+XML实现新闻系统-电脑资料
Flash+XML实现新闻系统-电脑资料xml|新闻系统通过这个例子可以学习:1>如何加载与解析XML;2>如何用TextField.StyleSheet格式化文本先看下XML的结构:<news date="2006-02-03" title="国务委员陈至立" bdsfid="63">4月5日下午,国务委员陈至立在教育部长周济</news date="2006-02-03" title="国务委员陈至立"><news date="2006-02-03" title="全发" bdsfid="66">我国豆腐干反对广泛大会反对弧光灯法</news date="2006-02-03" title="全发"><news date="2006-02-03" title="这是" bdsfid="69">我国豆腐干反对广泛大会反对弧光灯法</news date="2006-02-03" title="这是"><news date="2006-02-03" title="豆腐" bdsfid="72">我国豆腐干反对广泛大会反对弧光灯法</news date="2006-02-03" title="豆腐"><news date="2006-02-03" title="也额外" bdsfid="75">我国豆腐干反对广泛大会反对弧光灯法</news date="2006-02-03" title="也额外"><news date="2006-02-03" title="士大" bdsfid="78">我国豆腐干反对广泛大会反对弧光灯法</news date="2006-02-03" title="士大"><news date="2006-02-03" title="方法" bdsfid="81">我国豆腐干反对广泛大会反对弧光灯法</news date="2006-02-03" title="方法">下面就是在flash中的工作了:1>新建flash文档,设置舞台大小(我的设置是150*200)2>拖一个TextArea组件放入舞台,设置大小和舞台大小一致,实例名为mytextarea;3>给第一帧添加代码:var myStyles:TextField.StyleSheet=new TextField.StyleSheet() ;//申明myStyles为StyleSheet类myStyles.setStyle(".title", //设置标题显示样式{fontFamily: ’宋体,_sans’,fontSize: ’12px’,color: ’#003300’,textAlign: ’left’});myStyles.setStyle(".date", //设置时间显示样式{fontFamily: ’Arial’,fontSize: ’9px’,color: ’#990000’,textAlign: ’right’});myStyles.setStyle(".content", //设置内容显示样式{fontFamily: ’宋体,_sans’,fontSize: ’12px’,color: ’#003300’,textAlign: ’left’});var newsXML:XML=new XML(); //申明XML类newsXML.ignoreWhite=true; //忽略空白newsXML.onLoad=function(success){if(success){parseXML(); //如过加载XML成功,就调用parseXML()解析XML}}newsXML.load("news.xml"); //载入外部XMLfunction parseXML(){ //parseXML()的定义var e=newsXML.firstChild.childNodes;var total=e.length;mytextarea.wordWrap=true; //设置TextArea 可以自动换行mytextarea.editable=false; //TextArea不可编辑mytextarea.hScrollPolicy=off; //TextArea横向滚动条关闭mytextarea.html=true; //支持XMLmytextarea.styleSheet=myStyles; //调用前面设置好的样式for(i=0;i<total;i++){ bdsfid="121" p="" 解析xml并格式化文本<=""></total;i++){ > mytextarea.text+="<.title>"+e[i].attributes.title+"";mytextarea.text+="<.date>"+e[i].attributes.date+"";mytextarea.text+="<.content>"+e[i].firstChild.firstChild.nod eValue+"";}}好了,很简单吧PS:可以对myStyles扩充,flash支持的html标签还有不少:)点击这里下载源文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FLASH调用XML数据简明教程简介:在FLASH中如何调用XML数据,该教程做了实例型的讲解,内容基础,讲解清晰……一、建立XML对象:var myXML = new XML();二、引用XML文件:myXML.load("data.xml");三、忽略空格:myXML.ignoreWhite = true;//默认的为false四、处理XML对象的函数:myXML.onLoad = function(success) {statements;}五、data.XML文件的内容<data1 name="imagebear"><data2 name="mariger">xiaoshandong</data2><data3 name="mariger3">xiaoshandong3</data3></data1>六、返回值实例1、myXML.childNodes[0]将返回:<data1 name="imagebear"><data2 name="mariger">xiaoshandong</data2><data3 name="mariger3">xiaoshandong3</data3></data1>2、myXML.childNodes[0].nodeName将返回:data13、myXML.childNodes[0].childNodes[0].name将返回:imagebear4、myXML.childNodes[0].childNodes[0]将返回:<data2 name="mariger">xiaoshandong</data2>5、myXML.childNodes[0].childNodes[0].nodeName将返回:data26、myXML.childNodes[0].childNodes[1]将返回:mariger37、myXML.childNodes[0].childNodes[0].childNodes[0].nodeValue将返回:xiaoshandong 8、var myName = myXML.firstChild.firstChild;trace(myName.nodeName);//将输出data2myName = myName.nextSibling;trace(myName.nodeName);//将输出data3childNodes[0]等价于firstChild七、附:测试用的代码,XML文件如楼上所示var myXML = new XML();myXML.load("data.xml");myXML.ignoreWhite = true;myXML.onLoad = function(success) {if(success) {//myArray = myXML.childNodes[0];//trace();//trace(myXML.childNodes[0].childNodes[1].firstChild.nodeValue);//trace(myXML.firstChild);//trace(myXML.childNodes[0].nodeName);//trace();//trace(myXML.childNodes[0].childNodes[1].nodeName);//trace(myXML.childNodes[0].childNodes[1]);//trace(myXML.firstChild.firstChild);//trace(myXML.firstChild.firstChild.nodeName);//trace();//trace(myXML.childNodes[0].childNodes[0].childNodes[0].nodeValue);var myName = myXML.firstChild.firstChild;trace(myName.nodeName);myName = myName.nextSibling;trace(myName.nodeName);}};如何利用Flash来读、写文本文档(*.txt)呢?解决思路:这种问题在实际应用中经常遇到,尤其是一些简单的如Flash计数器,Flash留言本都可以使用文本文档来存放数据。
但是写文本文档光靠Flash本身是很难做到的,我们还需要使用Asp来配合才能做的更加出色。
我们都知道Flash可以与Asp进行数据通信。
我们要做的只是把从Flash里收集的信息,传递给Asp,然后通过Asp的FSO把信息写入到文本文件中去。
在Flash向Asp发送信息的过程主要是使用Flash中的LoadVars对象。
而在Asp接收Flash传过来的信息,主要是依靠Asp的request对象。
具体步骤1.Flash+Asp写入文本文档首先新建一个Flash文件,我们新建两个层,分别叫action层和text层。
Action层上插入4个关键帧,给其中第二个关键帧起上帧标签“loop”。
在text层上插入两个关键帧。
注意:“loop”帧是用来循环检测通信是否结束的,所以可以适当的延长几帧,如图5.4.1所示。
图5.4.1 Flash中时间轴的设计安排action层第一帧处AS:ecodepage = true; //支持中文submit.onRelease = function() {txtload = new LoadVars(); //利用LoadVars对象与Asp进行通信txtload.message = message.text;txtload.sendAndLoad("write.asp", txtload, "post");gotoAndPlay("loop");};stop()action层第三帧处AS:if (txtload.eof == "ok") {play(); //判断通信任务是否完成,如果完成则继续往后,如果没有则退回loop帧,重新进入判断,如此循环} else {gotoAndPlay("loop");}Action层第四帧处AS:back.onRelease = function() {gotoAndPlay(1);};stop(); //这一帧主要是显示成功后的提示Text层第一帧:放置一个输入文本命名为message,设置为多行文本,如图5.4.2所示。
图5.4.2输入框message的属性设置接下来放置一个scrollbar组件,放在刚刚的message的旁边,并设置该scrollbar的Target TextField为message,如图5.4.3所示。
图5.4.3设置scrollbar组件最后再放置一个按钮,并为其命名为submit。
Text层第二帧(最后一帧,具体位置参看上图):放置一个按钮,命名为back好到这里为止我们把write.fla部分做好了,接下来我们来看看我们的Asp部分write.asp文件:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><%’首先定义必需的变量。
Dim ObjFSO,ObjTextFile,strFileName,message’通过request从flash处接受数据message=request.form("message")’创建Scripting.FileSystemObject部件set ObjFSO = Server.CreateObject("Scripting.FileSystemObject")’打开读写的文件strFileName = server.MapPath("flash8.txt")set ObjTextFile=ObjFSO.CreateTextFile(strFileName)’文件读写操作,即把刚才接收到message写入文本文档ObjTextFile.WriteLine message’关闭文件ObjTextFile.Close’释放对象引用set ObjTextFile = Nothingset ObjFSO = Nothing’传递给flash一个变量,通知其已成功写入response.Write("eof=ok")%>1.如果你已经把上面的写入文本调试成功,那么Flash+Asp读取文本文档都是大同小异,应该可以很快的理解了,我就在这里直接列出代码了。
首先新建一个Flash文件,我们新建两个层,分别叫action层和text层。
和上面其实是一样的。
action层上插入4个关键帧,给其中第二个关键帧起上帧标签“loop”。
在text层上插入两个关键帧。
如图5.4.4所示。
图5.4.4 Flash中时间轴的设计安排action层第一帧处AS:ecodepage = true;submit.onRelease = function() {txtload = new LoadVars();txtload.Load("read.asp");gotoAndPlay("loop");};stop();action层第三帧处AS:if (txtload.eof == "ok") {play();} else {gotoAndPlay("loop");}l action层第四帧处AS:message.text = txtload.message;back.onRelease = function() {gotoAndPlay(1);};stop();Text层第一帧:放置一个按钮,命名为submit(这里和write.fla略有不同,两帧的内容调换了)Text层第二帧(最后一帧,具体位置参看上图):放置一个动态文本命名为message,设置为多行文本,接下来放置一个scrollbar组件,放在刚刚的message的旁边,并设置该scrollbar的Target TextField为message。