积木首页 | 500多种网页特效 | 函数手册 | 广播电台 | 高清晰图片素材 | 服务器合租 | 万年历 | 网友最新浏览记录
程序开发 网页设计 搜索引擎 特效代码 操作系统 防范病毒 黑客技术 图形图象 电脑硬件 网络技术 服 务 器 数 据 库 网文精粹
您的位置:积木首页 >> 图形图象频道 >> FLASH >> 正文:
标题:FLASH留言本基本功能开发
时间:2004-9-17 来源:不详 浏览数:

FLASH留言本基本功能开发

http://www.5thpower.net/download/flashmousebbs.rar 点吧。还等什么。这是下面这留言本的源文件啊~


页面:点这里参观

现在留言本的基本功能已经实现了,在这里把制作过程告诉大家。希望大家可以从中交流经验:)由于PHP牵涉到的东西比较多,偶在这里就不写了,只把FLASH里的编程过程和思路写下来(动画制作就免了,呵呵)。将来完成后我会把PHP的代码传上来供大家下载
《一.软件配置》
~~~~~~~~~~~~~~~~~~~~
需要FLASH MX、PHP、MYSQL(或支持PHP+MYSQL的虚拟主机,直接进行网络测试。)


《二.预备知识》
~~~~~~~~~~~~~~~~~~~~
FLASH函数:LoadVars(),LoadVars.sendAndLoad(),duplicateMovieClip(),eval(),
函数详解:
-----------------------------------------------------------
LoadVars()
---------------------------------------------------------
构造函数;首先使用 newLoadVars()创建 LoadVars 对象的实例。然后使用该 LoadVars 对象的方法来发送和加载数据。


-----------------------------------------------------------
LoadVars.sendAndLoad()
---------------------------------------------------------
前者的一个方法,可以将其变量发送至服务器端,并接收服务器端的响应。


-----------------------------------------------------------
duplicateMovieClip()
---------------------------------------------------------

用法:duplicateMovieClip(target, newname, depth)

其中:target 要复制的影片剪辑的目标路径。

newname 复制的影片剪辑的唯一标识符。

depth 复制的影片剪辑的唯一深度级别。深度级别是复制的影片剪辑的堆叠顺序。这种堆叠顺序很像时间轴中图层的堆叠顺序;较低深度级别的影片剪辑隐藏在较高堆叠顺序的剪辑之下。必须为每个复制的影片剪辑分配一个唯一的深度级别,以防止它替换现有深度上的影片


-----------------------------------------------------------
eval();
---------------------------------------------------------
用法:eval(expression);
其中:expression 包含要获取的变量、属性、对象或影片剪辑的名称的字符串。
作用:按照名称访问变量、属性、对象或影片剪辑。如果 expression 是一个变量或属性,则返回该变量或属性的值。如果 expression 是一个对象或影片剪辑,则返回指向该对象或影片剪辑的引用。如果无法找到 expression 中指定的元素,则返回 undefined。

在 Flash 4 中, 使用 eval 函数模拟数组;在 Flash 5 中,建议您使用 Array 对象模拟数组。

还可以使用 eval 函数动态设置和获取变量或实例名的值。然而,也可以使用数组访问运算符 ([]) 来实现这一点。

注意:动作脚本中的 eval 动作与 javascript 中的 eval 函数不同,它不能用于对语句进行计算


工作原理
~~~~~~~~~~~~~~~~~~~~~~~


由于FLASH和外部源连接的唯一办法就是由外部源读取文本文件,所以我们只能用后台程序来输出文本文件给FLASH动画,这点用ASP.PHP等的普通输出函数就可以。但是要保证只输出以下格式的代码
yourvar1=8888&youvar2=9999&......
其中yourvar1是你要输入的变量名,&是连接符,8888、9999是该变量的值


读取留言题目列表
~~~~~~~~~~~~~~~~~~~~~~~

