`
strugglesMen
  • 浏览: 117050 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

ActionScript3学习笔记1-创建简单的 ActionScript 3.0 类

阅读更多

创建并使用自己的 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 类创建类文件:

  1. 在 ActionScript 的特有程序 (例如 Flex Builder 或 Flash) 、通用编程工具 (例如 Dreamweaver) 或可操作纯文本文档的任何程序中打开新的文本文档。
  2. 将文件保存为“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 声明的左右花括号之间添加一个空白行, 然后输入以下代码:

    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 && name.length > 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 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 中创建此示例:

  1. 创建一个新的 Flash 文档。
  2. 使用“文本”工具在舞台上创建动态文本字段。给其指派实例名称 output
  3. 在选定帧 1 上的关键帧后, 打开“动作面板”并输入以下代码。

    import com.example.quickstart.Greeter;
        // 创建初始名称为“Steve”的 Greeter 实例
        var myGreeter:Greeter = new Greeter("Steve");
        // Steve, 您好
        output.text = myGreeter.sayHello();
        // 将光标移动到下一行
        output.text += "\n";
        // 将 Greeter 实例名称设置为“Harold”
        myGreeter.name = "Harold";
        // Harold, 您好
        output.text += myGreeter.sayHello();
  4. 从主菜单中, 选择“控制”>“测试影片”可以查看结果。

文章来自:http://www.adobe.com/cn/devnet/flash/quickstart/creating_class_as3/#properties

分享到:
评论

相关推荐

    Flash.ActionScript.3.0 基础教程 学习笔记(上机)

    《Flash ActionScript 3.0 基础教程学习笔记》是针对初学者精心编写的指导资料,旨在帮助读者快速掌握ActionScript 3.0这一强大的编程语言在Flash中的应用。ActionScript 3.0是Adobe Flash Professional和Flash ...

    flex actionscript学习笔记

    Flex ActionScript 学习笔记是关于使用Adobe Flex技术并结合ActionScript 3.0进行开发的知识总结。ActionScript 3.0是随着Flash CS3一起推出的一种强大的编程语言,相较于之前的ActionScript版本,它有着显著的提升...

    Flex 开发学习笔记6.1 - 创建 Flex Library Project

    Flex开发学习笔记6.1主要聚焦于创建Flex Library Project,这是一种在Adobe Flex开发环境中构建可重用组件的方式。Flex Library Project允许开发者创建自定义组件,这些组件可以被多个应用程序共享,提高了代码复用...

    flash+actionscript学习的实例和教程

    本资源包包含了关于"flash+actionscript学习的实例和教程",旨在帮助初学者和进阶者深入理解和掌握这两个工具。 **Flash ActionScript 3.0** ActionScript是Flash平台的编程语言,从早期的ActionScript 1.0和2.0...

    ActionScript3.0 Cookbook 学习笔记

    ### ActionScript 3.0 (AS3) 基础:代码放置与包管理 在ActionScript 3.0(AS3)中,代码的组织和放置方式与之前的版本有显著差异。AS3引入了更现代、面向对象的编程结构,这包括使用`package`关键字来组织类和代码...

    ActionScript 3.0入门教程ppt

    ActionScript 3.0 是Adobe Flash Professional中用于创建交互式内容和富互联网应用程序的主要脚本语言。相较于它的前任ActionScript 2.0,AS3带来了许多显著的改进和变化,使其成为更强大、更现代的编程环境。 1. *...

    Flash ActionScript 3 殿堂之路 笔记

    以上是AS3的基础知识,这些内容构成了进一步学习ActionScript 3编程的基石。通过掌握这些,开发者能够更有效地编写和调试代码,构建交互式的Flash应用程序。继续深入,还会涉及到类、包、继承、接口、事件处理等更...

    ActionScript3.0高级动画教程

    这个“ActionScript3.0高级动画教程”深入讲解了如何利用AS3.0来构建复杂的动画效果和游戏,对于希望提升AS3.0技能的专业开发者或爱好者来说,是一份宝贵的资源。 首先,ActionScript 3.0的最大改进在于它的性能...

    ActionScript3.0经典教程.pdf

    总之,《ActionScript3.0经典教程.pdf》不仅是一本系统介绍 AS3 编程的基础教程,更是一本涵盖众多实践案例的宝典。通过本书的学习,读者不仅能掌握 AS3 的核心概念和技术要点,还能通过丰富的实例提高自己的编程...

    ActionScript 3.0(study).rar

    “ActionScript 3.0(study).txt”这个文件很可能是学习资料或笔记,可能包含了关于以上知识点的详细解释、示例代码或学习指南。通过阅读和实践其中的内容,可以深入理解并掌握ActionScript 3.0的核心概念和技术,...

    Flex3.0学习手册

    《Flex3.0学习手册》是Bēniaǒ成长笔记中的一部分,由“虾皮工作室”整理而成,旨在帮助读者深入了解Flex3.0及其相关技术。本书不仅涵盖了Flex3.0的基础知识,还涉及到了ActionScript 3.0的应用以及与Flash Media ...

    AS3.0_AS3殿堂之路_笔记

    此外,《Flash8_ActionScript_宝典__笔记[by HSZZLZL].txt》可能是针对Flash 8版本的ActionScript学习资料,尽管AS3在功能上更强大,但理解早期版本可以帮助我们看到AS的发展历程。 通过深入阅读和实践这些笔记,...

    Flex AS3学习笔记总结

    Flex AS3 学习笔记总结 Flex 是 Adobe 开发的 RIA(Rich Internet Applications)工具,包括 Flex3 SDK、Flex Builder 和服务器产品,如 Lifestyle Data Services、CodeFushion。Flex 应用程序用 Flash.swf 文件...

    as3学习笔记

    在ActionScript3.0中,每种简单数据类型都与一个类相关联,类的类名就是数据类型的名字,如int类型与int类相关联。与其他编程语言不同,ActionScript3.0中的包装类对象是简单数据类型。定义变量的方式有两种,例如...

    新手AS_3[1].0学习笔记

    ### 新手AS_3[1].0学习笔记 #### ActionScript 3.0核心概念 **ActionScript 3.0** 是Adobe Flash平台的核心编程语言之一,它在**ActionScript 2.0**的基础上进行了大幅度的改进和增强,旨在提供更高效、更强大的...

    简易涂鸦板 Flash AS3.0

    【简易涂鸦板 Flash AS3.0】是一个使用ActionScript 3.0编程语言在Adobe Flash环境中创建的交互式应用程序。ActionScript 3.0是Flash平台的核心,它提供了更高效、更强大的性能和功能,使得开发动画、游戏以及交互式...

    AS3.0_AS3殿堂之路_笔记[七月经典]

    ### AS3.0_AS3殿堂之路_笔记[七月经典] #### 第2章 ActionScript 3 语言基本元素 本章节将深入探讨ActionScript 3 (AS3) 中的基础语法及核心概念,为后续学习奠定坚实的理论基础。 ##### 2.1.2 数据类型概述 在...

    AS3.0殿堂之路_笔记

    【ActionScript 3.0殿堂之路_笔记】 ActionScript 3.0是Adobe Flash平台上的主要编程语言,用于创建互动式网页内容、游戏和应用程序。本笔记将详细讲解AS3.0的基础知识,包括语言元素、数据类型、变量声明、运算符...

    PV3d Papervision3d API文档+学习笔记+全景案例

    Papervision3D(PV3D)是一款强大的开源3D图形引擎,专为Adobe Flash平台设计,支持ActionScript 3.0(AS3),是Flash AS3中实现3D效果的重要工具。在本文中,我们将深入探讨PV3D的API文档、学习笔记以及全景案例,...

    Away3D_4.1+Flex4.7学习笔记+案例

    《Away3D_4.1+Flex4.7学习笔记与案例解析》 Away3D是一个强大的开源3D引擎,专为Adobe Flash平台设计,它允许开发者创建丰富的、交互式的三维应用程序。本学习笔记结合Flex4.7框架,将深入探讨如何在Flash平台上...

Global site tag (gtag.js) - Google Analytics