初始化类属性

在前面介绍的示例中,您将 Ball 元件的实例手动添加到舞台上(即在创作过程中完成此操作)。正如以前所讨论的(请参见将参数添加到动态创建的影片剪辑),可以使用 attachMovie()duplicateMovie()initObject 参数在运行时为创建的剪辑指定参数。您可以使用此功能初始化分配到影片剪辑的类的属性。

例如,下面这个名为 MoveRightDistance 的类是以前讨论的 MoveRight 类(请参见将类分配给影片剪辑元件)的变体。两者的区别在于 MoveRightDistance 类有一个名为 distance 的新属性,该属性值确定每次单击影片剪辑时该影片剪辑移动多少像素。

// MoveRightDistance 类 -- 将剪辑的每个帧向右移动 5 个像素
class MoveRightDistance extends MovieClip {
  // distance 属性确定每次
  // 按下鼠标按钮时将剪辑移动多少像素
  var distance:Number;
  function onPress() {
    this._x += distance;
  }
}

假设将此类分配给具有链接标识符 Ball 的元件,以下代码将在 SWF 文件的根时间轴上创建该元件的两个新实例。第一个实例(名为 ball_50)每次单击时移动 50 个像素;第二个实例(名为 ball_125)每次单击时移动 125 个像素。

_root.attachMovie("Ball", "ball_50", 10, {distance:50});
_root.attachMovie("Ball", "ball_125", 20, {distance:125});