创建并使用自己的 ActionScript 类时需要执行的步骤:
- 创建类文件
- 创建类和包声明
- 将属性添加到类
- 将方法添加到类
- 添加其他类元素
- 在应用程序中使用自己的类
创建类文件
ActionScript 3.0 类编写为文本文档, 独立于使用它的 Flash FLA 或 Flex MXML 文件。类文件需要与类同名, 扩展名为 .as。类文件应包含在与类的包结构匹配的文件夹层级中。在此例中, 我们要创建 Greeter 类, 使其保存在名为 Greeter.as 的文件中。包含包的完整类名称为“com.example.quickstart.Greeter” (Greeter 类包含在“com.example.quickstart”包中), 因此, Greeter.as 文件必须保存在类似于“/com/example/quickstart/”的文件夹结构中。“com”文件夹可以包含在应用程序的根文件夹中, 也可以包含在作为应用程序的 ActionScript 类路径一部分的文件夹中。
为 Greeter 类创建类文件:
- 在 ActionScript 的特有程序 (例如 Flex Builder 或 Flash) 、通用编程工具 (例如 Dreamweaver) 或可操作纯文本文档的任何程序中打开新的文本文档。
- 将文件保存为“Greeter.as”, 保存在与“/com/example/quickstart/”匹配的文件夹结构中 (其中, “com”文件夹为应用程序的根文件夹)。
创建类和包声明
使用 class
声明定义类的名称。一个类必须指定为“公用”, 其他代码才能创建该类的实例 (基本上, 除几种特别情况外, 所有 ActionScript 3.0 类都必须为公用类)。完整的声明为 public class ClassName
。该声明后接一对花括号, 其中包含类的内容。
反过来, class
声明必须包含在 package
声明中, 指示从中找到类的包的名称。语法与 class
声明语法相似: 文字 package
后接包名称, 然后是一对花括号, 其中包含包的内容 (一个 class
声明加上需要的任何 import
声明)。
将 class
和 package
声明添加到 Greeter 类中:
-
在您的 ActionScript 文件中, 输入以下代码:
package com.example.quickstart
{
public class Greeter
{
// 类内容 (方法和属性) 将显示在此处
}
}
此代码包含package
声明 (package com.example.quickstart
) 及其花括号组, 其中包含 class
声明 (public class Greeter
) 及其花括号组。
将属性添加到类
可以使用 var
声明在类正文中定义类的属性。语法类似于用于声明任何变量的语法, 不同之处在于您添加 public
修饰语 (与其在 class
声明中的使用方法一样)。
在 Greeter 类中定义 name
属性:
-
在 class
声明的左右花括号之间添加一个空白行, 然后输入以下代码:
此行代码定义 name
属性, 其中包含 String 值。您可以选择以指定变量初始值相同的方法指定属性的默认值 (例如 public var name:String = "Fred";
)。但是, 在本“快速入门”中, 您将在构造函数方法中设置初始值。
请注意, 您还可以使用修饰语 private
而不是 public
定义专用属性, 类似于:
private var secretValue:Number;
专用属性基本上可由类定义中任何代码访问的变量; 但不可用于类定义之外。
将方法添加到类
您使用与定义函数相同的语法在类中定义方法, 只是增加了访问修饰语 (例如 public
或 private
)。方法定义由以下元素构成:
- 访问修饰语 (通常是
public
或 private
)
- 单词
function
- 函数的名称
- 左右括号, 两者之间包含方法接受的所有参数的定义
- 冒号, 后接方法所返回值的数据类型 (如果方法不返回值, 则为
void
)
- 左右花括号, 其中包含方法执行的声明。
创建不接受任何参数并返回字符串值的 sayHello()
方法:
构造函数方法是一种特别的方法, 作为创建类实例过程的一部分被调用。可以使用构造函数指定属性的初始值或执行其他设置明细步骤。作为构造函数特别性质的一部分, 当您定义构造函数时, 方法的名称必须与类名称精确匹配, 方法必须定义为 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 com.example.quickstart.Greeter;
当您添加 import
声明后, 可以像任何其他类一样使用您的类。例如, 可以声明数据类型就是您的类的变量, 以及创建用于存储变量的类的实例:
var michaelGreeter:Greeter = new Greeter("Michael");
您还可以将值指派给实例的属性并调用其方法:
michaelGreeter.name = "Mike"
trace(michaelGreeter.sayHello());
示例
以下示例创建 Greater 类的一个实例, 将 name
属性设置为“Steve”, 然后调用 sayHello()
方法并将产生的问候语写入屏幕上的文本字段 (Flash) 或文本组件 (Flex)。
此示例由两部分构成: Greeter.as 文件中的 Greeter 类 (在本“快速入门”中已构建的文件) 和创建和使用 Greeter 类的实例的应用程序文件 (Flash FLA 或 Flex MXML 文件)。以下代码片断显示 Greeter 类的完整版本。关于创建示例应用程序文件的 Flash 和 Flex 版本的说明如下:
package com.example.quickstart
{
public class Greeter
{
public function Greeter(initialName:String = "")
{
name = initialName;
}
public var name:String;
public function sayHello():String
{
var result:String;
if (name != null && name.length > 0)
{
result = "Hello there, " + name + ".";
}
else
{
result = "Hello there, anonymous.";
}
return result;
}
}
}
在 Flash CS3 Professional 中创建此示例:
- 创建一个新的 Flash 文档。
- 使用“文本”工具在舞台上创建动态文本字段。给其指派实例名称 output。
-
在选定帧 1 上的关键帧后, 打开“动作面板”并输入以下代码。
import com.example.quickstart.Greeter;
var myGreeter:Greeter = new Greeter("Steve");
output.text = myGreeter.sayHello();
output.text += "\n";
myGreeter.name = "Harold";
output.text += myGreeter.sayHello();
- 从主菜单中, 选择“控制”>“测试影片”可以查看结果。
文章来自:http://www.adobe.com/cn/devnet/flash/quickstart/creating_class_as3/#properties
分享到:
相关推荐
《Flash ActionScript 3.0 基础教程学习笔记》是针对初学者精心编写的指导资料,旨在帮助读者快速掌握ActionScript 3.0这一强大的编程语言在Flash中的应用。ActionScript 3.0是Adobe Flash Professional和Flash ...
Flex ActionScript 学习笔记是关于使用Adobe Flex技术并结合ActionScript 3.0进行开发的知识总结。ActionScript 3.0是随着Flash CS3一起推出的一种强大的编程语言,相较于之前的ActionScript版本,它有着显著的提升...
Flex开发学习笔记6.1主要聚焦于创建Flex Library Project,这是一种在Adobe Flex开发环境中构建可重用组件的方式。Flex Library Project允许开发者创建自定义组件,这些组件可以被多个应用程序共享,提高了代码复用...
本资源包包含了关于"flash+actionscript学习的实例和教程",旨在帮助初学者和进阶者深入理解和掌握这两个工具。 **Flash ActionScript 3.0** ActionScript是Flash平台的编程语言,从早期的ActionScript 1.0和2.0...
### ActionScript 3.0 (AS3) 基础:代码放置与包管理 在ActionScript 3.0(AS3)中,代码的组织和放置方式与之前的版本有显著差异。AS3引入了更现代、面向对象的编程结构,这包括使用`package`关键字来组织类和代码...
ActionScript 3.0 是Adobe Flash Professional中用于创建交互式内容和富互联网应用程序的主要脚本语言。相较于它的前任ActionScript 2.0,AS3带来了许多显著的改进和变化,使其成为更强大、更现代的编程环境。 1. *...
以上是AS3的基础知识,这些内容构成了进一步学习ActionScript 3编程的基石。通过掌握这些,开发者能够更有效地编写和调试代码,构建交互式的Flash应用程序。继续深入,还会涉及到类、包、继承、接口、事件处理等更...
这个“ActionScript3.0高级动画教程”深入讲解了如何利用AS3.0来构建复杂的动画效果和游戏,对于希望提升AS3.0技能的专业开发者或爱好者来说,是一份宝贵的资源。 首先,ActionScript 3.0的最大改进在于它的性能...
总之,《ActionScript3.0经典教程.pdf》不仅是一本系统介绍 AS3 编程的基础教程,更是一本涵盖众多实践案例的宝典。通过本书的学习,读者不仅能掌握 AS3 的核心概念和技术要点,还能通过丰富的实例提高自己的编程...
“ActionScript 3.0(study).txt”这个文件很可能是学习资料或笔记,可能包含了关于以上知识点的详细解释、示例代码或学习指南。通过阅读和实践其中的内容,可以深入理解并掌握ActionScript 3.0的核心概念和技术,...
《Flex3.0学习手册》是Bēniaǒ成长笔记中的一部分,由“虾皮工作室”整理而成,旨在帮助读者深入了解Flex3.0及其相关技术。本书不仅涵盖了Flex3.0的基础知识,还涉及到了ActionScript 3.0的应用以及与Flash Media ...
此外,《Flash8_ActionScript_宝典__笔记[by HSZZLZL].txt》可能是针对Flash 8版本的ActionScript学习资料,尽管AS3在功能上更强大,但理解早期版本可以帮助我们看到AS的发展历程。 通过深入阅读和实践这些笔记,...
Flex AS3 学习笔记总结 Flex 是 Adobe 开发的 RIA(Rich Internet Applications)工具,包括 Flex3 SDK、Flex Builder 和服务器产品,如 Lifestyle Data Services、CodeFushion。Flex 应用程序用 Flash.swf 文件...
在ActionScript3.0中,每种简单数据类型都与一个类相关联,类的类名就是数据类型的名字,如int类型与int类相关联。与其他编程语言不同,ActionScript3.0中的包装类对象是简单数据类型。定义变量的方式有两种,例如...
### 新手AS_3[1].0学习笔记 #### ActionScript 3.0核心概念 **ActionScript 3.0** 是Adobe Flash平台的核心编程语言之一,它在**ActionScript 2.0**的基础上进行了大幅度的改进和增强,旨在提供更高效、更强大的...
【简易涂鸦板 Flash AS3.0】是一个使用ActionScript 3.0编程语言在Adobe Flash环境中创建的交互式应用程序。ActionScript 3.0是Flash平台的核心,它提供了更高效、更强大的性能和功能,使得开发动画、游戏以及交互式...
### AS3.0_AS3殿堂之路_笔记[七月经典] #### 第2章 ActionScript 3 语言基本元素 本章节将深入探讨ActionScript 3 (AS3) 中的基础语法及核心概念,为后续学习奠定坚实的理论基础。 ##### 2.1.2 数据类型概述 在...
【ActionScript 3.0殿堂之路_笔记】 ActionScript 3.0是Adobe Flash平台上的主要编程语言,用于创建互动式网页内容、游戏和应用程序。本笔记将详细讲解AS3.0的基础知识,包括语言元素、数据类型、变量声明、运算符...
Papervision3D(PV3D)是一款强大的开源3D图形引擎,专为Adobe Flash平台设计,支持ActionScript 3.0(AS3),是Flash AS3中实现3D效果的重要工具。在本文中,我们将深入探讨PV3D的API文档、学习笔记以及全景案例,...
《Away3D_4.1+Flex4.7学习笔记与案例解析》 Away3D是一个强大的开源3D引擎,专为Adobe Flash平台设计,它允许开发者创建丰富的、交互式的三维应用程序。本学习笔记结合Flex4.7框架,将深入探讨如何在Flash平台上...