论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS编程教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

一个用as3模拟as2的MovieClip类

文章类别:Flash AS编程 | 发表日期:2008-10-6 17:44:23


这个类比较简单,不习惯as3可视化类的同学可以试试

使用方法很简单,所有可视化类都可以继承自该类。

比如文档类继承这个类,可以用

this.attachMovie(可视化类名,实例名);来创建影片剪辑

然后就可以用 this.实例名引用那个剪辑了

 this.removeMovie(可视化类名,实例名);来删除影片剪辑

是不是和as2的很一样呢。

package{
    import flash.display.DisplayObject;   
    import flash.display.Sprite;
    /**
     * @author dayu
     * @deprecated 本类是为了纪念as2而存在,对于怀念as2的同学,
     * 使用本类。将让你感到一种亲切感
     *
     */
    dynamic public class EmptyMovie extends Sprite {
        var pen:Pen;
        public function EmptyMovie() {
            super();
            pen=new Pen();
        }
        public function attachMovie(cl:Class,nam:String) {
            this[nam]=new cl();
           
            this.addChild(this[nam]);
            return this[nam];
        }
        public function removeMovie(nam:String){
            this.removeChild(this[nam]);
            delete this[nam];
        }
        //设定笔刷相关
        public function setpen(thickness,color,alpha){
            this.pen.thickness=thickness;
            this.pen.color=color;
            this.pen.alpha=alpha;
            this.graphics.lineStyle(pen.thickness,pen.color,pen.alpha);
        }
        public function resetpen(){
            this.graphics.lineStyle(pen.thickness,pen.color,pen.alpha);
        }
        public function setbrush(color){
            this.graphics.beginFill(color,1);
        }
        //设定绘图相关
        public function clear(){
            this.graphics.clear();
        }
        public function beginFill(color:uint){
            this.graphics.beginFill(color);
        }
        public function endFill(){
            this.graphics.endFill();
        }
        public function drawCircle(x, y, radius){
            this.graphics.drawCircle(x, y, radius);
        }
        public function drawEllipse(x, y, width, height){
            this.graphics.drawEllipse(x, y, width, height);
        }
        public function drawRect(x, y, width, height){
            this.graphics.drawRect(x, y, width, height);
        }
        public function drawRoundRect(x, y, width, height, ellipseWidth, ellipseHeight){   
            this.graphics.drawRoundRect(x, y, width, height, ellipseWidth, ellipseHeight);
        }
        public function lineTo(x, y){
            this.graphics.lineTo(x, y);
        }
        public function moveTo(x, y){
              this.graphics.moveTo(x, y);
        }
    }
}
class Pen extends Object{
    public var thickness:int;
    public var color:uint;
    public var alpha:Number;
    function Pen(thick=2,col=0xffffff,a=1){
        thickness=thick;
        color=col;
        alpha=a;
    }
    public function clone(pen:Pen):Pen{
        return new Pen(thickness,color,alpha);
    }
}

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://dayuhome.blogbus.com/logs/19388127.html

视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058