|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
使用Flash创作的各个内容单元称为应用程序,即使它们可能只是很简单的动画。您也可以通过添加图片、声音、视频和特殊效果,构建包含丰富媒体的Flash应用程序。
子类化显现工具
后面已讲过天生Sprite或MovieClip类的子类,对某个类举行子类化长短常有效的。起首,人人大概对AS3作废attachMovieClip功效感应非常惊呀,假如如许的话,我们怎样才干在FlashCS3IDE库中掏出影片剪辑元件放进舞台呢?谜底是,利用一个承继自MovieClip或Sprite的类。为了可以好地注释这个成绩,复杂地先容一下IDE:
- 创立一个新的FLA文件,并在舞台上绘制一些图形。
- 选中图形按下F8键转换为元件。
- 在转换为元件窗口中输出一个称号,并设置为影片剪辑范例。
- 选择为ActionScript导出。
在之前的Flash版本中,能够自在地给出标识符或输出一个类名。而在FlashCS3中,标识符一栏不成用了,类一栏会主动地填进默许值。这里还多出了基类一栏,默许为flash.display.MovieClip,这里也能够填进承继自MovieClip或Sprite的自界说类。
随便输出一个类名,不用忧虑没有这个类,然后点击断定。这个中央很风趣,Flash找不到这个类,它就会主动天生一个类,并对其举行编译。并非说Flash会创立一个ActionScript类文件,但它会在SWF中,天生一串字节代码暗示一个承继自Sprite或MovieClip的类。除承继了基类,它甚么都不会做,但它已与库中的元件毗连上了。好比,你的类名为Ball。在文档类或工夫轴上,能够这么写:
varball:Ball=newBall();
addChild(ball);
如许就在舞台上创立了一个库中的元件,就像AS2的attachMovie办法一样。我们如果能给出自界说的真实的类名及路径的话,那末就能够让元件附加良多功效。如今,我们跳出FlashIDE回到类的天下,看下一个示例。上面再看一个重定父级的示例,这里有一些反复的部分能够写进另外一个类中。看一下示例,假定已创立了一个名为parent1的Sprite实例,要内里绘制正方形:
parent1.graphics.lineStyle(1,0);
parent1.graphics.drawRect(-50,-50,100,100);
上面再创立一个名为parent2的Sprite实例,一样也是绘制一个正方形。固然这个例子毫偶然义,但它能够告知我们Sprite的子类是何等的有效。起首,我们创建一个名为ParentBox的类,并承继自Sprite,如许一来,就具有了绘制正方形的代码:
package{
importflash.display.Sprite;
publicclassParentBoxextendsSprite{
publicfunctionParentBox(){
init();
}
privatefunctioninit():void{
graphics.lineStyle(1,0);
graphics.drawRect(-50,-50,100,100);
}
}
}
然后,利用这个类创立两个ParentBox,如许做比创立两个Sprite工具要好很多。
package{
importflash.display.Sprite;
importflash.events.MouseEvent;
publicclassReparenting2extendsSprite{
privatevarparent1:ParentBox;
privatevarparent2:ParentBox;
privatevarball:Sprite;
publicfunctionReparenting2(){
init();
}
privatefunctioninit():void{
parent1=newParentBox();
addChild(parent1);
parent1.x=60;
parent1.y=60;
parent2=newParentBox();
addChild(parent2);
parent2.x=170;
parent2.y=60;
ball=newSprite();
parent1.addChild(ball);
ball.graphics.beginFill(0xff0000);
ball.graphics.drawCircle(0,0,40);
ball.graphics.endFill();
ball.addEventListener(MouseEvent.CLICK,onBallClick);
}
publicfunctiononBallClick(event:MouseEvent):void{
parent2.addChild(ball);
}
}
}
作为ParentBox的实例,它们还是Sprite,因而还能够再增添子影片,init办法间接举行画图。固然这个示例代价不年夜,但可让你学会这类头脑,今后,会在书中看到更多更庞大的示例。你大概想本人下手创立一个球(Ball)类,用于绘制小球,固然这么做不会削减代码里,可是当你的类变得非常庞大时,把功效代码分别到分歧的类中,这相对是个好举措,它比将一切类写在一同要好很多,同时还增进了代码的重用性。那末如今就往创立这个Ball类吧,在往后的进修中还要用到呢。
这个播放器非常小,只需花一点点时间下载,对于在体验网页上的多媒体效果是个很好的开始。 |
|