Flash 网页新闻浮动板的制作(XML应用)
Flash 网页新闻浮动板的制作(XML应用) Flash 网页新闻浮动板的制作(XML应用)
摘要:
我们经常可以看到一些网站上有一些用javascript写的新闻浮动板的效果。
我尝试用flash+xml做了一个新闻浮动板,基本实现了读取xml中的内容并在点击时有超链接效果。
Abstract:
I have tried to use flash with xml technology to implement a floating-news board, and achieve the goal which could parse
the data on the xml and have a redirect
关键词:Xml,网页浮动板
Key Xml,floating-news board
1) 设计阶段:
1.1 总体框架:
构想应该是比较简单的,就是如图一所示的程序流程图:
图1
1.2系统详细设计:
图2
由于在做这个程序的时候,我对Design Patterns所知甚少,所以,唯一想到的可以降低设计复杂度的方式就是用对象组合,也就是把相应的功能分配给相应的执行对象,再逐级下放。最后由底层类来执行相应的功能。
2)实现阶段:
在实现的时候还是会遇到一些困难的,我就把我遇到的主要问题以及解决的方式小结如下:
2.1防止乱码:
transXml.ignoreWhite=true;
System.useCodepage = true;
2.2htmlText:
听说Flash是支持CSS的,但支持度有限,尝试了一下有热心的朋友也提供了方案,不过我试过了,也失败了.
至于颜色就直接用<font color='#0000FF'>来做就是了,如下:
private function {
}
2.3xml的onLoad事件:
也许是出于安全性的考虑,在我的尝试过程中,发现flash对读入的xml文件的存取相当的严格。能施展拳脚的空间基本上只有onLoad了。
一旦出了onLoad,那么在onLoad里所动态创建及获得的一切,不论是否与xml文件中的数据有关,都会变得无效.
所以,一开始的设计中,我是准备把xml文件的读取与后面的动态效果分离的。后来,经过了失败的阵痛后,我不得不把所有的主要程序全放在onLoad中,虽然肯定是不合理的,但我实在是没办法~~~~
2.4对于读入xml内容的处理:
读入的xml数据,一律是被当作String来处理的,所以,当读入的是数字的时候,应该用parseInt或parseFloat加以转型。
如果只是直接用,即不用它来做任何运算,还是没问题的。但我并不推荐这样做。
2.5对于使用的xml文件格式的说明.
首行的属性值存放了和这个影片有关的数据,对应介绍如下:
< width='204' height='176' width:影片的宽度。
height:影片的高度.
newsnum:新闻的数目.
rowinterval:每条新闻所占的行数,我这里的一行是22个像素单位.
fps:setInterval中的每帧的所消耗的毫秒数.
vy:新闻文本框向上移动的速度。
主要的内容的存放格式为:
< <headline>欢迎使用google</headline>
< </news>
2.6改进:
为了使一个NewsReader可以为多个网页所用,或者可以在一个网页中加载不同的新闻,可以采用网页向Flash中传递参数的方式来进行.
Flash中定义变量:
Html文件在加载Flash的语句片段中:
<Object <
…
<
<!—注意:上面的语句即设 定了Flash中变量xmlAddress的值,如有多个变量,用’&’间隔-->
…
<embed
</Object>
另外,在实现复用时,应注意:
a) xmlReader.swf文件应存放于网站的根目录下,这是由Flash播放器的安全约束所决定的.
b) 在标签的设定上,要在以下两处设定相同的引用资源(即swf文件)
<
<embed c) 而对于object中的id属性及embed中的name属性,在复用的情况下,不同的复用的名称不应重复.
d) 对于资源文件的命名及对资源文件的引用,大小写务必一致,由于服务器端多为linux,对大小写是严格区分的.
参考文献:
[1]Danger,《Flash ActionScript2.0字典(》版,made by Danger,2004.
完成日:05/7/11
修改日:06/1/19
效果展示:
http://www.emilmatthew.zk.cn/EmilPapers/06_04ffBoard/sample.html
本文最佳浏览定位:
http://www.emilmatthew.zk.cn/EmilPapers/06_04ffBoard/index.htm
程序源码下载:
http://emilmatthew.51.net/EmilPapers/06_04ffBoard/code.rar
若直接点.若不出意外,此时应能下载.