WEB开发网
开发学院图形图像Flash 第二章 ActionScript 3.0 动画基础Ⅱ[FL 基理译] 阅读

第二章 ActionScript 3.0 动画基础Ⅱ[FL 基理译]

 2009-05-30 12:08:54 来源:WEB开发网   
核心提示: var ball:Ball = new Ball();addChild(ball); 这样就在舞台上创建了一个库中的元件,就像 AS 2 的 attachMovie 方法一样,第二章 ActionScript 3.0 动画基础Ⅱ[FL 基理译](6),我们要是能给出自定义的真正的类名及路径

var ball:Ball = new Ball();
addChild(ball);

这样就在舞台上创建了一个库中的元件,就像 AS 2 的 attachMovie 方法一样。我们要是能给出自定义的真正的类名及路径的话,那么就可以让元件附加很多功能。现在,我们跳出 Flash IDE 回到类的世界,看下一个示例。下面再看一个重定父级的示例,这里有一些重复的部分可以写入另一个类中。看一下示例,假设已经创建了一个名为 parent1 的 Sprite 实例,要里面绘制正方形:

parent1.graphics.lineStyle(1, 0);
parent1.graphics.drawRect(-50, -50, 100, 100);

下面再创建一个名为 parent2 的 Sprite 实例,同样也是绘制一个正方形。当然这个例子毫无意义,但它可以告诉我们 Sprite 的子类是多么的有用。首先,我们建立一个名为 ParentBox 的类,并继承自 Sprite,这样一来,就拥有了绘制正方形的代码:

package {
 import flash.display.Sprite;
 public class ParentBox extends Sprite {
  public function ParentBox() {
   init();
  }
  private function init():void {
   graphics.lineStyle(1, 0);
   graphics.drawRect(-50, -50, 100, 100);
  }
 }
}

然后,使用这个类创建两个 ParentBox,这样做比创建两个 Sprite 对象要好得多。

package {
 import flash.display.Sprite;
 import flash.events.MouseEvent;
 public class Reparenting2 extends Sprite {
  private var parent1:ParentBox;
  private var parent2:ParentBox;
  private var ball:Sprite;
  public function Reparenting2() {
   init();
  }
  private function init():void {
   parent1 = new ParentBox();
   addChild(parent1);
   parent1.x = 60;
   parent1.y = 60;
   parent2 = new ParentBox();
   addChild(parent2);
   parent2.x = 170;
   parent2.y = 60;
   ball = new Sprite();
   parent1.addChild(ball);
   ball.graphics.beginFill(0xff0000);
   ball.graphics.drawCircle(0, 0, 40);
   ball.graphics.endFill();
   ball.addEventListener(MouseEvent.CLICK, onBallClick);
  }
  public function onBallClick(event:MouseEvent):void {
   parent2.addChild(ball);
  }
 }
}

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:第二章 ActionScript 动画

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接