2023年6月21日发(作者:)
ActionScript3学习笔记1-创建简单的ActionScript3.0类创建并使⽤⾃⼰的 ActionScript 类时需要执⾏的步骤:创建类⽂件创建类和包声明将属性添加到类将⽅法添加到类添加其他类元素在应⽤程序中使⽤⾃⼰的类创建类⽂件ActionScript 3.0 类编写为⽂本⽂档, 独⽴于使⽤它的 Flash FLA 或 Flex MXML ⽂件。类⽂件需要与类同名, 扩展名为 .as。类⽂件应包含在与类的包结构匹配的⽂件夹层级中。在此例中, 我们要创建 Greeter 类, 使其保存在名为 的⽂件中。包含包的完整类名称为“r” (Greeter 类包含在“tart”包中), 因此, ⽂件必须保存在类似于“/com/example/quickstart/”的⽂件夹结构中。“com”⽂件夹可以包含在应⽤程序的根⽂件夹中, 也可以包含在作为应⽤程序的 ActionScript 类路径⼀部分的⽂件夹中。为 Greeter 类创建类⽂件:1.
在 ActionScript 的特有程序 (例如 Flex Builder 或 Flash) 、通⽤编程⼯具 (例如 Dreamweaver) 或可操作纯⽂本⽂档的任何程序中打开新的⽂本⽂档。2.
将⽂件保存为“”, 保存在与“/com/example/quickstart/”匹配的⽂件夹结构中 (其中, “com”⽂件夹为应⽤程序的根⽂件夹)。
创建类和包声明使⽤ class 声明定义类的名称。⼀个类必须指定为“公⽤”, 其他代码才能创建该类的实例 (基本上, 除⼏种特别情况外, 所有 ActionScript 3.0 类都必须为公⽤类)。完整的声明为 public class ClassName。该声明后接⼀对花括号, 其中包含类的内容。反过来, class 声明必须包含在 package 声明中, 指⽰从中找到类的包的名称。语法与 class 声明语法相似: ⽂字 package 后接包名称, 然后是⼀对花括号, 其中包含包的内容(⼀个 class 声明加上需要的任何 import 声明)。将 class 和 package 声明添加到 Greeter 类中:在您的 ActionScript ⽂件中, 输⼊以下代码:
package tart{ public class Greeter { // 类内容 (⽅法和属性) 将显⽰在此处
}}此代码包含package 声明 (package tart) 及其花括号组, 其中包含 class 声明 (public class Greeter) 及其花括号组。
将属性添加到类可以使⽤ var 声明在类正⽂中定义类的属性。语法类似于⽤于声明任何变量的语法, 不同之处在于您添加 public 修饰语 (与其在 class 声明中的使⽤⽅法⼀样)。在 Greeter 类中定义 name 属性:在 class 声明的左右花括号之间添加⼀个空⽩⾏, 然后输⼊以下代码:public var name:String;此⾏代码定义 name 属性, 其中包含 String 值。您可以选择以指定变量初始值相同的⽅法指定属性的默认值 (例如 public var name:String = "Fred";)。但是, 在本“快速⼊门”中, 您将在构造函数⽅法中设置初始值。请注意, 您还可以使⽤修饰语 private ⽽不是 public 定义专⽤属性, 类似于:private var secretValue:Number;专⽤属性基本上可由类定义中任何代码访问的变量; 但不可⽤于类定义之外。
将⽅法添加到类您使⽤与定义函数相同的语法在类中定义⽅法, 只是增加了访问修饰语 (例如 public 或 private)。⽅法定义由以下元素构成:访问修饰语 (通常是 public 或 private)单词 function函数的名称左右括号, 两者之间包含⽅法接受的所有参数的定义冒号, 后接⽅法所返回值的数据类型 (如果⽅法不返回值, 则为 void)左右花括号, 其中包含⽅法执⾏的声明。创建不接受任何参数并返回字符串值的 sayHello() ⽅法:在 class 声明的左右花括号之间输⼊以下代码⾏:
public function sayHello():String { var result:String; if (name != null && > 0) { result = "Hello there, " + name + "."; } else { result = "Hello there, anonymous."; } return result; }构造函数⽅法是⼀种特别的⽅法, 作为创建类实例过程的⼀部分被调⽤。可以使⽤构造函数指定属性的初始值或执⾏其他设置明细步骤。作为构造函数特别性质的⼀部分, 当您定义构造函数时, ⽅法的名称必须与类名称精确匹配, ⽅法必须定义为 public, ⽽且不能指定返回值的数据类型 (或 void)。为 Greeter 类创建构造函数⽅法:在类声明的左右花括号之间输⼊以下代码⾏:public function Greeter(initialName:String = "") { name = initialName; }此代码定义可选择接受单个 String 参数的构造函数。如果值通过该参数, 则值指派给名称属性。否则, 名称属性设置为 "" (空字符串), 因为这是该⽅法参数的默认值。如果在类中不定义构造函数⽅法 (例如, 如果⽆需执⾏任何设置操作), 则编译器将⾃动为您的类创建空构造函数 (⽆参数、⽆声明)。添加其他类元素您可以定义其他⼏个类元素。创建这些元素的过程⽐创建⽅法和属性涉及更多内容, 因⽽在本“快速⼊门”中详细介绍:存取程序是⽅法与属性之间的⼀种特殊交叉。当您编写定义类的代码时, 以类似于⽅法的⽅式编写存取程序, 使您能够执⾏多个操作 (⽽不仅仅是读取或指派⼀个值, 这些是定义属性时可进⾏的所有操作)。但是, 当您创建类的实例时, 以类似于属性的⽅式对待存取程序 - 仅使⽤名称读取或指派值。有关更多信息, 请参见《Programming ActionScript 3.0》中的“Get and set accessor methods*”。ActionScript 中事件的定义不使⽤特定语法。相反, 通过 EventDispatcher 类的功能定义类中的事件, 这些功能⽤于跟踪事件侦听器并向其通知事件。有关在您⾃⼰的类中创建事件的更多信息, 请参见《Programming ActionScript 3.0》中的“Handling events*”。
在应⽤程序中使⽤⾃⼰的类您可以像任何其他 ActionScript 类中⼀样在您⾃⼰的类中创建和使⽤实例。⾸先, 您必须使⽤ import 声明以及类的包和名称, 以告诉编译器在何处查找类。对于 Greeter类, import 声明类似于:import r;当您添加 import 声明后, 可以像任何其他类⼀样使⽤您的类。例如, 可以声明数据类型就是您的类的变量, 以及创建⽤于存储变量的类的实例:var michaelGreeter:Greeter = new Greeter("Michael");您还可以将值指派给实例的属性并调⽤其⽅法: = "Mike"trace(lo());
⽰例以下⽰例创建 Greater 类的⼀个实例, 将 name 属性设置为“Steve”, 然后调⽤ sayHello() ⽅法并将产⽣的问候语写⼊屏幕上的⽂本字段 (Flash) 或⽂本组件 (Flex)。此⽰例由两部分构成: ⽂件中的 Greeter 类 (在本“快速⼊门”中已构建的⽂件) 和创建和使⽤ Greeter 类的实例的应⽤程序⽂件 (Flash FLA 或 Flex MXML⽂件)。以下代码⽚断显⽰ Greeter 类的完整版本。关于创建⽰例应⽤程序⽂件的 Flash 和 Flex 版本的说明如下:package tart{ public class Greeter { public function Greeter(initialName:String = "") {name = initialName; } public var name:String; public function sayHello():String { var result:String; if (name != null && > 0) {result = "Hello there, " + name + "."; } else {result = "Hello there, anonymous."; } return result; } }}在 Flash CS3 Professional 中创建此⽰例:1.
创建⼀个新的 Flash ⽂档。2.
使⽤“⽂本”⼯具在舞台上创建动态⽂本字段。给其指派实例名称 output。3.
在选定帧 1 上的关键帧后, 打开“动作⾯板”并输⼊以下代码。import r; // 创建初始名称为“Steve”的 Greeter 实例 var myGreeter:Greeter = new Greeter("Steve"); // Steve, 您好 = lo(); // 将光标移动到下⼀⾏ += "n"; // 将 Greeter 实例名称设置为“Harold” = "Harold"; // Harold, 您好 += lo();4.
从主菜单中, 选择“控制”>“测试影⽚”可以查看结果。
2023年6月21日发(作者:)
ActionScript3学习笔记1-创建简单的ActionScript3.0类创建并使⽤⾃⼰的 ActionScript 类时需要执⾏的步骤:创建类⽂件创建类和包声明将属性添加到类将⽅法添加到类添加其他类元素在应⽤程序中使⽤⾃⼰的类创建类⽂件ActionScript 3.0 类编写为⽂本⽂档, 独⽴于使⽤它的 Flash FLA 或 Flex MXML ⽂件。类⽂件需要与类同名, 扩展名为 .as。类⽂件应包含在与类的包结构匹配的⽂件夹层级中。在此例中, 我们要创建 Greeter 类, 使其保存在名为 的⽂件中。包含包的完整类名称为“r” (Greeter 类包含在“tart”包中), 因此, ⽂件必须保存在类似于“/com/example/quickstart/”的⽂件夹结构中。“com”⽂件夹可以包含在应⽤程序的根⽂件夹中, 也可以包含在作为应⽤程序的 ActionScript 类路径⼀部分的⽂件夹中。为 Greeter 类创建类⽂件:1.
在 ActionScript 的特有程序 (例如 Flex Builder 或 Flash) 、通⽤编程⼯具 (例如 Dreamweaver) 或可操作纯⽂本⽂档的任何程序中打开新的⽂本⽂档。2.
将⽂件保存为“”, 保存在与“/com/example/quickstart/”匹配的⽂件夹结构中 (其中, “com”⽂件夹为应⽤程序的根⽂件夹)。
创建类和包声明使⽤ class 声明定义类的名称。⼀个类必须指定为“公⽤”, 其他代码才能创建该类的实例 (基本上, 除⼏种特别情况外, 所有 ActionScript 3.0 类都必须为公⽤类)。完整的声明为 public class ClassName。该声明后接⼀对花括号, 其中包含类的内容。反过来, class 声明必须包含在 package 声明中, 指⽰从中找到类的包的名称。语法与 class 声明语法相似: ⽂字 package 后接包名称, 然后是⼀对花括号, 其中包含包的内容(⼀个 class 声明加上需要的任何 import 声明)。将 class 和 package 声明添加到 Greeter 类中:在您的 ActionScript ⽂件中, 输⼊以下代码:
package tart{ public class Greeter { // 类内容 (⽅法和属性) 将显⽰在此处
}}此代码包含package 声明 (package tart) 及其花括号组, 其中包含 class 声明 (public class Greeter) 及其花括号组。
将属性添加到类可以使⽤ var 声明在类正⽂中定义类的属性。语法类似于⽤于声明任何变量的语法, 不同之处在于您添加 public 修饰语 (与其在 class 声明中的使⽤⽅法⼀样)。在 Greeter 类中定义 name 属性:在 class 声明的左右花括号之间添加⼀个空⽩⾏, 然后输⼊以下代码:public var name:String;此⾏代码定义 name 属性, 其中包含 String 值。您可以选择以指定变量初始值相同的⽅法指定属性的默认值 (例如 public var name:String = "Fred";)。但是, 在本“快速⼊门”中, 您将在构造函数⽅法中设置初始值。请注意, 您还可以使⽤修饰语 private ⽽不是 public 定义专⽤属性, 类似于:private var secretValue:Number;专⽤属性基本上可由类定义中任何代码访问的变量; 但不可⽤于类定义之外。
将⽅法添加到类您使⽤与定义函数相同的语法在类中定义⽅法, 只是增加了访问修饰语 (例如 public 或 private)。⽅法定义由以下元素构成:访问修饰语 (通常是 public 或 private)单词 function函数的名称左右括号, 两者之间包含⽅法接受的所有参数的定义冒号, 后接⽅法所返回值的数据类型 (如果⽅法不返回值, 则为 void)左右花括号, 其中包含⽅法执⾏的声明。创建不接受任何参数并返回字符串值的 sayHello() ⽅法:在 class 声明的左右花括号之间输⼊以下代码⾏:
public function sayHello():String { var result:String; if (name != null && > 0) { result = "Hello there, " + name + "."; } else { result = "Hello there, anonymous."; } return result; }构造函数⽅法是⼀种特别的⽅法, 作为创建类实例过程的⼀部分被调⽤。可以使⽤构造函数指定属性的初始值或执⾏其他设置明细步骤。作为构造函数特别性质的⼀部分, 当您定义构造函数时, ⽅法的名称必须与类名称精确匹配, ⽅法必须定义为 public, ⽽且不能指定返回值的数据类型 (或 void)。为 Greeter 类创建构造函数⽅法:在类声明的左右花括号之间输⼊以下代码⾏:public function Greeter(initialName:String = "") { name = initialName; }此代码定义可选择接受单个 String 参数的构造函数。如果值通过该参数, 则值指派给名称属性。否则, 名称属性设置为 "" (空字符串), 因为这是该⽅法参数的默认值。如果在类中不定义构造函数⽅法 (例如, 如果⽆需执⾏任何设置操作), 则编译器将⾃动为您的类创建空构造函数 (⽆参数、⽆声明)。添加其他类元素您可以定义其他⼏个类元素。创建这些元素的过程⽐创建⽅法和属性涉及更多内容, 因⽽在本“快速⼊门”中详细介绍:存取程序是⽅法与属性之间的⼀种特殊交叉。当您编写定义类的代码时, 以类似于⽅法的⽅式编写存取程序, 使您能够执⾏多个操作 (⽽不仅仅是读取或指派⼀个值, 这些是定义属性时可进⾏的所有操作)。但是, 当您创建类的实例时, 以类似于属性的⽅式对待存取程序 - 仅使⽤名称读取或指派值。有关更多信息, 请参见《Programming ActionScript 3.0》中的“Get and set accessor methods*”。ActionScript 中事件的定义不使⽤特定语法。相反, 通过 EventDispatcher 类的功能定义类中的事件, 这些功能⽤于跟踪事件侦听器并向其通知事件。有关在您⾃⼰的类中创建事件的更多信息, 请参见《Programming ActionScript 3.0》中的“Handling events*”。
在应⽤程序中使⽤⾃⼰的类您可以像任何其他 ActionScript 类中⼀样在您⾃⼰的类中创建和使⽤实例。⾸先, 您必须使⽤ import 声明以及类的包和名称, 以告诉编译器在何处查找类。对于 Greeter类, import 声明类似于:import r;当您添加 import 声明后, 可以像任何其他类⼀样使⽤您的类。例如, 可以声明数据类型就是您的类的变量, 以及创建⽤于存储变量的类的实例:var michaelGreeter:Greeter = new Greeter("Michael");您还可以将值指派给实例的属性并调⽤其⽅法: = "Mike"trace(lo());
⽰例以下⽰例创建 Greater 类的⼀个实例, 将 name 属性设置为“Steve”, 然后调⽤ sayHello() ⽅法并将产⽣的问候语写⼊屏幕上的⽂本字段 (Flash) 或⽂本组件 (Flex)。此⽰例由两部分构成: ⽂件中的 Greeter 类 (在本“快速⼊门”中已构建的⽂件) 和创建和使⽤ Greeter 类的实例的应⽤程序⽂件 (Flash FLA 或 Flex MXML⽂件)。以下代码⽚断显⽰ Greeter 类的完整版本。关于创建⽰例应⽤程序⽂件的 Flash 和 Flex 版本的说明如下:package tart{ public class Greeter { public function Greeter(initialName:String = "") {name = initialName; } public var name:String; public function sayHello():String { var result:String; if (name != null && > 0) {result = "Hello there, " + name + "."; } else {result = "Hello there, anonymous."; } return result; } }}在 Flash CS3 Professional 中创建此⽰例:1.
创建⼀个新的 Flash ⽂档。2.
使⽤“⽂本”⼯具在舞台上创建动态⽂本字段。给其指派实例名称 output。3.
在选定帧 1 上的关键帧后, 打开“动作⾯板”并输⼊以下代码。import r; // 创建初始名称为“Steve”的 Greeter 实例 var myGreeter:Greeter = new Greeter("Steve"); // Steve, 您好 = lo(); // 将光标移动到下⼀⾏ += "n"; // 将 Greeter 实例名称设置为“Harold” = "Harold"; // Harold, 您好 += lo();4.
从主菜单中, 选择“控制”>“测试影⽚”可以查看结果。
发布评论