我用flash做了一个时钟的雏形,请问怎么把北京时间嵌入里面呢? 需要代码什么的吧,详细回答哦 有图最好

2025-02-25 16:06:16
推荐回答(1个)
回答1:

1、新建立一 flash 文档,将层1改名为:文字显示,并在舞台下方绘制出一个动态文 本框,起一个变量名: mytime 2、新建立一个层,并把这个新建立的层起名为:表盘,然后使用绘图工具在舞台上绘制出一个不带分针、时针和秒针的表盘。 3、现在来绘制指针。按 Ctrl+F8 新建立一个影片剪辑,起名为:指针 ,选择绘图工具,在里面垂直绘制出一条细线做为指针。 注意: 将线条的下方与影片剪辑的中心点对齐 4、返回主舞台,新建一个层,改名为:指针 — 秒 将刚才制作的指针拖放在表盘的中 间, 注意 要把指针的中心点与表盘的中心点对齐。之后,为这个指针实例起一个名字为: sec 我们先做秒针。 5、同理,再新建一个层,并起名字为:指针 — 分 将库里的 “ 指针 ” 元件再拖放出来,并改变这个实例的长度和颜色,让它做为分针。实例名起为: min 6、现在按照上面的方法来制作时针,新建一个层,改名为:指针 - 时 将指针元件拖放 在舞台中,与表盘中心对齐,并把这个实例起名为: hour 7、呵呵,现在咱们开始编写程序了,为了观察方便,我们再新建一个层,改名为AS选中AS层的第一桢,打开动作面板,开始编写脚本,首先,我们要让舞台上的动态文本框显示日期及时间。 _root.on EnterFrame = function() { // 需要让影片不停执行下面脚本。 mydate = new Date(); // 首先构建一个名字叫 mydate 的日期对象, 因为以后我们就要用 mydate 这个实例来控制了。 myear = mydate.getFullYear();/ / 获取本地机器上的年份,并放在 myear 变量中。 mmon = mydate.getMonth()+1; // 获取本地机器上的月份,并放在 mmon 变量中。因为获取的 值是 0 代表一月, 1 代表二月,依此类推,所以要加上 1 才正确 mdate = mydate.getDate(); // 获取本地机器上的本月的第几天,并放在 mdate 变量中。 mou = mydate.getHours(); // 获取本地机器上的小时数值,放在 mou 变量中,这个命令能获取 0--23 之间的数值。 mm = mydate.getMinutes();/ / 获取本地机器上的分钟数值,并放在 mm 变量中。 ms = mydate.getSeconds(); // 获取本地机器上的秒数值,放在 ms 变量中。 mytime = myear+" 年 "+mmon+" 月 "+mdate+" 日 "+mou+":"+mm+":"+ms; // 让舞台上变量名为 mytime 的动态文本框显示日期及时间。 } 现在可以测试一下了,可以发现舞台上文本框会显示出日期及时间,那么还有表里面的秒、 分、时针怎么跟时间对应起来呢?现在我们加入如下一些脚本 sec._rotation = 6*ms; // 利用 flash 中对象旋转命令来实现指针的走动。 _rotation 旋转一周是 360 度,所以,秒针每走一下,就等于走了 6 度,所以用一个算法来获取每秒的度数 6*ms min._rotation = 6*mm; // 同理,让分针也是根据获取的分钟数值乘以 6 来进行度的旋转。 hour._rotation = mou*30+mm/60*30; // 小时的走动,算法稍微复杂一点,因为时针走一圈是 12