SWF动画文件中的图像、声音、文字和动画等都是固化在其中的,所以新的问题又出现了,就是如何在SWF文件中实现动态数据的显示?可用Flash中的FS Command来实现。以下,是如何在Flash制作动态网页 的具体操作步骤,希望对大家有所帮助!
进入 Flash 4.0,新建一个文件或打开一个已经做好的Flash页面。选择Insert/layer,新建一个层。确认新层为当前层后,用矩形工具画一无边框线的蓝色长方形(大小约为100px×120px)作为底色。再选择Text(文本)工具,设置字体为黑体、字号为16、颜色为白色后,写上文字“公元年 月”、“星期”、“时间”三行文字。
锁定该层后,再新建一层,确认新建层为当前层后,选择Text工具并选中Text Field按钮。设置字体为Arial、字色白色、字号为16号,在公元后画一个高度为一个单位、宽度为4个单位的长方形文本框。选择Arraw(箭头) 工具,点击刚画好的矩形文本框,使它处于选中状态。选择Modify/Text Field,出现Text Field Properties对话框。在Ariable(变量)中输入Year,在Option中选中Disable Editing和Disable Selecting(使得显示的年份不可修改)两项。
用同样的方法,在“年”后画一文本框,取变量名为“Month”,用于显示月份,在“星期”上画一文本框,取变量名为“Date”,用于显示几号,在“星期”右画一文本框,取变量名为“Day”,用于显示星期几,在“时间”右的三个格子里分别画三个文本框,取变量名为Hour(时)、Minute(分)、 Second(秒),分别用于显示时、分、秒。注意的是,表示几号的文本框的字号设大一点,比如36号,表示时间的文本框的字号设小一点,比如10号。设好后的效果如前面。
锁定该层后,再新建一层,确认新建层为当前层后,选择Insert/New Symbol,出现对话框Symbol Properties,设置确定后,对Movie Clip(电影夹)进行如下编辑:双击第一帧的小圆圈,出现Frame Properties对话框,选Action,在Action下面点“+”号,在下拉菜单中选FS Command,在Command中填入Showrl(显示日历),其作用是向网页中发送一个名为Showrl的FS Command。在第二帧插入一空白帧,其作用是不断向网页发送Showrl命令。回到场景中,按Ctrl+l,打开Library,把 FS Command拖到场景中。保存文件取名为rl.fla(日历)。同时按默认的文件名进行Publish(发布)。即选File/Publish Setting,出现对话框,设置后,点Publish就生成rl.html和rl.swl两个文件。这时用浏览器去看rl.html时,还看不到日期与时间,还必须进行如下设置:以Frontpage2000为例,打开Frontpage,选择新建,选插入/文件,在文件名浏览框中选择 rl.html。(在Dreamwaever中直接插入动画文件rl.swl)。以Index.htm保存文件,然后在rl.htm的HTML源文件的〈head〉〈/head〉之间加入如下代码,再次保存后就搞定了。
〈script language=″JAVASCRIPT″〉
var InternetExplorer=navigator.appName.indexOf(″Microsoft″)==-1;
function rl_DOFSCommand(command,args)
{
var movie=InternetExplorer ? rl:document.rl
var now=new Date();
if(now.getDay()==0)date = ″日″
if(now.getDay()==1)date = ″一″
if(now.getDay()==2)date = ″二″
if(now.getDay()==3)date = ″三″
if(now.getDay()==4)date = ″四″
if(now.getDay()==5)date = ″五″
if(now.getDay()==6)date = ″六″
if(command=″showrl″){
movie.setvariable(″/:year″,now.getYear());
movie.setvariable(″/:minute″,now.getMinutes());
movie.setvariable(″/:hour″,now.getHours());
movie.setvariable(″/:second″,now.getSeconds());
movie.setvariable(″/:date″,date);
movie.setvariable(″/:month″,now.getMonth()+1);
movie.setvariable(″/:day″,now.getDate());
}
}
〈/script〉
〈script language=″VBscript″〉
sub rl_FSCommand(ByVal command,ByVal args)
call rl_DOFSCommand(command,args)
end sub
〈/SCript〉
其中var movie……行以前是Flash的FS Command调用Javascript的固定格式,照搬就是了,var now……行是定义一个Now的变量,并初始为当天。if(now.getDay()……“日”到if(now.getDay()……“六”行是把显示星期的数字改为汉字显示以符合中国人的习惯。if(command……行表示当网页接受命令为Showrl的FS Command时就执行{ ...}中的内容。Movie.setvariable中的Movie是rl的标识(ID),就是获指定动画(rl)的每个变量的值。最后5行是IE浏览器所固定的,如果你用Netscape浏览器可以不理会这5行。保存后,在浏览器中就可以看到如前面如果不满意,可以在Flash中进一步调整字体、字号、颜色等,发布后再用浏览器试试。注意:最好几个文件放入同一文件,这样修改起来简单)。
小编为大家编辑的如何在Flash制作动态网页希望对大家有所帮助!