让我们看看编写一个文档类。
第 1 步:声明包 - 包表示相对于 .fla 存储文档类的位置。如果您的文档类与 .fla 位于同一目录中,您只需编写:
package
如果它在文件夹中,则需要在package
. 假设您的文档类位于名为的目录中src
:
package src
现在已经排序,你应该有这样的东西:
package
{
//
}
您需要做的下一件事是导入您需要在文档类中使用的类。您将希望MovieClip
在您的文档类中进行扩展,因此让我们导入它:
package
{
import flash.display.MovieClip;
}
这就是我们需要涵盖您的示例的全部内容,所以现在我们转到所需的第三个元素,即类声明。在这种情况下,它由三个部分组成:
- 类命名空间 - 可以是
internal
(如果您只想从同一个包中的类访问您的类)或public
(可在项目中的任何位置访问)。
- 你的班级名称。
- 您的课程将扩展什么 - 在本例中为 MovieClip。
总之,您的将如下所示:
public class Document extends MovieClip
现在您将拥有如下所示的内容,这意味着您可以开始添加properties
and methods
:
package
{
import flash.display.MovieClip;
public class Document extends MovieClip
{
//
}
}
您要做的第一件事是constructor
为您的班级创建一个。在创建此类的实例时调用构造函数,或者在您的情况下是文档类,立即调用。
构造函数是通过创建一个与其包含类同名的方法来定义的。构造函数也必须是public
并且什么都不返回。这是带有空构造函数的新代码:
package
{
import flash.display.MovieClip;
public class Document extends MovieClip
{
// Constructor
public function Document()
{
//
}
}
}
下一步是创建属于您的类的属性。在您使用的示例中strGlobal:String
,让我们添加它。属性通常位于类声明的下方和构造函数的上方。属性由四部分组成:
- 命名空间 - 这决定了您的财产的可访问性。如果您省略它,则默认值为
internal
. 目前,这些是基础知识:
public
- 你的属性可以从任何引用你的类实例的地方访问。
private
- 你的属性只能从类中访问 - 起初这似乎没用,但最终你会发现自己主要使用它。
protected
- 您的属性可在扩展您的类的类中访问。
internal
- 可以从同一包中的类访问您的属性。
- 您的物业名称。
- 您的房产类型。
- 您的财产价值。
在您的情况下,strGlobal
将如下所示:
public var strGlobal:String = "Global";
让我们将其添加到您的文档类中:
package
{
import flash.display.MovieClip;
public class Document extends MovieClip
{
// Properties
public var strGlobal:String = "Global";
// Constructor
public function Document()
{
//
}
}
}
接下来,您将要scopeTest()
根据您的问题创建您的方法。方法由5部分组成:
- 命名空间 - 方法使用与属性相同的命名空间(见上文)。
- 方法名称。
- 方法参数。
- 返回类型。
- 内容。
scopeTest()
没有任何参数,也没有返回任何东西,所以它看起来像这样:
public function scopeTest():void
{
trace(strGlobal);
}
方法通常属于构造函数下方的任何位置,所以现在让我们将其插入:
package
{
import flash.display.MovieClip;
public class Document extends MovieClip
{
// Properties
public var strGlobal:String = "Global";
// Constructor
public function Document()
{
//
}
// Output the value of strGlobal
public function scopeTest():void
{
trace(strGlobal);
}
}
}
现在一切都准备好了,您将能够scopeTest()
从构造函数中调用。因为构造函数被立即调用,您应该Global
在输出面板中看到打印(假设您已在 Flash IDE 中正确链接到它)。
希望这可以帮助。