ActionScript 3 Cookbook 6.4创建自定义可视化对象

本文介绍如何使用ActionScript 3通过继承不同类创建自定义可视化对象,包括形状、按钮和容器等,并提供了一个创建圆形对象的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ActionScript 3 Cookbook 6.4创建自定义可视化对象

问题:
如果你想创建一个新类型的显示对象怎么办?
解决办法:
创建一个新的类,让其继承 DisplayObject类或者是他的子类
然后用addChild( )和addChildAt( )将其加入显示对象列表
讨论:
过去只能继承MovieClip对象创建可视化对象,而且不得不在库中的MovieClip中设置标志链接
然后用attacheMovie方法来创建,不能完全用as脚本创建。但是现在你可以完全用as来创建
,你要首先决定你要创建的对象类型,如果你要创建一个用户自定义图形,你就用继承shape类
来做,如果要创建用户自定义按钮,你可以继承SimpleButton类
如果你要创建一个容器去控制显示其他对象,而且不需要时间轴,那么sprite类是个好的选择,
如果你需要时间轴,那就用sprite的子类MovieClip
所有的显示对象的类都是针对明确的目标而创建的,你最好构思好你想创建的可视化类的服务操作是什么
,然后选择适当的父类继承,选择的过程要考虑优化swf的大小和资源管理问题。比如:你要创建一个简单的圆圈图形
类,由于不需要时间轴,所以没有必要用MovieClip类,shape类是个更好的选择。
一旦基础类被确定了,那么所有其余的工作就是在这个类中写代码了,下面是个简单的例子
脚本是继承shape类创建圆圈的,文件名称Circle.as
package {
  import flash.display.Shape;

  //这个Circle类是自定义的可视化类
  public class Circle extends Shape {
 
    //定义本地变量存储圈的属性
    private var _color:uint;
    private var _radius:Number;
   
    /*
     *构造函数:创建一个圆圈默认颜色黑色,默认半径10
     */
    public function Circle( color:uint = 0x000000, radius:Number = 10 ) {
      // 存储颜色和半径值
      _color = color;
      _radius = radius;
     
      // 当圆圈创建时自动画出来
      draw(  );
    }
   
    /*
     * 基于指定的颜色和半径画圈
     */
    private function draw(  ):void {
      graphics.beginFill( _color );
      graphics.drawCircle( 0, 0, _radius );
      graphics.endFill(  );
    }
  }
}


上面是创建新的显示对象Circle

如果要显示在屏幕上要用,addChild()和addChildAt()把实例化的对象加入显示对象列表中。如下:
package {
  import flash.display.Sprite;
  public class UsingCircleExample extends Sprite {
    public function UsingCircleExample(  ) {
     
      var red:Circle = new Circle( 0xFF0000, 10 );
      red.x = 10;
      red.y = 20;
      var green:Circle = new Circle( 0x00FF00, 10 );
      green.x = 15;
      green.y = 25;
      var blue:Circle = new Circle( 0x0000FF, 10 );
      blue.x = 20;
      blue.y = 20;
       
     
      addChild( red );
      addChild( green );
      addChild( blue );
    }
  }

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值