【Fl教程】如何制作动态时钟
1、点击开始菜单程序文件夹里的FL软件,即打开FL软件,如下图所示。
2、按下ctrl+N组合键或执行菜单栏中的"文件>新建"命令打开【新建文档】对话框,在【常规】选项卡下选择ActionScript 2.0,单击"确定"按钮,即创建一个文档,如下图所示。
3、单击工具箱中的"文本工具”按钮,如下图所示。
4、打开属性面板,设置文本类型为动态文本,取消勾选"自动调整字距",单击【嵌入】按钮,打开【字体嵌入】对话框,点击【选项】选项卡,勾选"数字【0..9】(11/11字型)",单击【确定】按钮,如下图所示。否则,无法让时钟动起来。
5、点击舞台,出现文本框,调整其大小,若没有调整,就会影响时钟的外观,如下图所示。
6、再打开属性面板,输入该文字的变量为"a",如下图所示。
7、右击"图层1"图层的第1帧,在弹出的快捷菜单中选择"动作"选项,如下图所示。
8、选择该文本框,按住F9键打开【动作】代码框中输入"date=new Date(); myhour=date.getHours(); myminutes=date.getMinutes(); myseconds=date.getSeconds(); if(length(myhour)<2) myhour="0"+myhour; if(length(myminutes)<2) myminutes="0"+myminutes; if(length(myseconds)<2) myseconds="0"+myseconds; a=myhour+" "+myminutes+" "+myseconds;",如下图所示。
【基本语法】
new Date:获取Date类对象。
getHours():获得小时,返回值是0-23。
getMinutes():获得分钟,返回值是0-59。
getSeconds():获得秒钟,返回值是0-59。
length(str):返回字符串str的个数。
【问题1】
date=new Date();
myhour=date.getHours();
myminutes=date.getMinutes();
myseconds=date.getSeconds();
解析:Date类是一个重要的核心,里面有时间和日期等函数。创建一个 Date类型的变量名 date ,getHours()和getMinutes()、getSeconds()受变量名 date的控制,如此能让时钟与本机时间同步起来,若不需要受变量名 date的控制,像失去生命一样,就无法运行。
【问题2】
if(length(myhour)<2)
myhour="0"+myhour;
if(length(myminutes)<2)
myminutes="0"+myminutes;
if(length(myseconds)<2)
myseconds="0"+myseconds;
解析:判断myhour和myminutes、myseconds的个数是否小于2。如果其返回值是0-9,用length来计算出其个数是1个,那么可以判断出来是小于2的,因此,其前面要加上"0"。否则,其前面不用加上"0"。
9、一按住Alt+Enter组合键打开影片,就发现时钟为什么没动起来,如下图所示。
10、上面的问题不再是件难事。先右击"图层1"图层的第2帧,在弹出的快捷菜单中选择"插入关键帧"选项,再添加动作代码,输入代码为"gotoAndPlay(1);",只要该代码,就能让时钟不断更换,如下图所示。
gotoAndPlay:跳转到某帧播放。
gotoAndPlay([场景,]帧)中括号表示可选
【举例】
gotoAndPlay(2,1)
作用:跳到场景2的第一帧。
gotoAndPlay(2)
作用:跳到当前场景的第二帧。
11、按住Alt+Enter组合键打开影片后,时钟终于动起来了,如下图所示。