ActionScript3.0从零基础学习类
1.ActionScript基础
大小写字母
Action中的关键字与函数名是严格区分大小写的,其它则 大小写等价。书写正确的关键字与函数名则以蓝色高亮显 示。
Var i=1; gotoandstop(); var i=1; gotoAndStop();
下面的语句是等价的:
name=1; 与 NAME=1;
Html=true; 与 html=true;
1.动作面板的认识与操作
工具栏
查找与替换 | 插入目标路径 | 语法检查 自动套用格式 | 代码显示 脚本助手: 普通模式 | 专家模式
查看帮助
点击“脚本助手”右边的“?” 或 右击脚本指令查看帮助
首选参数
更改脚本字体,字号,颜色
2. ActionScript基本术语
3.事件处理函数各部分解释
event: 参数名 MouseEvent: 参数类型为鼠标事件 function: 函数标识符 void: 函数没有返回值,空。 function() { 函数体部分 }
跳转语句goto
同一场景中的跳转
gotoAndPlay(5); gotoAndStop(“aa”); // aa为帧标签名
不同场景中的跳转
两个参数,第1个参数为跳转到帧的位置,可用帧序号或帧 标签,第二个参数为场景名,帧标签与场景名要用半角双号 号括起。 gotoAndPlay(1,”场景名”); gotoAndStop(“aa”,”场景名”);
前进 / 后退帧
PrevFrame() 跳转并停止到上一帧. NextFrame()
instance_name_here.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler);
ActionScript3.0基础知识
var mybox:classBox=new classBox(); //错误:classBox是
trace(str) //输出: World
2.局部变量的声明
function fun(){
var str:String="World";
trace(str); //输出: World
for each(var i in array){
trace(i);
}
//输出
//one
包内可以创建多个类,请看下面的例子:
Package com{
class classTestClass{}
class classTestClass1{}
class classTestClass2{}
}
导入类包的方法是使用关键字Import,请看下面的例子:
1.全局变量的声明
var str:String="World";
function fun(){
trace(str); //输出: World
}
fun()
(2)actionscript3.0
var i:String; //声明
i="helloWorld!"; //赋初始值
2.声明并赋初始值
var i:String="helloworld";
循环输出对象中的属性值(不包括方法),数组中的元素。
对象循环
var object:Object={x:20;y:30};
ActionScript3.0 编程基础_数据类型及其运算、程序流程
ActionScript3.0 编程基础_数据类型及其运算、程序流程关键字: flex7.3 数据类型和数据运算7.3.1 关于数据类型一个变量或者常量被声明时,必须指定其数据类型:原生数据类型:语言本身提供:字符串、整数、布尔型等复杂数据类型:由基本数据类型组成的复合型类型:类、接口等。
基本数据类型:∙Boolean:布尔型,true 和 false∙int:整数,存放32位二进制整数,范围:-2147483648~2147483647,当超出自动转为Number∙Null:空值,是字符串和所有类的默认值。
∙Number:整数型和浮点型,使用64位双精度格式存放数据,没有小数点时自动转换成整数。
最小值和最大值分别存放在Number 对象的MIN_VALUE 和 MAX_VALUE属性中。
∙String:字符串,以Unicode 编码格式存放。
∙uint:正整数类型,0~4294967295∙void:值为undefined,只能用作函数的返回类型。
1、Boolean:布尔型,它可以使用true或false(用于进行逻辑运算)两个值中一个值。
2、int:表示为 32 位带符号整数的数据类型。
int 类表示的值的范围是:-2,147,483,648 (-2^31) 到 2,147,483,647 (2^31-1)。
3、uint:表示 32 位无符号整数的数据类型的方法。
4、String:表示一串字符的数据类型。
5、Number:表示 IEEE-754 双精度浮点数的数据类型。
6、.Date:表示日期和时间信息。
复杂数据类型:Object 对象、 Array 数组、 Date 日期、Error 错误对象、Function 函数、 RegExp 正则表达式、XML XML数据对象、XMLList。
其中Object 是所有对象的基类。
以下是各个类型的默认值∙Object、Array :null∙Number:NaN∙int、uint:0∙Boolean:false∙*:不定类型,默认值:undefined。
ActionScript 快速入门
此示例要求计算机创建名为 value1 的变量,此变量仅接受支持 Number 数据。(“Number”是 ActionScript 中定义的特定数据类型。)您还可以立即在变量中存储一个值:
var value2:Number = 17;
Adobe Flash Professional
Adobe Flash Professional
如果您已在 Flash Professional 中使用过元件,就应该已习惯使用对象了。假定您定义了一个影片剪辑元件(例如矩形绘制),并已在舞台上放置了其ห้องสมุดไป่ตู้本。从严格意义上来说,该影片剪辑元件也是 ActionScript 中的一个对象;即 MovieClip 类的一个实例。
在 Flash Professional 中,还有另外一种变量声明方法。在将一个影片剪辑元件、按钮元件或文本字段放置在舞台上时,可以在属性检查器中为它指定一个实例名称。Flash Professional 在后台创建与实例同名的变量。可在 ActionScript 代码中使用该名称表示该舞台项。例如,假设舞台上有一个影片剪辑元件,并为其指定了实例名称 rocketShip。只要您在 ActionScript 代码中使用变量 rocketShip,实际上就是在操作该影片剪辑。
使用对象 :
属性
方法
事件:
基本事件处理,事件处理过程,事件处理示例
创建对象实例
ActionScript 是一种面向对象的编程语言。面向对象的编程只是一种编程方法。组织程序中代码的方法确实只有一种,即使用对象。
术语“计算机程序”早些时候定义为计算机执行的一系列步骤或指令。所以,从概念上讲,您可以认为计算机程序就是一个很长的指令列表。然而,在面向对象的编程中,程序指令分布在不同对象中。代码被编组为功能区块,因此相关的功能类型或相关的各条信息被编组到一个容器中。
《Flash.ActionScript3.0从入门到精通》笔记
第一章了解ActionScript3.01、ActionScript3.0的一些新特性:●引入显示列表的概念。
显示列表用于创建、管理显示对象的层次结构,任何Flash应用程序实际上就是显示列表。
在显示列表中,采用新的深度机制来管理显示对象的显示层次,使显示对象的深度管理更加人性化。
●使用新的事件模型。
ActionScript3.0中的事件模型与第2用户界面组件有点类似,是采用观察者模式设计的。
新增了事件流、默认行为等功能,很多在ActionScript2.0中难以实现的功能,使用ActionScript3.0将会非常简单。
●引入了E4X,使得操作XML更加方便、快捷。
在以往版本的ActionScript中,使用XML对象前,需要将其转换为数组或对象,而ActionScript3.0可直接操作XML 对象。
●支持正则表达式。
正则表达式在查找和替换模式方面有很大的优势,以往需要几十行代码实现的功能,使用正则表达式只需几行。
2、一般来说,舞台(Stage)是用来显示Flash元素的平台,而主时间轴(Main Timeline)则用来控制Flash元素的显示,它们在编程中扮演相当重要的角色。
舞台是放置显示对象的最终容器,所有的显示对象都直接或间接地包含在舞台中。
舞台的名字是stage,它是Stage 类的对象。
通过点语法可以读取舞台容器中的非孤立变量值,但由于Flash为这些变量规定了只读属性,所以暂时无法通过类似“stage.stageWidth=800”这样的语句为舞台中的变量重新赋值。
Stage类不是动态类,不能向舞台stage动态地添加属性。
主时间轴的名字是root,它是由MainTimeline类创建的对象。
主时间轴其实是一个特殊的影片剪辑实例,它的图层、帧的使用方法与影片剪辑实例完全相同。
写在帧中的代码都属于主时间轴。
可以这样认为,写在帧中的变量都在MainTimeline类中,而root是由MainTimeline 类创建的对象,这些变量都成了root的属性,因此可用“root.属性名”的形式来访问这些变量。
第7章 ActionScript 3.0编程基础
7.1
ActionScript 3.0简介
ActionScript 3.0 是 最 新 且 最 具 创 新 性 的 ActionScript 版本,它是针对 Adobe Flash Player 运行环 境的编程语言,可以实现程序交互、数据处理以及其他许 多功能。 ActionScript 3.0 相比于早期的 ActionScript 版 本具有以下特点。 • 使用全新的字节码指令集,并使用全新的AVM2虚拟 机执行程序代码,使性能显著提高,其代码的执行 速度可以比旧式ActionScript代码快10倍。 • 具有更为先进的编译器代码库,严格遵循 ECMAScript(ECMA 262)标准,相对于早期的编译 器版本,可执行更深入的优化。 • 使用面向对象的编程思想,可最大限度重用已有代 码,方便创建拥有大型数据集和高度复杂应用程序。 • ActionScript 3.0的代码只能写在关键帧上或由外 部调入,而不能写在元件上。
五.算法分析 设一个变量index,要让index在0~n-1之间从小到 大循环变化,则可使用如下算法。 index++; //“++”表示index = index+1,变量自加1 index = index % n; //“%”表示取余数 若要让index在0~n-1之间从大到小循环变化则: index += n-1; //“+=”是index = index + (n-1)的缩写 index = index % n;
小结
通过本章内容的学习,可以了解并掌握ActionScript 3.0的编程思路和代码编写的方法,为开发复杂的Flash 应用程序奠定了基础。 在实例制作过程中,不但可以学会在Flash作品中常 见特殊效果的制作方法,而且可以掌握以下常用的编程 技巧和方法。 •时间的获取及表示方法。 •声音初始化、播放、停止、音量的控制等方法。 •数的循环、时间的换算、随机分布一些数组元素等技巧。 •事件的添加和使用方法。 •类的外部扩展及使用方法。 ActionScript的功能远比本章所介绍的要强大,若想 进一步研究使用ActionScript 3.0开发较大的应用程序或 游戏,则需要参看ActionScript的帮助文档或相关资料, 并在实践中掌握各种内置类的使用方法。
Flash ActionScript3.0 编程无基础入门 免费教程
_root.mc_zhuozi.mc_shu
在 mc_zLeabharlann uozi 的 timeline 里面写
_parent.打扫();
意思就是打扫房间;
在 mc_shu 的 timeline 里面写
_parent.打扫();
意思就是打扫桌子。
_parent 也就是父级。桌子的 _parent 就是房子的 timeline , 书的 _parent 也就是 桌子的 timeline。点的后面的对象 的 _parent 就是点前面的对象。
2、控制属性的语法。有很多,我列几个
_x
_y
_alpha
_width
_name
.....等等属性
上面的都是属性
属性?解:打个比方。我们管你的身高叫做属性,用来标识你的高度。我们管你的体重叫属性,用来标识你的质量。我们管 _x 叫属性,用来标识目标的X轴坐标。我们管_alpha叫属性,用来标识目标的透明度.......我真罗嗦啊,唉。
现在我们假设主场景是房子,MC是桌子,按钮是书,那么分别怎么表达房子,桌子,书呢?如下
_root 房子
_root.myMc 房子.桌子
_root.myMc.myBtn 房子.桌子.书
这里的 _root 是Flash的关键字,表示主场景的 Timeline (时间线)。
很容易理解对不。这里的 房子,桌子,书 都是我们要理解的“对象”。
当你找到这个对象后,才能对对象进行操作,才能给对象施加方法。比如,我现在要打扫房子,打扫是方法,但对象是房子,表达式是这样 :
房子.打扫()
如果你不能正确的表达房子这个对象,你的打扫也就不能正确的实施了。
第4章 ActionScript 3.0 编程基础
2.使用命名空间限定函数定义 当我们定义了命名空间之后,就可以用它来修饰属性和方法。可以放 在命名空间中的定义包括属性、方法、变量和常量,但不能将类放在 自定义命名空间中。 在应用命名空间时,应切记以下几点: (1)对于每个声明只能应用一个命名空间。 (2)不能一次将同一个命名空间属性应用于多个定义。例如,如果 我们希望将一个命名空间应用于 10 个不同的方法,则必须将该命名 空间作为属性分别添加到这 10 个方法的定义前。 (3)如果您应用了命名空间,则不能同时指定访问控制说明符,因 为命名空间本身就是一种访问控制符。亦即,如果应用了命名空间, 就不能将函数或属性声明为 public、private、protected 或 internal 。
如果从对象 Object 类的实例转换为 String 数据类型时,如果 该实例为 null,则返回字符串 “null” 。否则返回字符 串 "[object Object]" 。
如果从类Array的实例中转换为字符串时,则返回一个字符串, 该字符串中包含所有数组元素及逗号。例:数组转字符串
4.2 变量与常量 ---4.2.1 变量的定义
定义变量的格式要求如下:
var 变量名:数据类型; 其中,var为定义变量的关键字,定义变量时,必须用关键 字var进行声明。变量名,是用户根据实际情况所命名的一 个或一组标识符号,在进行变量名的命名时,应该遵循以 下规则:
1.变量名必须以字母开头,且只能由字母、数字和下划线“_”组成。 2.变量名不易太长,系统限制在255个字符范围之内。 3.变量名要做到唯一使用,避免在编译过程中产生变量名称冲突问题。 4.不能使用ActionScript3.0中的关键字作为变量的名称。 5.对变量进行命名时,要尽量做到名称简单且易于理解与识别。
ActionScript 3.0从入门到精通:第4章 条件与循环 (教学PPT下载)
在运行时,首先测试条件 是否成立, 在运行时,首先测试条件condition 1是否成立,如成立则执 是否成立 行第一个大括号组中的代码1,执行后跳过以后的内容; 行第一个大括号组中的代码 ,执行后跳过以后的内容; 不成立时, 当condition 1不成立时,继续测试条件 不成立时 继续测试条件condition 2是否成 是否成 如成立则执行第二个大括号组中的代码2, 立,如成立则执行第二个大括号组中的代码 ,执行后跳 过以后的内容;当以上条件都不成立时,执行else后大括 过以后的内容;当以上条件都不成立时,执行 后大括 号组中的代码3,如下列代码。 号组中的代码 ,如下列代码。
switch…case case条件句 4.1.4 switch case条件句
switch…case条件句基本上用于多重分支结构,语法上有所 条件句基本上用于多重分支结构, 条件句基本上用于多重分支结构 差别,语法结构如下。 差别,语法结构如下。
switch…case case条件句 4.1.4 switch case条件句
注意:以上代码在执行时,总会检测条件( 是否小于 是否小于5), 注意:以上代码在执行时,总会检测条件(n是否小于 ), 满足条件时在执行循环体后总会转回条件检测这个环节 因此在循环体中更新n非常重要 如果没有“ 非常重要, 。因此在循环体中更新 非常重要,如果没有“n++;”这 这 一句代码,将造成死循环。 一句代码,将造成死循环。
if条件句 4.1.1 if条件句
说明:条件操作数 可以是值、 说明:条件操作数condition可以是值、变量或表达式。当它 可以是值 变量或表达式。 不是布尔数据类型的值时, 不是布尔数据类型的值时,ActionScript会执行自动类型 会执行自动类型 转换,代码如下。 转换,代码如下。
ActionScript 3.0j
第2章 ActionScript 3.0编程语言基础
ActionScript 3.0语法 flash中使用点“.”运算符来访问对象的属性 和方法,点运算主要用于以下几方面。 1.可以采用对象后面跟点运算符的属性名称 (方法)名称来引用对象的属性(方法) 具体语法格式如下: 对象.属性 对象.方法()
冒号(:) 冒号的作用主要用于为变量指定数据类型 var i:Number = 8; var myDate:Date = new Date(); //严格指定变量或对象的类型 function welcome(firstName:String,myAge:Number) {} //严格指定参数的类型
大括号{} 大括号主要用于编程语言程序控制,函数 和类中。
关键字和保留字
保留字,从字面上就很容易知道这是保留 给AS 3.0语言使用的英文单词。因而不能 使用这些单词作为变量、实例、类名称等。 如果在代码中使用了这些单词,编译器会 报错。 AS3.0中的保留字分为3类:词汇关键字、 语法关键字和供将来使用的保留字。
Array数组类型
数组就像一个容器,可以容纳各种不同的 内容,讲多种对象组合在一起。在编程过 程中为了储存各个具有共同特性的变量, 可以使用数组作为存储的工具。 注意:数组元素的第一个索引是0,访问第 一个元素要使用arr1[0]来访问。
Object数据类型
Object数据类型是由object类定义的。 Object类用作AS中所有类定义的基类。 Object的成员有两个:一个是属性,用来 存放各种数据;一个是方法,用来存放函 数对象。构造object对象的方法如下: var obj1:object = new object(); var obj2:object = {}
ActionScript 3.0从入门到精通:第7章 数组 (教学PPT下载)
数组
数组是一种复杂变量。相对于基元值( 数组是一种复杂变量。相对于基元值(Boolean、int、 、 、 Number、String和uint),数组属于复杂值。它用来存 ),数组属于复杂值 、 和 ),数组属于复杂值。 储一组变量的名字和值,一般来说这些变量是相关的, 储一组变量的名字和值,一般来说这些变量是相关的, 比如存储一个班级学生的姓名、学号、性别、成绩等。 比如存储一个班级学生的姓名、学号、性别、成绩等。
7.7.1 添加删除数组元素的基本方法
要为数组添加或删除元素,共有四种基本方法可以使用, 要为数组添加或删除元素,共有四种基本方法可以使用,它 们分别是push,pop,shift,unshift。这四个方法成对出 们分别是 , , , 。 其功能如下图所示。 现,其功能如下图所示。
push方法:在数组的最后添加一个元素。 方法:在数组的最后添加一个元素。 方法 pop方法:删除数组最后一个元素。 方法:删除数组最后一个元素。 方法 unshift方法:在数组的开头添加一个元素。 方法: 方法 在数组的开头添加一个元素。 shift方法:删除数组的第一个元素。 方法: 方法 删除数组的第一个元素。
7.4
数组的构造
所有数组(包括数字索引数组和关联数组) 所有数组(包括数字索引数组和关联数组)根据数组的维度 可以分为一维数组、二维数组和多维数组。 ,可以分为一维数组、二维数组和多维数组。超过二维 的数组,统称为多维数组。 的数组,统称为多维数组。
7.4.1 一维数组
一维数组只保存一列内容, 一维数组只保存一列内容,例如我们之前例子中的 [12,true,"你好 你好",0.88,null]。 你好 。 下面创建一个空数组,再对各个键赋值,形成一维数组, 下面创建一个空数组,再对各个键赋值,形成一维数组,代 码如下。 码如下。
ActionScript3从零基础学习类
AS3从零基础学习类一个简单的类先写一个简单的类,了解一下类的结构:这里是一个类的简单结构,package是包的意思。
假设现在项目存放在d:\exam这个文件夹,那么这个类直接保存在d:\exam中,取名叫MyClass.as (注意:类的文件名应该跟类名需一样)。
如果代码写成这样:那么MyClass.as就应该放在d:\exam\net\smilecn这个路径下面。
其中:•public class MyClass:表示要创建的这个类的名字是MyClass(类名可以任意取,习惯以大写开头)。
•public function MyClass(){}:funciton代表一个方法名(可以说是函数),跟类名相同的方法,称为构造函数,就是这个类被实例化时执行的函数。
现在把代码改成:那么在输出面板里就会输出“这是写的第一个类”。
其中:•import net.smilecn.MyClass:导入写的类(类在使用前要导入net.smilecn是包名,MyClass是类名)。
•var myClass:MyClass = new MyClass():实例化MyClass这个类(实例化的时候会执行构造函数,那么就会执行trace这句代码)。
成员常量、变量和方法首先看一段代码:在前面的基础上增加了几行代码,其中:const是定义常量,var是定义变量,所谓的常量就是不能改变的量,变量就是能够改变的量;public、private是属性关键字。
在ActionScript 3.0中属性关键字有这样几个:•public:指定类、变量、常量或方法可用于任何调用者。
•private:指定变量、常量或方法仅可供声明或定义它的类使用。
•protected:指定变量、常量、方法或命名空间只可用于定义它的类及该类的任何子类。
•internal:指定类、变量、常量或函数可用于同一包中的任何调用者。
下面主要说明public、private这两个属性关键字。
ActionScript 3.0从入门到精通概述
第1章 ActionScript概述ActionScript最初是由Macromedia(现已被Adobe收购)为其Flash产品开发的一种简单脚本语言,现在最新版本为3.0(简称AS3),已经成为一种完全面向对象(OOP)的编程语言。
ActionScript是一种基于ECMAScript的脚本语言,可用于编写Adobe Flash动画和应用程序。
由于ActionScript和JavaScript都是基于ECMAScript语法的,理论上它们可以流畅地互相翻译。
但是,JavaScript的文档对象模型(DOM)是以浏览器窗口、文档和表单为主的,ActionScript的文档对象模型则以SWF格式的动画为主,包括动画、音频、文字和事件。
1.1 ActionScript 3.0简介ActionScript ActionScript 3.03.0在使用时与以前2个版本有很多相似之处,但是由于底层的不同,在理解内部机制时最好从全新的角度出发,尤其要注意不同版本的代码不能混用。
一些处理方法也发生了比较大的变化,比如事件模型,显示对象的方法等,接触过ActionScript ActionScript 1.0 1.0或ActionScript ActionScript 2.0 2.0的读者要格外注意。
1.2 ActionScript 3.0开发环境3.0的第一步就是要安装设置开发环境。
本使用ActionScriptActionScript 3.03.0的几种常用开发环境,并简要说节将介绍ActionScriptActionScript 3.03.0开发环境比较熟悉的明各自的优缺点。
对ActionScriptActionScript 3.0读者可以略过本节。
1.2.1 Flash CS3/CS43.0的软件之一,同ActionScript 3.0Flash CS3/CS4是官方支持ActionScript时拥有强大的动画编辑和界面设计功能,被很多设计师和3.0程序员来说动画和动画师所青睐,但对于ActionScriptActionScript 3.0设计界面并不是必须的。
第7章_ActionScript+3.0入门
案例1 制作“跟随鼠标移动 案例2 制作“调用外部动画”动画效果 的星星”动画效果
相关知识
2. ActionScript 3.0的相关术语
(1)动作(Action) 动作是指Flash动画播放时执行的某些操作语句。 (2)参数(Parameter) 参数是存储信息的容器,并被传送给语句或函数。
(3)类(Class)
(7)关键字(Keyword)
关键字是具有特殊意义的保留字。 ActionScript在语言中保留了若干关键字,用户不能使用关键字作为变量名、函数名 或标签名。默认的关键字在动作面板中是深蓝色,且区分大小写。
(8)实例名(Instance Name)
实例名是脚本中唯一标识对象的名字。
案例1 制作“跟随鼠标移动 案例1 制作“跟随鼠标移动的星星”动画效果 的星星”动画效果
类是影片中信息的类目。每个对象都属于一个类,并且是这个类的一个实例。 (4)构造器(constructor) 构造器用于创建基于类的对象函数。这种函数具有的自变量可以给出对象所属的类的
专用的属性。
(5)数据类型(Data Type ) 数据类型是描述变量或动作脚本元素可以存储的信息种类。ActionScript 中有两种数 据类型:原始数据类型和引用数据类型。
案例1 制作“跟随鼠标移动 案例1 制作“跟随鼠标移动的星星”动画效果 的星星”动画效果
相关知识
(2)ActionScript 3.0的变量 ①变量名 变量名必须是一个ActionScript标识符,变量不能使用关键字或者逻辑常量(true、false) ②变量类型 在ActionScript 3.0中声明变量时,需要使用var关键词。用“:”号定义变量类型,用“=”号给变量赋 值。 ③变量的作用域 在ActionScript 3.0中,包含两种变量,分别是局部变量和全局变量,全局变量在整个动画的脚本中都有效 ,而局部变量则只在它自己的作用域内有效。 (3)ActionScript 3.0的常用运算符 ①数值运算符 数值运算符可以执行加法、减法、乘法、除法运算等。 ②比较运算符 比较运算符用于比较表达式的值,然后返回一个布尔值。 ③逻辑运算符 逻辑运算符是对布尔值进行运算,返回一个布尔值。逻辑运算主要有“与”运算符(&&)、“或”运算 符(||)和“非”运算符(!)。 ④位运算符 位运算符用于内部处理浮点数,将二进制的数据进行按位操作。 ⑤点运算符 点运算符用于访问结构的成员。 (4)创建和调用函数 在ActionScript 3.0中,用户可以直接调用已有的内置函数,也可以创建自定义的函数,然后进行调用。
大学_ActionScript3.0无基础入门教程_1
ActionScript3.0无基础入门教程ActionScript3.0入门教程:加载外部素材虽然说ActionScript2.0与ActionScript3.0熟练使用任意一门都可以,但是ActionScript3.0带来了许多新的.开发感受。
新时代的Flash已经开始向ActionScript3.0转型,许多新的Flash框架与Flash资料都是基于ActionScript3.0。
所以还是两门双修好勒。
ActionScript2.0的Helloworld已经在《【ActionScript】ActionScript2.0的Helloworld》(点击打开链接)中介绍过了。
下面开始介绍ActionScript3.0的Helloworld。
1、首先,打开Flash之后,新建ActionScript3.0文件,而不是ActionScript2.0。
其实两者在基本布局上面是没有区别的,关键是其脚本发生根本性的变化。
会ActionScript2.0的开发者,很容易就能转到ActionScript3.0上面来。
2、之后,通过窗口-组件,或者Ctrl+F7,或者通过右侧面板工具栏的“组件”按钮,打开“组件面板”。
这里面,Flash提供了许多向C#,VB等窗口控件。
在User Interface文件夹中拖入Button与Label,一个按钮,一个标签文本。
3、之后,调整这两个控件的属性。
对于按钮,赋予其实例名称为Button1。
其Label属性为“单击”。
对于标签文本,赋予其实例名册为"Label1",autoSize为Center居中,text的内容去掉。
4、之后,右击第1帧,打开动作面板,就可以写代码。
在动作面板写入如下代码:[javascript] view plain copy print?//定义一个字符串str,其值为Hello worldvar str:String="Hello world";//定义一个函数,为clickEventvar clickEvent:Function=function(){//此函数触发之后,把Label1的文本改成strLabel1.text= str;//然后向控制台输出strtrace(str);}//之后为Button1添加点击事件的监听器,为clickEvent这个函数Button1.addEventListener("click",clickEvent);按Ctrl+Enter编译之后,得到如下的效果:按钮被点击之后,标签文本的值变为Hello world,同时控制台中输出一个Helloworld。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AS3从零基础学习类提供下载arrowyoung2010-10-10一直想写个关于AS3.0的教程,但公司太忙都没时间写,最近看到群里有些朋友对3.0还不是很了解,所以从现在开始抽时间写点教程,从基本的东西开始.很多人还习惯用2.0去写一些东西,我已经有半年多没用2.0,很多2.0的习惯不能带到3.0中来,比如说在MC或BUTTON上去写代码,当然3.0里面还是可以在帧上写代码(这里用到的版本是FLASH CS3,FLEX对于初学者来说还不适合),但要想把AS学好,不管是2.0还是3.0都应该用类的方式来写代码.现在来写一个简单的类,了解一下类的结构:这里是一个类的简单结构,package是包的意思,学过JAVA的朋友应该知道这个概念,其实说简单点就是这个类文件所放的位置,假设现在我们这个项目是放在d:\exam这个文件夹里面,那么我们刚才写的类直接保存在exam这个文件夹里面,取名叫MyClass.as就可以了(注意:类的文件名应该跟类名一样),因为现在package后面没有任何东西,如果代码写成这样:那么MyClass.as就应该放在d:\exam\net\smilecn这个路径下面.public class MyClass : 这里是表示我们要建的这个类的名字是MyClass,这个名字可以随便起,习惯上以大写开头public function MyClass(){} : funciton 代表一个方法名,可以说是函数,跟类名相同的方法,我们称为构造函数,就是这个类被实例化时执行的函数,现在我们在把代码改一下:我们在d:\exam下建立一个FLA文件,在第一帧写如下代码:那么在输出面板里就会看到―这个我写的第一个类‖ 这段信息了,import net.smilecn.MyClass:导入我们的类(类在使用前要导入net.smilecn是包名,MyClass是类名)var myClass:MyClass = new MyClass() : 实例化MyClass这个类(实例化的时候会执行构造函数,那么就会执行trace这句代码)今天就到这里,下节继续讲解类的使用.(编辑:非熊)包概念,构造函数当前位置:主页>AS入门>作者:arrowyoung发表于:2009-08-29Tag:包概念构造函数菜鸟教程接着上一节的内容,上一节中我们建了一个简单的类,讲解了包的概念,构造函数的概念,接下来再看看成员常、变量和成员函数的概念,再来看一段代码:这里我们在以前的基础上增加了几句代码,const是定义常量,var是定义变量,所谓的常量就是永远不能改变的量,变量就是能够改变的量;public、private是属性关键字,在AS3中属性关键字有这样几个:public:指定类、变量、常量或方法可用于任何调用者private:指定变量、常量或方法仅可供声明或定义它的类使用protected:指定变量、常量、方法或命名空间只可用于定义它的类及该类的任何子类internal:指定类、变量、常量或函数可用于同一包中的任何调用者这里我们先重点看一下public、private这两个属性关键字,从字面上理解public是公共的意思,说简单点就是任何地方都可以调用,private是私有的意思,就是说只有这个类中才可以调用,我们用一个例子做一个简单的说明,还是在上一节中我们用的FLA文件中的第一帧加上这个的代码:可以看到因为r声明为public,所以我们在外部调用是正确的,s声明为private,所以不直接在外部访问s这个变量,这就是public和private的区别,那我们要在外部改变s的值应该怎么做呢,我们可以这样做,在来修改MyClass类:这样我们通过一个公共方法(方法就是函数的意思)设置了s的值,在FLA文件中这样调用:就可以了,当然跟其它语言一样,我们也可以用get和set方法来读取或写入private 变量的值:我们在调用的时候就可以用这样的语句了:(编辑:非熊)投稿:@ 有疑问:去艾睿论坛交朋友:去友吧类的继承当前位置:主页>AS入门>作者:arrowyoung发表于:2009-08-29Tag:菜鸟教程继承这一节,我们讲到一个我们用的比较多的一个概念—-继承.继承是指一种代码重用的形式,允许程序员基于现有类开发新类。
现有类通常称为‖基类‖或‖超类‖,新类通常称为‖子类‖。
先看一段代码:我们发现这个类跟我们之前写的类的区别是多了‖extends‖这个一个关键字,这个关键字的作用就是说明,我们现在的这个类MySubClass是继承MyClass这个类的,继承之后我们就可以使用MyClass这个类里的变量和方法了,这样就达到代码重用的目的,比如说我们现在要写关于若干个球的类,有足球\篮球\排球等等,那么我们可以先找出这些的共性,先写一个球的类,然后再继承这个球的类写出若干个球的类,那么相同的东西就写在球的类中了,这个达到了代码重用;可以看到,PI,r,s是在MyClass这个类中定义的变量,那么由于MySubClass继承了MyClass,所以MySubClass也能使用这些变量了,但代码前两个我写的正确,后一个写的错误码是什么意思了,回忆下上一节学到的‖属性关键字‖,public和protected,在子类中是可以使用的,private是不行的,所以这里PI和r是可以使用的,s不能用.并且子类在构造的时候也会执行基类的构造方法,我们改一下FLA文件的代码:在输出面板会输出:这个我写的第一个类Pi: 3.1415926r: 3注意:标有错误的那句代码要去掉,不然会报错.下节继续讲解继承.(编辑:非熊)-类的继承二当前位置:主页>AS入门>作者:arrowyoung发表于:2009-08-29Tag:菜鸟教程继承在上节中,我们介绍到了继承,继承在我们的实际应用中是用的比较多的一种方式。
上节的继承是继承我们自己定义的类,如果要用到影片和类关联起来,我们可能会更多的去继承AS3中已有的类——Sprite和MovieClip;MovieClip这个类我们在2.0中就经常用到,就是影片剪辑,Sprite是什么了,其实就是一个没有帧的MovieClip,在没有动画的情况下我们会更多的使用Sprite,来看一段代码:现在我们建立一个MySprite的类(注意保存的AS文件名一定要跟类名一样),因为它是继承的Sprite类,所以我们可以使用graphics来画图,这里我们画了一个圆。
要使用这个类,我们同样要在帧上加一些代码:这里首先我们还是建一个实例,名字叫做mySprite,接下来我们用到了这句:addChild相当于2.0里面把库中的元件载入到场景中,用了addChild后我们画的那个圆就显示在场景中了,与之对应的是removeChild,是从场景中删除接下来是设置坐标位置,因为是继承的Sprite,因为Sprite有x、y属性,所以MySprite也有了(注意x,y相当于2.0里面的_x和_y)上面的代码MySprite是用代码画的一个图形,有很多图形我们不可能都用代码去画,这样就失去FLASH的主要功能了,我们还可以把库中的元件链接到MySprite这个类中。
我们新建一个MC,在库中在这个MC上点右键,点链接,会出现一个对话框,将―为ActionScript导出‖打上勾,在上面类的后面填上要链接的类,这里我们填上:net.smilecn.MySprite ;基类那里我们填上:flash.display.Sprite然后再发布看看,会发现不仅有刚才画的圆,我们在刚才的那个MC里画任何东西都会在里面,这样就做到了元件和类的链接。
在FLASH CS3中还加入了一个文档类(document class)的概念,使用文档类后,我们刚才写帧上面的代码就不用了,直接写在文档类里面,文档类就相当于第一帧的位置,这样我们就不用在FLA文件里写代码了,所有代码都写在AS文件里,达到了界面和代码的分离。
现在在建立一个类,MainForm.as:我们发现刚才第一帧的代码搬到这个类里面来了,那个第一帧的代码就可以全部删除掉最后在FLA的属性栏中找到文档类,在后面输入类的位置:net.smilecn.MainForm(注意是包名加类名)好,现在发布看一下,是不是跟刚才的效果一样。
(编辑:非熊)投稿:@ 有疑问:去艾睿论坛交朋友:去友吧-加载库中MC当前位置:主页>AS入门> 作者:arrowyoung发表于:2009-08-30Tag:菜鸟教程加载库中MC上一节中,我们将库中的MC链接到一个类上,达到了类与元件的绑件,那么要完成像2.0一样的效果,将库中的元件载入到场景中是不是也要在MC上链接类了(3.0中没有以前的标识符),如果每个在库中的MC都要链接一个类就麻烦了,其实只需要在类后面起个名字就可以了。
比如我们起个名字叫MyMc,基类就用默认的flash.display.MovieClip(注意在点确定时有个找不到类的警告,不用管它,点确定就可以了),在文档类中这样写:同样,要播放库中的声音也可以这样做,方法一样,链接在类后面起个名字,比如MySound,基类就用默认的flash.media.Soundplay方法是播放声音通过上述方法,我们可以通过代码将库中的元件加载到场景中或播放库中的声音。
反射的方式加载库里的MC当前位置:主页>AS入门>作者:arrowyoung发表于:2009-09-01Tag:反射加载MC在上一节中我们用到了在库中加载一个元件,我们还有另一个方法来加载一个元件,就是用"反射"的方法,反射就是用库中元件的名字(字符串)去得到我们想要的元件,用代码去把它变成一个类.我们在库中建立两个MC,并用上一节的方法将它们导出,名字分别为:Mc1和Mc2,我们要将这两个元件加载到场景上,按照上一节的方法,我们应该这样做:那么如果用反射的方法应该怎样做呢,看下面的代码:这段代码只加载了Mc1这个元件,而且我们发现代码比上一种方法更复杂一些,那为什么要使用反射这种方法呢,我们在看一段代码:我们发现现在这种写法是不是更简单的一种写法,当库中有名字为Mc1,Mc2,Mc3……这种更多的MC时,我们只需要改变循环变量的范围就可以了.-事件当前位置:主页>AS入门>作者:arrowyoung发表于:2009-09-01Tag:事件菜鸟教程在as3.0中我们用的最多的可能就是"事件" ,我们会侦听各种事件.当我们点击一个按钮时,在2.0中我们可能会用到这样的语句:_btn.onPress = function(){};当然后我们也可以用addEventListener来侦听一个点击事件.在3.0中我们一律用addEventListener这种加侦听的方式来完成.这是一个单击事件,基本上我们用到的系统里的所有类都会有事件,在帮助文档中我们可以找到,我们可以很方便的使用这些事件.我们现在把上一节中我们用到的代码稍加一下变动:event.currentTarget是指当前侦听的对像,加个name属性就是这个对像的名字,这里MouseEvent就是鼠标事件;Sprite、MovieClip、SimpleButton、Button这一些都可以加鼠标事件侦,当然不止这一些(注:SimpleButton是元件按钮,Button是组件按钮)MouseEvent.CLICK这个实际上是一个常量,代表着"click"这个字符串,从字面上我们就可以看出这个是单击的意思,通常这些事件其实都可以字面上看到意思,像MouseEvent.MOUSE_DOWN就是鼠标按下事件,值得一提的是3.0里面加上了双击事件,是MouseEvent.DOUBLE_CLICK,不过使用双击还要使doubleClickEnabled 为true才行.我们不可能从别人那里知道一个类有多少种事件,所以帮助是最好的老师,我们学习AS3最好的教程其实就是帮助,所以要勤看帮助,这样才能进步更快.下节继续讲解事件侦听.(编辑:非熊)事件侦听当前位置:主页>AS入门>作者:arrowyoung发表于:2009-09-03Tag:事件侦听菜鸟教程在上一节中我们介绍了侦听,要知道我们可能经常会用到侦听,所以我们会写很多个addEventListener,经常有些侦听我们用过一次后可以就不会再用了,那么为了节省资源,我们要将这些侦听删除掉,要侦除侦听这们用这样的方法:这里我们用removeEventListener就可以将侦听删除掉,我们在编程过程中,已经不用的侦听我们应该及时删除掉以节省资源.现在我们来看一个小例子,这个例子的功能是有两个按钮,点击其中一个自己变成不可点击,另一个变成可点击状态.在我们上一节讲到的FLA文件在场景里加两个按钮一个名叫_btn1,一个叫_btn2;发布我们会发现点一个按钮后这个按钮的侦听就会被删除,另一个被加上.当然像按钮的帧听没必要删除,但关于时间之类的侦听,不用了就要删除了使一个按钮禁用可能用不到删除侦听的方法,大家可以会想到2.0里面用到的enabled,但在3.0中enabled对SimpleButton没有作用,对Button有作用,如果要完成相同的功能,我们要用mouseEnabled下一节我们再看类和类之前的消息传递.(编辑:非熊)-消息机制当前位置:主页>AS入门> 作者:arrowyoung发表于:2009-09-03Tag:消息机制菜鸟教程前两节中,我们讲到了侦听,类与类之前也是可以侦听的,类与类之前的侦听就达到了类和类之前发消息的功能,这其实就是AS3.0中的消息机制。