注释:子类显示对象


一类Sprite或MovieClip类已经说过,和一类的次范畴化是非常有用的。首先,你可能会惊讶于attachmovieclip功能取消3。如果是这样,我们怎么能把剪辑元件在Flash CS3 IDE库放在舞台上答案是,使用一个继承




类显示对象


一类Sprite或MovieClip类已经说过,和一类的次范畴化是非常有用的。首先,你可能会惊讶于attachmovieclip功能取消3。如果是这样,我们怎么能把剪辑元件在Flash CS3 IDE库放在舞台上答案是用一类影片剪辑或雪碧继承。很好地解释这一问题,简要介绍了IDE:




创建一个新的FLA文件,在舞台上绘制一些图形。

选中的图形通过按F8键转换为组件。

在切换到组件窗口时输入一个名称,并将其设置为电影剪辑类型。

选择出口的脚本。



在以前版本的flash中,标识符是自由给予或类的名字可以进入。在Flash CS3中,标识符列是不可用的,和班列将自动填入默认值。还有一个基地班列,这是flash.display.movieclip,你也能从影片剪辑或雪碧继承一个自定义类。


输入类别名称时,不要担心没有阶级,并单击确定。这个地方是有趣的,和Flash不能找到这个类,它会自动生成一个类并编译它,这并不意味着Flash会创建一个Actionscript类文件,但它将生成的SWF的字符串字节码,它代表一个类Sprite或MovieClip继承。除了基础类继承,它不做任何事,但它已经连接到库中的元件,例如,你的名字是球。在文件级或时间线,你可以这样写:


零球:球=新球();
addChild(球);


这将创建一个组件库中的舞台上,就像attachmovie法为2。如果我们能给一个自定义的房类的名称和路径,你可以向组件添加了很多功能。现在,我们跳出Flash IDE回类世界,看下一个例子。二,看看一个重新定义父的一个例子,有一些重复的部分,可以写另一个类的实例。看一看,假设一个雪碧的实例称为parent1已创建绘制一个正方形,在它:


(1, 0)parent1.graphics.linestyle;
parent1.graphics.drawrect(50 - 50, 100, 100);


一个精灵的命名实例parent2创建下面,还有画一个正方形。当然,这个例子是没有意义的,但它可以告诉我们雪碧类是多么有用。首先,我们建立了一类称为parentbox和继承精神,使我们的代码来绘制一个正方形。


包{
进口flash.display.sprite;
公共课parentbox延伸雪碧{
公共函数ParentBox(){
init();
}
私有函数init():无效{
(1, 0)graphics.linestyle;
Graphics.drawRect(50 - 50, 100, 100);
}
}
}


然后,使用这个类来创建两parentbox,这比创建两个精灵对象要好的多。


包{
进口flash.display.sprite;
进口flash.events.mouseevent;
公共课reparenting2延伸雪碧{
私人parent1:parentbox VaR;
私人parent2:parentbox VaR;
私人var球:雪碧;
公共功能reparenting2(){
init();
}
私有函数init():无效{
parent1 =新parentbox();
addChild(parent1);
parent1 x = 60;
parent1 y = 60;
parent2 =新parentbox();
addChild(parent2);
parent2 x = 170;
parent2 y = 60;
球=新雪碧();
parent1.addchild(球);
Ball.graphics.beginFill(0xFF0000);
(0, 0, 40)ball.graphics.drawcircle;
Ball.graphics.endFill();
Ball.addEventListener(MouseEvent.CLICK,onballclick);
}
公共功能onballclick(事件:事件:void){
parent2.addchild(球);
}
}
}


作为parentbox例,他们仍然是精灵,所以你也可以添加subfilms,和init方法可以直接借鉴的。尽管这个例子是没有价值的,它可以让你学习这个想法,后来,你会在书中看到更多和更复杂的例子,你可能想做自己创建一个球(球),是用来画球,虽然不减少代码,但你上课的时候是非常复杂的,代码的功能分成不同的类,这绝对是一个很好的方式,它是写在一个好的课堂的同时,也促进了代码重用。现在创建球类,经过研究还应用于天。