FLASH时钟类 clock.as
功能:自动控制时.分.秒针围绕
演示两个FLASH时钟,引用的是同一个clock.as(界面做得随便了.重要的是as)
clock.as源码分析:
这个不是扩展类.而是一个自定义类.通过自定一个DATE对象.再利用DATE对象本身的方法 求值后.通过自定义对象返回想要的值.就成了一个公共类.让MC或文本框等FLASH元素直接 调用.
class clock { var newdate:Date;//建立一个日期变量
function get_newdate() { newdate = new Date();//把这个变量变成一个日期对象 } function get_Seconds()//得到秒钟转动角度 { get_newdate(); return newdate.getSeconds()*6; }
function get_Minutes()//得到分钟转动角度 { get_newdate(); return newdate.getMinutes()*6+newdate.getSeconds()/10; }
function get_Hour()//得到时钟转动角度 { get_newdate(); return newdate.getHours()*30+newdate.getMinutes()/2; } }
再建立一个FLA,画好表盘.再把时秒,分钞,秒钟分别做成MC, 分别命名为:hour,minute,second
然后在LAYER1的第一帧写上调用CLASS的代码:
var myclock = new clock(); //建立一个名为myclock的新的clock对象.作为引用clock类 _root.onEnterFrame=function() { second._rotation = myclock.get_Seconds();//直接使用clock类的秒针转动值方法赋值给MC second的角度 minute._rotation =myclock.get_Minutes(); hour._rotation=myclock.get_Hour(); }
完成.现在可以换上不同的表盘样子.而且不用每个都去更新AS.基本的AS代码已经做为类 文件独立操作了.
这个实例也不难.主要是一个as文件可以解决许多问题.你可以自定义扩展类,自定义类函数 甚至可以做成自定义组件,实现不同的方法与属性.树立OOP的概念,一切都可以做为对象.
|