Flash教程:构造函数(构造函数)
审查:构造函数(构造函数)构造函数是与类名称相同的名称的方法。当类被实例化时,函数被自动调用,并且参数可以被传递,例如:
首先,创建一个类:
包{
公共课MyClass {
公共函数的MyClass(阿根廷:字符串){
跟踪();
TRA
构造函数(构造函数)
构造函数是与类名称相同的名称的方法。当类被实例化时,函数被自动调用,并且参数可以被传递,例如:
首先,创建一个类:
包{
公共课MyClass {
公共函数的MyClass(阿根廷:字符串){
跟踪();
跟踪();
}
}
}
然后,假设工作在Flash CS3 IDE(集成开发环境),在时间线上创建实例:
var myClass = myinstance:新MyClass(你好);
结果输出:
构建
你通过了你好
继承(继承)
一个类可以继承(继承)和扩展(扩展)从另一个班,这意味着它得到了另一个类的所有属性和方法(除了所涵盖的私人属性)。生成的子类(派生类)也可以添加更多的属性和方法,或更改现有属性或方法对父类(基类)。创建一个类来实现(两独立。文件),例如:
别忘了,每班必须有自己的文件,类的名字是在类的类名,其外延,所以必须有mybaseclass.as文件和mysubclass.as文件。因此,使用Flash CS3 IDE时,保存的FLA文件在同一文件夹中的两类。
下面的代码将生成两个实例,并将其写入时间轴以查看发生了什么。
VaR的基础:mybaseclass =新MyBaseClass();
Base.sayHello();
VaR子:mysubclass =新MySubClass();
Sub.sayHello();
Sub.sayGoodbye();
第一个例子没什么要说的。值得注意的是,在第二个例子sayHello方法sayHello没有定义,虽然在MySubClass,它从mybaseclass类继承。另一个值得注意的事情是添加一个新的方法,再见,这是不是在父类。
下面是如何在子类中的父类中改变现有的方法。在2中,我们可以重新定义这个方法。在3中,必须重写显式重写关键字来重新定义它。
包{
公共课mysubclass延伸MyBaseClass {
重写公共函数sayHello(){:无效
微量(你好从mysubclass );
}
公共函数(){:告别空虚
微量(再见mysubclass );
}
}
}
请注意,原来的sayHello方法是重写,并打电话给MySubClass后,有一个新的信息。此外,私有成员不能被重写,因为他们只能通过自己的类访问。
影片剪辑/雪碧类
我们可以写一个类,让另一个类继承它。在3,所有的代码都是不写在时间轴上,所以他们都继承自MovieClip或雪碧开始。MovieClip类是电影剪辑对象的属性和方法创建的模板,包括我们熟悉的属性,如X,Y坐标,电影的变焦,等等,这都没有太大的改变在3。
作为3还增加了Sprite类,通常被理解为一个电影剪辑,没有时间表。在许多情况下,只有代码操作对象的使用,和时间轴和帧无关,和雪碧光类应该使用。如果一个类继承MovieClip或雪碧,它会自动拥有这个类的所有属性和方法。我们还可以向这个类添加特殊的属性和方法。
例如,游戏设计一个航天器对象。我们希望它有一个图形和动作,在屏幕的某个位置,旋转,添加enterFrame监听器的动画,听鼠标和键盘。这些都可以通过影片剪辑或雪碧做的,所以他们要继承他们。同时,你也可以添加一些属性,如当速度(速度),油量(燃料)、损伤程度(损伤),以及起飞(起飞),下降(崩溃),射击(射击)或自我毁灭(自毁)等方法。所以这类大概是这样的:
包{
进口flash.display.sprite;
公共类飞船扩展精灵{
私人var速度:数字= 0;
私人var伤害:数字= 0;
私人var燃料:编号= 1000;
公共功能起飞():无效{
…
}
公共功能崩溃():无效{
…
}
公共功能射击():无效{
…
}
公共职能自毁():无效{
…
}
}
}
注意,第一个进口在flash.display包的Sprite类,如果你想导入的影片剪辑类,你还需要导入相同的包flash.display.movieclip类。