編好一個(gè)類之后,保存格式為.AS.這時(shí)候如果你要使用它,應(yīng)該怎么辦呢?
把它放到MacromediaFlash MX 2004enFirst RunClasses目錄下.
保存類的時(shí)候應(yīng)該注意,文件名一定要和類名一致.
調(diào)用的時(shí)候,就象調(diào)用其它內(nèi)置類一樣的調(diào)用.
比如我曾經(jīng)寫的一個(gè)類Kmath,用作FLASH內(nèi)置類--MATH類的擴(kuò)充,其內(nèi)容如下:
class Kmath extends Math{
public function Kmath () {
}
//求余數(shù)
//modf(被除數(shù),除數(shù))
static public function modf(x:Number,y:Number):Number
{if(y!=0){
return x-int(x/y)*y}
else{return Number.NaN}
}
//奇偶驗(yàn)證(偶數(shù)為真)
static public function even(x:Number):Boolean
{
if((x-int(x/2)*2)==0){return true}
else{return false}
}
//求弧度
//rad(角度值)
static public function rad():Number
{return deg*Math.PI/180
}
//以角度計(jì)算的三角函數(shù)
//sinD(角度);cosD(角度);tanD(角度)
static public function sinD():Number
{return Math.sin(deg*Math.PI/180)
}
static public function cosD():Number
{return Math.cos(deg*Math.PI/180)
}
static public function tanD():Number
{return Math.tan(deg*Math.PI/180)
}
//返回值為角度的反三角函數(shù)
//asinD(數(shù)值);acosD(數(shù)值);atanD(數(shù)值)
static public function asinD(x:Number):Number
{return Math.asin(x)*180/Math.PI
}
static public function acosD(x:Number):Number
{return Math.acos(x)*180/Math.PI
}
static public function atanD(x:Number):Number
{return Math.atan(x)*180/Math.PI
}
//計(jì)算兩點(diǎn)直線的傾斜角(1為起點(diǎn),2為終點(diǎn))
//atan2D(點(diǎn)1橫坐標(biāo)值,點(diǎn)1縱坐標(biāo)值,點(diǎn)2橫坐標(biāo)值,點(diǎn)2縱坐標(biāo)值)
static public function atan2D(x1:Number,y1:Number,x2:Number,y2:Number):Number
{
return Math.atan((y2-y1)/(x2-x1))*180/Math.PI
}
//計(jì)算兩點(diǎn)距離
//dist(點(diǎn)1橫坐標(biāo)值,點(diǎn)1縱坐標(biāo)值,點(diǎn)2橫坐標(biāo)值,點(diǎn)2縱坐標(biāo)值)
static public function dist(x1:Number,y1:Number,x2:Number,y2:Number):Number
{
return Math.sqrt(Math.pow((x1-x2),2)+Math.pow((y1-y2),2))
}
//返回X到Y(jié)之間的隨機(jī)整數(shù)
//random(較小數(shù),較大數(shù))
static public function rand(x:Number,y:Number):Number
{
return x+random(y-x)
}
}
public function Kmath () {
}
//求余數(shù)
//modf(被除數(shù),除數(shù))
static public function modf(x:Number,y:Number):Number
{if(y!=0){
return x-int(x/y)*y}
else{return Number.NaN}
}
//奇偶驗(yàn)證(偶數(shù)為真)
static public function even(x:Number):Boolean
{
if((x-int(x/2)*2)==0){return true}
else{return false}
}
//求弧度
//rad(角度值)
static public function rad():Number
{return deg*Math.PI/180
}
//以角度計(jì)算的三角函數(shù)
//sinD(角度);cosD(角度);tanD(角度)
static public function sinD():Number
{return Math.sin(deg*Math.PI/180)
}
static public function cosD():Number
{return Math.cos(deg*Math.PI/180)
}
static public function tanD():Number
{return Math.tan(deg*Math.PI/180)
}
//返回值為角度的反三角函數(shù)
//asinD(數(shù)值);acosD(數(shù)值);atanD(數(shù)值)
static public function asinD(x:Number):Number
{return Math.asin(x)*180/Math.PI
}
static public function acosD(x:Number):Number
{return Math.acos(x)*180/Math.PI
}
static public function atanD(x:Number):Number
{return Math.atan(x)*180/Math.PI
}
//計(jì)算兩點(diǎn)直線的傾斜角(1為起點(diǎn),2為終點(diǎn))
//atan2D(點(diǎn)1橫坐標(biāo)值,點(diǎn)1縱坐標(biāo)值,點(diǎn)2橫坐標(biāo)值,點(diǎn)2縱坐標(biāo)值)
static public function atan2D(x1:Number,y1:Number,x2:Number,y2:Number):Number
{
return Math.atan((y2-y1)/(x2-x1))*180/Math.PI
}
//計(jì)算兩點(diǎn)距離
//dist(點(diǎn)1橫坐標(biāo)值,點(diǎn)1縱坐標(biāo)值,點(diǎn)2橫坐標(biāo)值,點(diǎn)2縱坐標(biāo)值)
static public function dist(x1:Number,y1:Number,x2:Number,y2:Number):Number
{
return Math.sqrt(Math.pow((x1-x2),2)+Math.pow((y1-y2),2))
}
//返回X到Y(jié)之間的隨機(jī)整數(shù)
//random(較小數(shù),較大數(shù))
static public function rand(x:Number,y:Number):Number
{
return x+random(y-x)
}
}
把這段代碼保存為Kmath.as,并放在MacromediaFlash MX 2004enFirst RunClasses文件夾中,然后,如果你要調(diào)用這個(gè)類種的方法,比如說,我們要求余數(shù),就只需要在動(dòng)作面板里輸入類似:Kmath.modf(3,4).這樣的代碼.
你也可以在MacromediaFlash MX 2004enFirst RunClasses文件夾中新建一個(gè)專門放置自定義類的文件夾,比方為myClass
那么再調(diào)用剛剛那個(gè)類的方法的話,就要類似myClass.Kmath.modf(3,4).這樣的代碼了 .
以上.