精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
  • 让你的网站产生收益赚钱,有博客和网站的绝对不能错过
  • 将指定的流量带到你的网站,为你站增加有效的访客,为你提升业绩
  • AS2.0面向对象编程的解释

    来源:不详 时间:08-01-23 点击: 点击这里收藏本文

    //simpleInterface.as
    interface simpleInterface {
    function head();
    function body();
    function foot();
    //myClass.as
    class myClass implements simpleInterface {
    function head(){
    trace("I'm head");
    }
    function body(){
    trace("I'm body");
    }
    function foot(){
    trace("I'm foot");
    }
    }

    继承

    继承的类拥有父类的所有方法和变量(通过extends实现)

    //ball拥有mc的所有方法,同时还有自己的fly方法
    //ball.as
    class ball extends MovieClip{
    private var height:Number;
    function fly(){
    trace("I can fly "+height+" m");
    }
    function ball(h){
    height = h;
    }
    }
    //时间轴
    myball = new ball(30);
    myball.fly();//trace "I can fly 30 m"

    关于构造函数

    如果子类的构造函数没有显示调用父类的构造函数,那么flash会自动给你加上,当然也可以通过super()手动加上

    也可通过super去调用父类的其他方法,比如super.parentMethod();

    如果想让舞台上的某个mc使用我们自定义的类的话,在链接处的class里天上类名就可以了:

    最后来说说文件的管理,最好是新建一个项目,这样查看起来非常方便。

    好了,就说这么多了,有时间附上个demo。

    欢迎讨论。

    附个小demo

    ball.as

    class ball extends MovieClip {
    private var spring:Number = 0.1;
    private var friction:Number = 0.95;
    private var centerX = (Stage.width-this._width)/2;
    private var v:Number = 0;
    public function ball() {
    _x = 0;
    _y = Stage.height/2 - _height/2;
    this.onEnterFrame = this.start_spring;
    }
    private function start_spring() {
    var a:Number = (centerX - _x)*spring;
    v += a;
    //v *= friction;
    _x += v;
    }
    }

    在当前路径下,新建一个mc,然后按下图:

    最后ctrl+enter就能看到效果了。

    源文件下载ball.rar

    9 7 3 1 2 4 8 :

    用户评论

    广而告之