当前位置:首页>>平面设计教程>>Flash教程>>正文

为AS2.0添砖加瓦-编写类扩展(3)

文章出处:设计前沿网上收集 作者:未知 发布时间:2005-09-22 收藏到QQ书签
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的概念,一切都可以做为对象.


Google