|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
您是否有着精彩的Flash作品,您是否想把他转化为屏保程序。
机关函数(Constructor)
机关函数是指一个名字与类名不异的办法。当该类被实例化时,该函数会被主动挪用,也能够传进参数,比方:
起首,创立一个类:
package{
publicclassMyClass{
publicfunctionMyClass(arg:String){
trace("constructed");
trace("youpassed"+arg);
}
}
}
然后,假定事情在FlashCS3IDE(集成开辟情况)中,在工夫轴上创立该实例:
varmyInstance:MyClass=newMyClass("hello");
了局输入:
constructed
youpassedhello
承继(Inheritance)
一个类能够从另外一个类中承继(inherit)和扩大(extend)而来。这就意味着它取得了另外一个类一切的属性和办法(除那些被private掩饰住的属性)。所天生的子类(派生类)还能够增添更多的属性和办法,或变动父类(基类)已有的属性或办法。要分离创立两个类来完成(两个自力的.as文件),比方:
不要健忘,每一个类都必需在其本身的文件中,文件名为该类的类名,扩大名.as,以是必需要有MyBaseClass.as文件和MySubClass.as文件。因而,在利用FlashCS3IDE时,保留的FLA文件,要与这两个类在统一个文件夹。
上面代码会临盆两个实例,把它写进工夫轴看看会产生甚么:
varbase:MyBaseClass=newMyBaseClass();
base.sayHello();
varsub:MySubClass=newMySubClass();
sub.sayHello();
sub.sayGoodbye();
第一个实例没甚么可说的,值得注重的是第二个实例中的sayHello办法,固然在MySubClass中没有界说sayHello,但它倒是承继自MyBaseClass类的。另外一个值得注重的是,增添了一个新的办法sayGoodbye,这是父类所没有的。
上面说说,在子类中怎样改动一个父类中已存在的办法。在AS2中,我们能够只必要从头界说这个办法就能够了。而在AS3中,则必须明白地写出override关头字,来举行从头界说。
package{
publicclassMySubClassextendsMyBaseClass{
overridepublicfunctionsayHello():void{
trace("HolafromMySubClass");
}
publicfunctionsayGoodbye():void{
trace("GoodbyefromMySubClass");
}
}
}
请注重,本来的sayHello办法被重写,再挪用MySubClass后,就有了新的信息。别的,公有成员也不克不及被重写,由于它们只能被它们本身的类会见。
MovieClip/Sprite子类
我们能够本人写一个类,然后让另外一个类往承继它。在AS3中,一切代码都不是写在工夫轴上的,那末它们一入手下手都要承继自MovieClip或Sprite。MovieClip类是影片剪辑工具属性和办法的ActionScript模板。它包含我们所熟习的属性如:影片的x,y坐标,缩放等,这些在AS3中的变更不年夜。
AS3还增添了Sprite类,一般把它了解为不在工夫轴上的影片剪辑。良多情形下,只利用代码操纵工具,其实不触及工夫轴和帧,这时候就应当利用Sprite这个轻型的类。假如一个类承继自MovieClip或Sprite,那末它会主动具有该类一切的属性和办法,我们还能够为这个类增添特别的属性和办法。
比方,游戏计划一个太空船的工具,我们但愿它具有一个图形,而且在屏幕的某个地位挪动,扭转,并为动画增加enterFrame侦听器,另有鼠标、键盘的侦听等。这些都能够由MovieClip或Sprite来完成,以是就要承继自它们。同时,还能够增添一些属性如:速率(speed)、油量(fuel)、破坏度(damage),另有像腾飞(takeOff)、坠落(crash)、射击(shoot)或是自毁(selfDestruct)等办法。那末这个类也许是如许的:
package{
importflash.display.Sprite;
publicclassSpaceShipextendsSprite{
privatevarspeed:Number=0;
privatevardamage:Number=0;
privatevarfuel:Number=1000;
publicfunctiontakeOff():void{
//...
}
publicfunctioncrash():void{
//...
}
publicfunctionshoot():void{
//...
}
publicfunctionselfDestruct():void{
//...
}
}
}
注重,起首要导进flash.display包中的Sprite类,假如要导进MovieClip类,一样也必要导进这个不异的包flash.display.MovieClip类。
Flash通常也指MacromediaFlashPlayer(现AdobeFlashPlayer)。2012年8月15日,Flash退出Android平台,正式告别移动端。 |
|