ActionScript中对象实例分析

  • 来源: IT918 作者: 若水   2008-04-25/17:51
  •     面向对象的脚本编写

        在面向对象的脚本编写中,通过把信息分为组(称为类) 来组织信息。可以创建一个类的多个实例(称为对象),用于你的脚本之中。可以使用ActionScript的预定义类,也可以创建自己的类。

        在创建类时,要定义该类创建的每个对象的所有属性和方法,就像定义现实世界中的对象一样。例如,一个人拥有诸如性别、身高、发色等属性和谈吐、走路、投掷等方法。在本例中,“人”是一个类,每一个人就是一个对象或该类的一个实例。

        ActionScript中的对象可以包含数据或作为电影剪辑以图像形式出现在编辑区中。所有的电影剪辑都是预定义类MovieClip的实例。 每个电影剪辑实例均包含MovieClip类的所有属性(例如_height、_rotation、_totalframes)和方法(如 gotoAndPlay、loadMovie、startDrag)。

        要定义一个类,就要定义一个函数(称为构造函数)。预定义类拥有已经定义的构造函数。例如,如果你需要关于动画中自行车骑士的信息, 你就要创建一个构造函数Biker,该构造函数拥有time(时间)、 distance(距离)属性和rate(速度)方法,给出该骑士的旅行速度:
        function Biker(t, d) {
            this.time = t;
            this.distance = d;
        }
        function Speed() {
            return this.time / this.distance;
        }
        Biker.prototype.rate = Speed;

        然后,你可以创建该类的一个拷贝—即实例。下面的代码创建对象Biker的实例,称为emma和hamish。
        emma = new Biker(30, 5);
        hamish = new Biker(40, 5);

        实例之间可以互相通讯。对于Biker对象,你可以创建称为shove的方法,让一个骑士推另一个骑士。如果hamish靠得太进,实例emma可能会调用它的shove方法。要把信息传递到方法中,可以使用参数。例如,shove方法可能有两个参数who和howFar。在本例中,emma推hamish 10个像素: 
        emma.shove(hamish, 10);

        在面向对象的脚本编写中,依据指定的顺序,类可以相互接收属性和方法,这称为继承。你可以利用继承来扩展或重定义一个类的属性和方法。从其它类继承而来的类称为子类,传递属性和方法到另一个类的类称为父类。一个类可以是子类,也可以是父类。
      
        MovieClip对象

        ActionScript的预定义类称为对象。每个对象允许你访问某种类型的信息。例如,Date(日期)对象拥有一些方法(如 getFullYear、getMonth),使你能够从系统时钟读取信息。Sound(声音)对象拥有一些方法(如setVolume、 setPan),使你能够控制动画中的声音。MovieClip(电影剪辑)对象拥有一些方法, 使你能够控制电影剪辑的实例(如play、stop和 getURL),获取和设置关于它们的属性的信息(如_alpha、_framesloaded、_visible)。

        电影剪辑是Flash动画中最重要的对象,因为它们拥有独立运行的时间轴(Timelines)。例如,如果主时间轴仅有一帧,而该帧中的电影剪辑有十帧,电影剪辑中的每一帧仍然可以播放。这就允许实例作为一个自治对象,这些自治对象可以相互通讯。

        每个电影剪辑实例都有一个唯一的名字。因此,你可以把动作分配给它们。例如,你可以在编辑区中放置多个实例(如leftClip和 rightClip),且希望某个时刻只播放其中一个。当你要分配指定播放一个特定的实例的动作时,就需要用到它的名字。在下面的例子中,电影剪辑的名字是leftClip:
        leftClip.play();#p#分页标题#e#

        通过实例名,可以在动画播放时复制、删除和拖放电影剪辑。下面的例子复制实例cartItem,把大量购买的物品装入购物车。
        onClipEvent(load) {
            do {
                duplicateMovieClip("cartItem", "cartItem" + i, i);
                i = i + 1;
            } while (i <= numberItemsPur);
        }

        电影剪辑拥有属性,你可以用动作脚本动态设置和恢复属性的值。改变和读取这些属性可以改变动画的外观和标识,也是创建交互性的关键。 例如,下面的脚本使用setProperty动作,设置navigationBar实例的透明度为10:
        setProperty("navigationBar", _alpha, 10);

        相关资料:关于ActionScript脚本怎样流动介绍请查看链接


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多