您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 工作范文 > 新手AS 3.0学习笔记
-1-章节描述第1-4章,ActionScript编程概述讨论ActionScript3.0核心概念,其中包括语言语法、语句和运算符、ECMAScript第4版语言规范草案、面向对象的ActionScript编程以及管理Adobe®Flash®Player9显示列表中的显示对象的新方法。第5-10章,ActionScript3.0核心数据类型和类介绍ActionScript3.0中的顶级数据类型(也是ECMAScript规范草案的一部分)。第11-26章,FlashPlayerAPI介绍在特定于AdobeFlashPlayer9的包和类中实现的重要功能,其中包括事件处理、网络和通信、文件输入和输出、外部接口、应用程序安全模型等。ActionScript快速入门关于ActionScriptActionScript是由FlashPlayer中的ActionScript虚拟机(AVM)来执行的。ActionScript代码通常被编译器编译成字节码格式(一种由计算机编写且能够为计算机所理解的编程语言),如AdobeFlashCS3Professional或Adobe®Flex™Builder™的内置编译器或Adobe®Flex™SDK和Flex™DataServices中提供的编译器。字节码嵌入SWF文件中,SWF文件由运行时环境FlashPlayer执行。ActionScript3.0中的一些主要功能包括:一个新增的ActionScript虚拟机,称为AVM2,它使用全新的字节码指令集,可使性能显著提高。一个更为先进的编译器代码库,它更为严格地遵循ECMAScript(ECMA262)标准,并且相对于早期的编译器版本,可执行更深入的优化。一个扩展并改进的应用程序编程接口(API),拥有对对象的低级控制和真正意义上的面向对象的模型。一种基于即将发布的ECMAScript(ECMA-262)第4版草案语言规范的核心语言。一个基于ECMAScriptforXML(E4X)规范(ECMA-357第2版)的XMLAPI。E4X是ECMAScript的一种语言扩展,它将XML添加为语言的本机数据类型。一个基于文档对象模型(DOM)第3级事件规范的事件模型。编程基础计算机程序主要包括两个方面:一、程序是计算机执行的一系列指令或步骤。二、每一步最终都涉及到对某一段信息或数据的处理。通常认为,计算机程序只是您提供给计算机并让它逐步执行的指令列表。每个单独的指令都称为语句。在ActionScript中编写的每个语句的末尾都有一个分号。实质上,程序中给定指令所做的全部操作就是处理存储在计算机内存中的一些数据位。变量和常量变量是一个名称,它代表计算机内存中的值。在编写语句来处理值时,编写变量名来代替值;只要计算机看到程序中的变量名,就会查看自己的内存并使用在内存中找到的值。在ActionScript3.0中,一个变量实际上包含三个不同部分:变量名计算机将名称用作值的占位符。可以存储在变量中的数据的类型存储在计算机内存中的实际值在ActionScript中,要创建一个变量(称为声明变量),应使用var语句。在AdobeFlashCS3Professional中,还包含另外一种变量声明方法。在将一个影片剪辑元件、按钮元件或文本字段放置在舞台上时,可以在属性检查器中为它指定一个实例名称。在后台,Flash将创建一个与该实例名称同名的变量,您可以在ActionScript代码中使用该变量来引用该舞台项目。-2-数据类型在ActionScript中,您可以将很多数据类型用作所创建的变量的数据类型。其中的某些数据类型可以看作是简单或基本数据类型:String:一个文本值Numeric:对于numeric型数据,ActionScript3.0包含三种特定的数据类型:oNumber:任何数值,包括有小数部分或没有小数部分的值oInt:一个整数(不带小数部分的整数)oUint:一个无符号整数,即不能为负数的整数Boolean:一个true或false值简单数据类型表示单条信息。然而,ActionScript中定义的大部分数据类型都可以被描述为复杂数据类型,因为它们表示组合在一起的一组值。大部分内置数据类型以及程序员定义的数据类型都是复杂数据类型。您可能认识下面的一些复杂数据类型:MovieClip:影片剪辑元件TextField:动态文本字段或输入文本字段SimpleButton:按钮元件Date:有关时间中的某个片刻的信息(日期和时间)经常用作数据类型的同义词的两个词是类和对象。类仅仅是数据类型的定义─就像用于该数据类型的所有对象的模板,而对象仅仅是类的一个实际的实例。下面几条陈述虽然表达的方式不同,但意思是相同的:变量myVariable的数据类型是Number。变量myVariable是一个Number实例。变量myVariable是一个Number对象。变量myVariable是Number类的一个实例。处理对象在面向对象的编程中,程序指令被划分到不同的对象中─代码构成功能块,因此相关类型的功能或相关的信息被组合到一个容器(即类)中。在ActionScript面向对象的编程中,任何类都可以包含三种类型的特性:属性、方法、事件。属性表示某个对象中绑定在一起的若干数据块中的一个。您可以像处理单个变量那样处理属性;事实上,可以将属性视为包含在对象中的子变量。将变量用作对象的名称,后跟一个句点(.)和属性名。句点称为点运算符,用于指示您要访问对象的某个子元素。整个结构变量名-点-属性名的使用类似于单个变量,变量是计算机内存中的单个值的名称。方法是指可以由对象执行的操作。可以通过依次写下对象名(变量)、句点、方法名和小括号来访问方法,这与属性类似。小括号是指示要调用某个方法的方式。有时,为了传递执行动作所需的额外信息,将值(或变量)放入小括号中。这些值称为方法参数。与属性(和变量)不同的是,方法不能用作值占位符。然而,一些方法可以执行计算并返回可以像变量一样使用的结果。事件事件是确定计算机执行哪些指令以及何时执行的机制。本质上,事件就是所发生的、ActionScript能够识别并可响应的事情。基本事件处理指定为响应特定事件而应执行的某些动作的技术称为事件处理。在编写执行事件处理的ActionScript代码时,您需要识别三个重要元素:事件源:发生该事件的是哪个对象?事件源也称为事件目标,因为FlashPlayer将此对象(实际在其中发生事件)作为事件的目标。事件:将要发生什么事情,以及您希望响应什么事情?识别事件是非常重要的,因为许多对象都会触发多个事件。响应:当事件发生时,您希望执行哪些步骤?无论何时编写处理事件的ActionScript代码,都会包括这三个元素,并且代码将遵循以下基本结构(以粗体显示的元素是您将针对具体情况填写的占位符):-3-functioneventResponse(eventObject:EventType):void{//此处是为响应事件而执行的动作。}eventSource.addEventListener(EventType.EVENT_NAME,eventResponse);此代码执行两个操作。首先,定义一个函数,这是指定为响应事件而要执行的动作的方法。接下来,调用源对象的addEventListener()方法,实际上就是为指定事件订阅该函数,以便当该事件发生时,执行该函数的动作。函数提供一种将若干个动作组合在一起、用类似于快捷名称的单个名称来执行这些动作的方法。函数与方法完全相同,只是不必与特定类关联(事实上,方法可以被定义为与特定类关联的函数)。在创建事件处理函数时,必须选择函数名称(本例中为eventResponse),还必须指定一个参数(本例中的名称为eventObject)。指定函数参数类似于声明变量,所以还必须指明参数的数据类型。将为每个事件定义一个ActionScript类,并且为函数参数指定的数据类型始终是与要响应的特定事件关联的类。(即此处的这个类的事件特性中必须包含要您希望要响应的事件。)最后,在左大括号与右大括号之间({...}),编写您希望计算机在事件发生时执行的指令。一旦编写了事件处理函数,就需要通知事件源对象(发生事件的对象)您希望在该事件发生时调用函数。可通过调用该对象的addEventListener()方法来实现此目的(所有具有事件的对象都同时具有addEventListener()方法)。addEventListener()方法有两个参数:第一个参数是您希望响应的特定事件的名称。同样,每个事件都与一个特定类关联,而该类将为每个事件预定义一个特殊值;类似于事件自己的唯一名称(应将其用于第一个参数)。第二个参数是事件响应函数的名称。请注意,如果将函数名称作为参数进行传递,则在写入函数名称时不使用括号。了解事件处理过程下面分步描述了创建事件侦听器时执行的过程。在本例中,您将创建一个侦听器函数,在单击名为myButton的对象时将调用该函数。程序员实际编写的代码如下所示:functioneventResponse(event:MouseEvent):void{//Actionsperformedinresponsetotheeventgohere.}myButton.addEventListener(MouseEvent.CLICK,eventResponse);下面是此代码在FlashPlayer中运行时的实际工作方式:1.加载SWF文件时,FlashPlayer会注意到以下情况:有一个名为eventResponse()的函数。2.FlashPlayer随后运行该代码(具体地说,是指不在函数中的代码行)。在本例中,只有一行代码:针对事件源对象(名为myButton)调用addEventListener()方法,并将eventResponse函数作为参数进行传递。-4-1.在内部,myButton包含正在侦听其每个事件的函数的列表,因此,当调用其addEventListener()方法时,myButton将eventResponse()函数存储在其事件侦听器列表中。3.在某一时刻,用户单击myButton对象以触发其click事件(在代码中将其标识为MouseEvent.CLICK)。此时发生了以下事件:1.FlashPlayer创建一个对象,它是与所述事件(本示例中为MouseEvent)关联的类的实例。对于很多事件,这是Event类的实例;对于鼠标事件,这是MouseEvent实例;对于其它事件,这是与该事件关联的类的实例。创建的该对象称为事件对象,它包含有关所发生的事件的特定信息:事件类型、发生位置以及其它特定于事件的信息(如果适用)。2.FlashPlayer随后查看myButton存储的事件侦听器的列表。它逐个查看这些函数,以调用每个函数并将事件对象作为参数传递给该函数。由于eventResponse()函数是myButton的侦听器之一,因此,FlashPlayer将在此过程中调用eventResponse()函数。-5-3.当调用eventResponse()函数时,将运行该函数中的代码,因此,将执行您指定的动作。创建对象实例在ActionScript中使用对象之前,该对象首先必须存在。创建对象的步骤之一是声明变量;然而,声明变量仅仅是在计算机的内存中创建一个空位置。您必须为变量指定实际值─即创建一个对象并将它存储在该变量中─然后再尝试使用或处理该变量。创建对象的过程称为对象实例化;也就是说,创建特定类的实例。有一种创建对象实例的简单方法完全不必涉及ActionScript。在Flash中,当将一个影片剪辑元件、按钮元件或文本字段放置在舞台上,并在属性检查器中为它指定实例名时,Flash会自动声明一个拥有该实例名的变量、创建一个对象实例并将该对象存储在该变量中。同样,在AdobeFlexBuilder中,当您以AdobeMacrom
本文标题:新手AS 3.0学习笔记
链接地址:https://www.777doc.com/doc-5266148 .html