为AS2.0添砖加瓦-编写类扩展(3)
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的概念,一切都可以做为对象.
页:
[1]