搜学在线有限公司PSHJGO
  • 使用flash自定义类

    编好一个类之后,保存格式为.AS.这时候如果你要使用它,应该怎么办呢?

    把它放到MacromediaFlash MX 2004enFirst RunClasses目录下.

    保存类的时候应该注意,文件名一定要和类名一致.

    调用的时候,就象调用其它内置类一样的调用.

    比如我曾经写的一个类Kmath,用作FLASH内置类--MATH类的扩充,其内容如下:

    class Kmath extends Math{
    public function Kmath () {
    }
    //求余数
    //modf(被除数,除数)
    static public function modf(x:Number,y:Number):Number
    {if(y!=0){
    return x-int(x/y)*y}
    else{return }
    }
    //奇偶验证(偶数为真)
    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*/180
    }
    //以角度计算的三角函数
    //sinD(角度);cosD(角度);tanD(角度)
    static public function sinD():Number
    {return (deg*/180)
    }
    static public function cosD():Number
    {return (deg*/180)
    }
    static public function tanD():Number
    {return (deg*/180)
    }
    //返回值为角度的反三角函数
    //asinD(数值);acosD(数值);atanD(数值)
    static public function asinD(x:Number):Number
    {return (x)*180/
    }
    static public function acosD(x:Number):Number
    {return (x)*180/
    }
    static public function atanD(x:Number):Number
    {return (x)*180/
    }
    //计算两点直线的倾斜角(1为起点,2为终点)
    //atan2D(点1横坐标值,点1纵坐标值,点2横坐标值,点2纵坐标值)
    static public function atan2D(x1:Number,y1:Number,x2:Number,y2:Number):Number
    {
    return ((y2-y1)/(x2-x1))*180/
    }
    //计算两点距离
    //dist(点1横坐标值,点1纵坐标值,点2横坐标值,点2纵坐标值)
    static public function dist(x1:Number,y1:Number,x2:Number,y2:Number):Number
    {
    return (((x1-x2),2)+((y1-y2),2))
    }
    //返回X到Y之间的随机整数
    //random(较小数,较大数)
    static public function rand(x:Number,y:Number):Number
    {
    return x+random(y-x)
    }
    }

    把这段代码保存为,并放在MacromediaFlash MX 2004enFirst RunClasses文件夹中,然后,如果你要调用这个类种的方法,比如说,我们要求余数,就只需要在动作面板里输入类似:(3,4).这样的代码.

    你也可以在MacromediaFlash MX 2004enFirst RunClasses文件夹中新建一个专门放置自定义类的文件夹,比方为myClass

    那么再调用刚刚那个类的方法的话,就要类似(3,4).这样的代码了 .