类的继承二-ActionScript3菜鸟教程

By:arrowyoung Date:2009-12-15

    在上节中,我们介绍到了继承,继承在我们的实际应用中是用的比较多的一种方式。

    上节的继承是继承我们自己定义的类,如果要用到影片和类关联起来,我们可能会更多的去继承AS3中已有的类——Sprite和MovieClip;MovieClip这个类我们在2.0中就经常用到,就是影片剪辑,Sprite是什么了,其实就是一个没有帧的 MovieClip,在没有动画的情况下我们会更多的使用Sprite,来看一段代码:

package net.smilecn{
   
    import flash.display.Sprite;
   
    public class MySprite extends Sprite{
       
        public function MySprite(){
            graphics.beginFill(0xFFCC00);
            graphics.drawCircle(40, 40, 40);
        }
       
    }
   
}

    现在我们建立一个MySprite的类(注意保存的AS文件名一定要跟类名一样),因为它是继承的Sprite类,所以我们可以使用graphics来画图,这里我们画了一个圆。

    要使用这个类,我们同样要在帧上加一些代码:

import net.smilecn.MySprite;
var mySprite:MySprite = new MySprite();
 
addChild(mySprite);
 
mySprite.x=100;
mySprite.y=100;

    这里首先我们还是建一个实例,名字叫做mySprite,接下来我们用到了这句:

addChild(mySprite);

    addChild相当于2.0里面把库中的元件载入到场景中,用了addChild后我们画的那个圆就显示在场景中了,与之对应的是removeChild,是从场景中删除

    接下来

mySprite.x=100;
mySprite.y=100;

    是设置坐标位置,因为是继承的Sprite,因为Sprite有x、y属性,所以MySprite也有了(注意x,y相当于2.0里面的_x和_y)

    上面的代码MySprite是用代码画的一个图形,有很多图形我们不可能都用代码去画,这样就失去FLASH的主要功能了,我们还可以把库中的元件链接到MySprite这个类中。

    我们新建一个MC,在库中在这个MC上点右键,点链接,会出现一个对话框,将“为ActionScript导出”打上勾,在上面类的后面填上要链接的类,这里我们填上:net.smilecn.MySprite ;基类那里我们填上:flash.display.Sprite

    然后再发布看看,会发现不仅有刚才画的圆,我们在刚才的那个MC里画任何东西都会在里面,这样就做到了元件和类的链接。

    在FLASH CS3中还加入了一个文档类(document class)的概念,使用文档类后,我们刚才写帧上面的代码就不用了,直接写在文档类里面,文档类就相当于第一帧的位置,这样我们就不用在FLA文件里写代码了,所有代码都写在AS文件里,达到了界面和代码的分离。

    现在在建立一个类,MainForm.as:

package net.smilecn{
   
    import flash.display.Sprite;
    import net.smilecn.MySprite;
   
    public class MainForm extends Sprite{
       
        public function MainForm(){
           
            var mySprite:MySprite = new MySprite();
 
            addChild(mySprite);
 
            mySprite.x=100;
            mySprite.y=100;
           
        }
    }
}

    我们发现刚才第一帧的代码搬到这个类里面来了,那个第一帧的代码就可以全部删除掉

    最后在FLA的属性栏中找到文档类,在后面输入类的位置:net.smilecn.MainForm(注意是包名加类名)

    好,现在发布看一下,是不是跟刚才的效果一样。

参与讨论去: 艾睿(Airia) 交朋友去:友吧推荐文章去:网站贴吧
企业招聘

北京中视力天文化传媒有限公司

公司简介:北京中视力天文化传媒有限公司,是CCTV.com央视国际网络有限公司投资的互联网研发团队。我们是天使的使者。。。

招聘FlashAS程序员详情点击

Copyright 2007-2008 51AS.com Extended in kingcms 鲁ICP备06001158号