外部PHP脚本:
---------------------------------------------------------------------------------------------------------------------
//show1.php

include "info/conn.php"; // 数据库连接文件
$sql="select * from ebook where re_write=0 order by id desc LIMIT $page,9";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
$total=mysql_num_rows($result);
for($i=0;$i<9;$i++){
$n=$i+1;
mysql_data_seek($result,$i);
$row=mysql_fetch_array($result);
if($row[tital]=="") $row[tital]="随便说说"; //如果留言标题为空,则输出标题“随便说说”
echo "tital".$n."=".$row[tital]."&user".$n."=".$row[user]."&lydate".$n."=".$row[writedate]."&";
}
?>

----------------------------------------------------------------------------------------------------------------------

此脚本最后输出以下格式:
tital1=随便说说&user=笨耗子&lydate=2003-05-03&tital2=第五动力工作室&.....
FLASH PLAYER可直接将此文本读入动画

FLASH内部AS的制作:

1.新建一个组件(texter),对其进行编辑
第一祯脚本:
lyshow = new LoadVars(); //创建对象实体
System.useCodepage=true;
for(i=1;i<10;i++){
removeMovieClip(i);
}
说明: 以System.useCodepage=true;保证可以正确读入中文。由于我在读留言的时候没有使用LIST插件,而是直接使用连续复制动态文本的方法,所以考虑循环时的需要,在这里先用removeMovieClip(i);清除已经复制的组件

第二祯脚本:
if(page=="" || page==null){
page=0;
}
num = random(198202);
//使用随机数,解决写完留言后无法刷新的问题
lyshow.load(_root.myurl+"show1.php?num="+num+"&page="+page);

说明:
page为翻页的设置变量,它将控制外部PHP脚本从什么地方开始读数据库。在这里特别添加了一个NUM,使每次读取时外部脚本的地址都不同,这样才可以实现发完留言后返回这里可以刷新出留言。lyshow.load函数读取刚才SHOW1.PHP输出的文本。_root.myurl是在主场景中声明过的变量,其值为URL地址(偶的myurl="http://5thpower.51.net/flashmoysebbs/";;)

第三祯脚本:
if(lyshow.loaded){
gotoAndPlay(4);
}else{
gotoAndPlay(2);
}
循环判断数据是否已经读取完。

从第4祯到第35是一段动画,没有ACTION

第35祯脚本:

stop();
showerx=15.5;
showery=-96.3;
for(i=1;i<10;i++){
duplicateMovieClip(shower,i,i);
eval(i)._y=showery+19.2*i;
eval(i).tital.text=eval("lyshow.tital"+i);
eval(i).user.text=eval("lyshow.user"+i);
eval(i).lydate.text=eval("lyshow.lydate"+i);
eval(i).thisid=i;
}

说明:眩也眩完了,该做点实事啦,开始复制组件(shower),shower里面包含三个动态文本,和一个按钮(覆盖三个动态文本)。在复制的同时用eval函数把读取来的变量分别赋给三个动态文本。

第36祯脚本:
stop();
page=page+9;
lydate2="";
gotoAndPlay(1);

说明:向下翻页,在场景中放一个按钮(偶做的NEXT),点击时使影片播放本祯,则返回第一祯循环,并把page设为9

第37祯脚本:
stop();
page=page-9;
lydate2="";
gotoAndPlay(1);

说明:向上翻页,同上

读取留言列表的部分就做完啦,当然这里还有很多毛病。比如当翻页到最后的时候下面还是会有连接,另外没有留言记录的时候我也没做设置,可以在PHP里多输出一个变量MAXER来标记有多少条记录,再由FLASH处理。




(责任编辑:admin)
关于本站 | 广告服务 | 联系我们 | 版权申明 | 强强联盟 | 投稿热线 | 网站地图 | 申请链接
Copyright ©2005-2006 Gimoo.net All rights reserved. 积木网 版权所有
E-mail:gimoohr@gmail.com 京ICP备05050695号