FLASH读外部数据(文本|XML|ASP)

2008-04-02 10:42:46来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  前言:

  因为工作缘故,好久没有写什么象样的东西了!最近发现论坛有个通病,就是某问题问个千遍万遍也不倦(总有些朋友思想懒惰,到这里直接提问,连搜索都不用,这里向这些朋友提出批评,原因您比我更清楚)。根据本人多方面观察,所以想最后一次,完全的周详的对某些问题实际应用问题来个“围剿活动”。本节就讲“FLASH和外界联系”的教程!本教程只供初级学习的朋友参考,高手可进行批点(最好帮助修改我的错误或指出更为简单的方法,或把文档归整为AS2.0类),如急切需要原文档者请绕行(废话到此结束)

  第一讲:最基本的读取

  
loadVariables()

  loadVariablesNum()


  用法

  
loadVariables ("url" , target [, variables])

  loadVariablesNum ("url" ,level [, variables])


  区别:

  太理论的东西我就不讲了,大家都知道FLASH里有层级(level),也有影片剪辑(MC)那么:

  ?假如您想让FLASH读取到的数据放到某个影片剪辑中,那您就用第一个loadVariables

  ?假如您想让FLASH读取到的数据放到某个特定的级别,那您就用第二个loadVariablesNum

  FLASH4就有的语法,这个函数的功能就是从外部文档(例如文本文档,或由 CGI 脚本、Active Server Page (ASP)、PHP 或 Perl 脚本生成的文本)中读取数据,并配置目标影片剪辑中变量的值。此动作还可用于使用新值更新活动 SWF 文档中的变量。

  举例说明:

  1、我们先准备一个 TXT记事本。在里面写以下内容:

  



  t_name=tommyheng&t_age=25岁&t_from=辽宁沈阳

  解释:上面的文本内容我定义了3个变量 t_name t_age t_from 并且分别让给他们赋予了一个值。而且中间用了 & 分隔开了,不明白的朋友就会问了?用&分开是啥意思?那我就来告诉您,FLASH读取外部数据,当外部数据被程式载入的时候,FLASH会自动根据 & 来 分割数据 也就是说 上面文本里的东西假如被FLASH读取到,FLASH就自动认识他们是3个变量。

  2、我们新建一个FLASH文档,在第一个桢写上:

  

loadVariables("tommyheng.txt", "_root");


  或(选一个就行,别2个都写哦)

  

loadVariablesNum("tommyheng.txt", 0);

  解释:用2种方法把tommyheng.txt载入到FLASH中。

  第一种方法:把文本中的数据载入到FLASH的主场景中(_root 其实就是FLASH的主场景,当然,假如您想把数据放到FLASH中的某个MC中,您能够把他修改成,_root.mc意思就是载入到主场景中的一个叫做MC的影片剪辑)

  第二种方法:把文本中的数据载入到FLASH的场景中的第0个级别,然后,在第5桢处插入一个关键空白桢,里面写

  

trace(t_name);

  trace(t_age);

  trace(t_from);

  stop();


  解释:trace()是FLASH里是个信息输出函数,在制作FLASH的时候,研发者能够通过这个函数,把程式返回的结果(变量)直接输出来观察运行的是否正确等等,但是他只能在FLASH里使用(也就是说按CTRL ENTER的时候)您才能看到他的功能。

  把FLASH和tommyheng文本保存到同一个文档夹中。按CTRL ENTER直接测试影片,您会发现会输出一下结果:

  

tommyheng

  25

  辽宁沈阳

  假如您想把这些结果显示到文本框中,而不是输出来看,那能够又2种方式:

  第一种方式:直接分配方式

  就是直接做3个动态文本框,分别点选每个文本框,在其属性中找到变量,并分别填写:

  t_name t_age t_from

  第二中方式:自定分配方式

  同样建立3个动态文本框,但是不同的是,分别点选每个文本框,在其实例名称处分别填写随便的3个名字 比如:a1 a2 a3

  然后在这桢上写如下程式:

  

a1.text = t_name

  a2.text = t_age

  a3.text = t_from


  这样FLASH就完成了读取外部数据的功能!!!

  特别提示:

  某些朋友根据我的文档进行测试或学习,会出现一个问题,那就是英文和数字显示很正常,但是中文就显示不正常变正了乱码(这个是编码问题,很高难的哦)。不要怕,我们有办法对付他,在第一桢处写上

  

System.useCodepage=true;

  这句话的意思就是让FLASH认识中文(嘿嘿),按照理论上讲就是让FLASH使用运行播放器的操作系统的传统代码页来解释外部文本文档。

  本讲结束语:

  虽然我只写了FLASH读取文本TXT文档,但是他同样试用其他的格式文档的读取。假如您愿意,您能够把文档的扩展名修改成 .dat 甚至您能够把他修改成 .tommyheng 更有,也能够是ASP了。但是假如想读取ASP 那您必须要会ASP哦。起码把要ASP的输出结果也是t_name=tommyheng&t_age=25岁&t_from=辽宁沈阳

  从此我们不难看出,其实FLASH读取什么都无所谓,重要的一点,这个文档输出来的东西要能被FLASH认识 也就是 被 & 分开来的变量格式

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: Flash9预览版AS3.0编程新特性体验

下一篇: RIA研发感想(二)—FlashVSAjax