要形成动态的flash动画就需要将外部的数据传递到flash,而flash里是不能直接从数据库中读取数据的,所以要通过别的途径来解决这个问题,常用到的方法如下:
1,通过变量传递给flash:
网页端:在网页插入flash的flash路径文件后加上变量 如 向main.swf提交了两个变量分别是:url=www.web136.cn和title= 多变量提交用 & 分隔。数组可以用 arratit="aaa|bbb|ccc|ddd"用特殊字符分隔来进行提交。
flash端:接收变量直接将引用网页端的变量如在场景中放入两个动态文本分别命名为http和title,在加入代码http.text=url; title.text=title;
完成以上步骤便可实现变量的传递。
2,用文件将变量传入flash
网页端:flash支持简单的html语句,当变量多或哪一个变量数据比较长的时候需要用到用文件来传递,常用到的是静态的TXT文件(编写规则:url=www.web136.cn&title 和变量传递的规则相同)和动态的ASP文(需要用response.write将需要传递的数据按上面的规则输出)
flash端:用函数:loadVariables ("aaa.txt“, this);面对asp/php还可以传递变量给asp文件以便跟据不同的参数从而得到不同的数据;如: loadVariables ("aaa.asp?cs=“+cs, this); oadVariables函数后便可直接引用网页端编写的变量。
3,用xml传递数据flash
网页端:在asp/php中用response.write 将数据库中的数据按XML的格式输出如:news.asp
flash端: 需要插入以下代码来读取XML内容
newslist = new XML ();
newslist.load ("news.asp");// newslist.load ("news.asp?cs="+cs);可用来传递变量
newslist.ignoreWhite = true;
newslist.onLoad = function (success) {
if (success) {
var itemDate = news.childNodes[i].childNodes[j].childNodes[0].nodeValue;
var itemTitle = news.childNodes[i].childNodes[j].childNodes[0].nodeValue;
var itemTopic = news.childNodes[i].childNodes[j].childNodes[0].nodeValue;
}
}
其中i代表""的位置, 代表""里面的位置,都是从0开始计算