[效果]:
[前言]:由于找不到电子钟数字字体,于是采用了绘制的图形代替。
[步骤]:
1、画一个如下图外形,转换为图形元件,名为“基本符号”。
2、新建影片剪辑,名为8,把“基本符号”拖入7个,排列成如下图样式。
3、在库中选中名为“8”的元件,右键选择“直接复制”,名为“0”,在库中双击元件“0”,进入元件“0”的编辑场景中,删除中间的横条,得到如下图样式。
4、按照第3步,依次创建元件“1”、“2”、“3”、“4”、“5”、“6”、“7”、“9”,得到的样式分别为如下图所示:
5、新建影片剪辑,名为“数字组合”,把元件“8”拖入,将其透明度设置为30%,延长帧到第10帧。新建图层,在第1帧拖入元件“0”,第2帧拖入元件“1”……第10帧拖入元件“9”。
6、回到主场景,把“数字组合”拖入15个,实例名从下至上、从右至左依次为“_mc1”、“_mc2”……“_mc15”,并打上文字“年”、“月”、“日”、“星期”及两个冒号。
7、在帧上写如下代码:
onEnterFrame = function () {
var my_dateate = new Date();
//秒
var miao:Number = my_date.getSeconds();
if (miao<10) {
_mc2.gotoAndStop(1);
_mc1.gotoAndStop(miao+1);
} else {
_mc2.gotoAndStop(Math.floor(miao/10)+1);
_mc1.gotoAndStop((miao-Math.floor(miao/10)*10)+1);
}
//分
var fen:Number = my_date.getMinutes();
if (fen<10) {
_mc4.gotoAndStop(1);
_mc3.gotoAndStop(fen+1);
} else {
_mc4.gotoAndStop(Math.floor(fen/10)+1);
_mc3.gotoAndStop((fen-Math.floor(fen/10)*10)+1);
}
//时
var shi:Number = my_date.getHours();
if (shi<10) {
_mc6.gotoAndStop(1);
_mc5.gotoAndStop(shi+1);
} else {
_mc6.gotoAndStop(Math.floor(shi/10)+1);
_mc5.gotoAndStop((shi-Math.floor(shi/10)*10)+1);
}
//星期
var xingqi:Number = my_date.getDay();
_mc7.gotoAndStop(xingqi+1);
if (xingqi == 0) {
_mc7.gotoAndStop(xingqi+8);
}
//日
var ri:Number = my_date.getDate();
if (ri<10) {
_mc9.gotoAndStop(1);
_mc8.gotoAndStop(ri+1);
} else {
_mc9.gotoAndStop(Math.floor(ri/10)+1);
_mc8.gotoAndStop((ri-Math.floor(ri/10)*10)+1);
}
//月
var yue:Number = my_date.getMonth()+1;
if (yue<10) {
_mc11.gotoAndStop(1);
_mc10.gotoAndStop(yue+1);
} else {
_mc11.gotoAndStop(Math.floor(yue/10)+1);
_mc10.gotoAndStop((yue-Math.floor(yue/10)*10)+1);
}
//年(此句代码由终极老师指教)
var nian:Number = my_date.getFullYear();
for (var p:Number = 0; p<nian.toString().length; p++) {
this["nian"+(p+1)] = Number(nian.toString().charAt(p));
_mc15.gotoAndStop(nian1+1);
_mc14.gotoAndStop(nian2+1);
_mc13.gotoAndStop(nian3+1);
_mc12.gotoAndStop(nian4+1);
}
/*(此句由本人所写,与上面效果一样,但上面的更简洁明了)
var nian:Number = my_date.getFullYear();
nian1 = Math.floor(nian/1000);
nian2 = Math.floor((nian-nian1*1000)/100);
nian3 = Math.floor((nian-nian1*1000-nian2*100)/10);
nian4 = Math.floor(nian-nian1*1000-nian2*100-nian3*10);
_mc15.gotoAndStop(nian1+1);
_mc14.gotoAndStop(nian2+1);
_mc13.gotoAndStop(nian3+1);
_mc12.gotoAndStop(nian4+1);
*/
};
[源
文件]:
电子数字.rar进入论坛和作者讨论学习:
http://space.flash8.net/bbs/thread-363618-1-1.html