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

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:为AS2.0添砖加瓦-编写类扩展(2)
FlashMX2004as2.0制作一个控制移动的类新建一个as文件,存为moveclass.asclassmoveclassextendsMovieClip//定义这个类为MovieClip扩展类:{varspeed:Nu

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的概念,一切都可以做为对象.

分享:为AS2.0添砖加瓦-编写类扩展(1)
[序]基于类的编程,使得我们可以更加轻松地定制属于自己的对象,同时也给已有类的扩展提供了极大的方便。现在我们可以通过extends要害字实现继续,并通过impo

来源:设计前沿网上收集//所属分类:Flash教程/更新时间:2008-03-05
相关Flash教程