AS3.0基础教程
as3.0教程
1.1.新建一个ActionScript (3)1.2.自定义应用程序属性 (3)1.3.在哪里写ActionScript (3)1.4.如何跟踪信息 (3)1.5.处理事件 (3)1.6.响应鼠标和键盘事件 (4)1.7.算术运算 (4)1.8.逻辑运算 (4)1.9.执行条件语句 (5)1.10.执行复杂的条件语句 (5)1.11.某段时间重复执行一种操作 (5)1.12.长时间执行一个任务 (6)1.13.创建可重用代码 (6)1.14.增强代码可重用能力 (6)1.15.从方法中退出 (7)1.16.获得方法的执行结果 (7)1.17.处理异常 (7)2.0.类 (8)2.1.创建自定义类 (8)2.2.类的保存 (8)2.3.创建成员属性 (8)2.4.创建静态方法或属性 (9)2.5.创建子类 (9)2.6.覆盖超类方法 (9)2.7.创建常量 (9)2.8.发送事件 (9)3.0 (10)3.1.检测播放器版本 (10)3.2.检测操作系统 (10)3.3.检测播放器类型 (10)3.4.检测系统语言 (10)3.5.检测显示设置 (10)3.6.缩放影片 (10)3.7.改变对齐方式 (11)3.8.隐藏Flash (11)3.9.检测设备音频 (11)3.10.检测设备视频 (11)3.11.提示用户改变播放器设置 (11)3.12.处理系统安全 (11)4.0.数字 (12)4.1.数字的不同表现形式 (12)4.2.不同数字类型之间的转换 (12)4.3.四舍五入 (12)4.4.格式化输出 (12)4.5.不使用掩码进行数字格式化 (13)4.6.格式化货币数字 (13)4.7.生成随机数 (13)4.8.模拟硬币投掷 (13)4.9.模拟骰子 (14)4.10 产生唯一的随机数 (14)4.11.转换角度计算 (14)4.12.计算两点之间的距离 (15)5.0.数组 (15)5.1.在数组首部和尾部添加元素 (15)5.2.遍历数组成员 (15)5.3.搜索匹配的数组元素 (15)5.4.删除数组元素 (16)5.5.在数组中间插入元素 (16)5.6.转换字符串为数组 (16)5.7.转换数组为字符串 (16)5.8.创建数组的拷贝 (16)5.9.存储多维数据 (17)5.10.数组排序 (17)5.11.实现自定义排序 (18)5.12.数组元素的随机排序 (19)5.13.取得数组元素的最大值和最小值 (19)5.14.比较数组 (19)5.15.创建关联数组 (19)5.16.读取关联数组 (19)6.0.渲染 (19)6.1.在可视化对象列表中添加项目 (20)6.2.从显示列表中删除项目 (20)6.3.向前或向后移动对象 (21)6.4.创建自定义可视化类 (22)6.5.创建简单的按钮 (22)6.6.动态载入外部图片 (23)6.7.载入外部swf (23)6.8.接收鼠标事件 (24)6.9.用鼠标拖拽对象 (25)7.0.绘图 (26)7.1.设置线条样式 (26)7.2.设置渐变线条样式 (26)7.3.画一条线 (26)7.4.划一条曲线 (27)7.5.画一条扇形 (27)7.6.画一个矩形 (27)7.7.画一个圆 (27)7.8.画一个椭圆 (27)7.9.画一个三角形 (27)7.10.画出规则的多边形 (27)7.11.绘制星形 (28)7.12.用实心和半透明来填充图形 (28)7.13.用渐变色填充图形 (28)7.14.用位图填充图形 (28)7.15.编写遮罩 (29)8.0.位图 (29)8.1.创建BitmapData (29)8.2.添加位图到可视化对象列表 (29)8.3.绘制可视化对象到位图上 (29)8.4.载入外部图片到位图上 (29)8.5.处理象素 (29)8.6.创建矩形填充 (30)8.7.创建一个充溢填充 (30)8.8.拷贝象素 (30)8.9.拷贝通道 (30)8.10.创建噪波图案 (31)8.11.创建布林噪波 (31)8.12.使用阈值 (32)8.13.在位图上应用滤镜 (32)8.14.在两幅位图之间转换 (32)8.15.滚动位图 (33)9.0.文本框 (33)9.1.创建带边框的文本框 (33)9.2.创建带背景色的文本框 (33)9.3.变成一个用户输入框 (33)9.4.变成一个密码输入框 (34)9.5.过滤文本输入框 (34)9.6.设置输入域的最大数量 (34)9.7.显示文本 (34)9.8.显示HTML (34)9.9.压缩空格 (34)9.10.调整文本框大小以适应内容 (34)9.11.滚动文本 (34)9.12.响应滚动事件 (35)9.13.格式化文本 (35)9.14.格式化用户输入的文本 (36)9.15.格式化一部分文本 (36)9.16.设置文本框字体 (36)9.17.嵌入字体 (36)9.18.创建可以被旋转的文字 (36)9.19.显示Unicode (36)9.20.设置文本框的焦点 (37)9.21.用ActionScript (37)9.22.设置文本框的光标位置 (37)9.23.响应文本选中和取消选中事件 (37)9.24.监听用户输入的内容 (37)9.25.在文本框里添加超链接 (37)9.26.用超链接调用ActionScript (38)9.27.高级文本布局 (38)9.28.高级抗锯齿 (38)9.29.替换文本 (39)9.30.获取系统字体列表 (39)10.0.颜色 (39)10.1.改变颜色 (39)10.2.应用色彩 (39)10.3.重置颜色 (39)10.4.倾斜 (39)10.5.应用简单的滤镜 (39)10.6.应用高级滤镜效果( (40)10.7.浮雕 (40)10.8.边检测 (40)10.9.锐化 (40)110.10.制作胶片效果 (40)10.11.应用灰度效果 (40)10.12.改变饱和度 (40)10.13.改变亮度 (40)10.14.改变对比度 (41)11.0.动作 (41)11.1.移动物体 (41)11.2.在指定方向上移动 (41)11.3.减速运动 (41)11.4.加速运动 (42)11.5.弹跳 (42)11.6.使用三角定理 (42)11.7.运用动画技术 (43)12.0.字符串 (43)12.1.字符串连接 (44)12.2.在字符串中使用引号和省略号 (44)12.3.插入特殊的空格字符 (44)12.4.搜索字串 (44)12.5.获取子串 (45)12.6.单词分析 (46)12.7.删除或替换字符或单词 (46)12.8.每次只读取一个字符 (47)12.9.大小写转换 (47)12.10.修正空格符 (47)12.11.反转字符串 (47)12.12.Unicode (48)14.0.日期/时间 (48)14.1.获得当前日期和时间 (48)14.2.获取时间值 (48)14.3.获取星期天数和月份名称 (49)14.4.格式化日期和时间 (49)14.5.格式化秒或毫秒为分或秒 (49)14.6.DMYHMSM和毫秒之间的转换 (49)14.7.使用Timer (49)14.9.字符串转换为日期 (49)15.0.声音 (49)15.1.创建Sound (49)15.2.开始和停止播放声音 (50)15.3.给声音数据设置缓冲 (50)15.4.声音的起始播放位置 (50)15.5.循环播放 (50)15.6.获得声音文件的大小 (50)15.7.读取声音文件的ID3 (50)15.8.判定音乐是否播放完毕 (51)15.9.跟踪音乐播放进度 (51)15.10.暂停和重新播放声音 (51)15.11.获得声音的音量 (52)15.12.停止播放所有的音乐 (52)15.13.读取音乐的声谱 (52)15.14.改变声音的音量和平衡度 (52)16.0.视频 (54)16.1.载入并播放视频 (54)16.2.控制视频声音 (54)16.3.读取回放时间 (54)16.4.获得视频长度 (54)16.5.控制回放时间 (54)16.6.缩放视频 (54)16.7.管理和监视缓冲及下载进度 (55)16.8.监听提示点 (55)16.9.给视频添加滤镜 (55)16.10.暂停和继续播放视频 (55)16.12.擦洗视频 (55)16.13.清除视频显示 (56)16.14.检测用户带宽 (56)17.0.数据 (56)17.1.创建,打开Local (56)17.2.写入数据到共享对象上 (56)17.3.保存本地共享对象 (57)17.4.从共享对象中读取数据 (57)17.5.删除共享对象中保存的数据 (57)17.6.序列化自定义类 (57)17.7.Flash (57)17.8.控制LSO (58)18.0.交互 (58)18.1.创建本地连接 (58)18.2.发送数据 (59)18.3.基于本地连接通信的有效性验证 (59)18.4.接受其他域的连接请求 (59)19.0.发送、读取数值 (60)19.1.从文本文件中读取数据 (60)19.2.从服务端脚本中读取变量 (60)19.3.读取文本块(包括HTML和XML) (61)19.4.检测读取进度 (61)19.5.边下载边访问数据 (61)19.6.发送数据给服务端脚本 (62)19.7.发送变量并处理返回结果 (62)20.0.XML (62)20.1.理解XML (63)20.2.创建XML (63)20.3.添加XML (63)20.4.添加文本节点 (63)20.5.在XML (64)20.6.读取XML (64)20.7.通过名字查找元素节点 (64)20.8.读取文本节点 (64)20.9.读取元素的属性 (65)20.10.删除元素,文本节点和属性 (65)20.11.载入XML (65)20.12.从不同域中读取XML (66)20.13.发送XML (66)20.14.搜索XML (67)20.15.在XML (67)21.0.远程过程调用 (68)21.1.调用Web (68)21.2.处理Web (68)21.3.处理Web (68)21.4.调用Flash Remoting方法 (68)21.5.处理FlashRemoting 响应 (68)22.0.与javascript通信 (69)22.1.调用JavaScript (69)22.2.调用ActionScript函数 (69)22.3.从HTML中传递参数给Flash (69)23.0.文件上传下载 (69)23.1.下载文件 (69)23.2.检测用户是否已选择了下载文件 (70)23.3.监视文件下载进度 (70)23.4.浏览本地文件 (70)23.5.过滤浏览对话框显示的文件 (70)23.6.监测用户是否选择了文件准备上传 (70)23.7.上传文件 (70)23.8.监视文件上传进度 (70)24.0.Socket (70)24.1.连接Socket服务器 (71)24.2.发送数据 (71)24.3.接收数据 (71)24.4.与socket服务器的状态信号交换 (72)24.5.断开与Socket服务器的连接 (73)24.6.处理Socket异常 (73)2ActionScriptitcroSnpAi3.0CookBook中文翻译1.1.新建一个ActionScript工程问题运行Flex Builder 2 然后新建一个ActionScript 工程解决方法使用新建ActionScript 工程向导来建立你的工程讨论一个ActionScript 工程一般至少包含一个class文件和一个用来放置编译输出的SWF和HTML的bin目录。
第1课 AS3脚本基础
Math对象是什么? 如何使用Math对象?
Math类是AS3.0语言提供的类中的一种。 AS3.0语言本身提供了很多可以直接使用的方法,这些 方法按照一定的规则或用途被封装在不同的类中; Math类是游戏编程中比较学使用的一种类; Math类包含表示常用数学函数和值的方法及常数。
Math对象是什么? 如何使用Math对象?
// 使用正则表达式,判断参数是否为整数 // 是整数就返回true,不是就返回false function isInteger(char:String):Boolean{
if(char == null){ return false;
} char = trim(char); var pattern:RegExp = /^[-\+]?\d+$/; var result:Object = pattern.exec(char); if(result == null) {
}
function rtrim(char:String):String{ if(char == null){ return null; } var pattern:RegExp = /\s*$/; return char.replace(pattern,"");
}
声明变量 变量作用域 变量默认值
声明变量 必须将var语句和变量名结合使用。 声明变量时不指定变量的类型是合法的。
txtTip
btnStart
btnSubmit
txtInput txtHis
// 全局使用的目标数字 var suc:int; 变量 // 调用游戏初始化方法 init();
// 游戏初始化方法,设定游戏开始前的场景布局、状态
AS3.0讲课用电子教案
2.2 变量和常量
• 变量和常量,都是为了储存数据而创建的。变量 和常量就像是一个容器,用于容纳各种不同类型 的数据。当然对变量进行操作,变量的数据就会 发生改变,而常量则不会。 • 变量必须要先声明后使用,否则编译器就会报错。 道理很简单,比如现在要去喝水,那么你首先要 有一个杯子,否则怎么样去装水呢?要声明变量 的原因与此相同。
ห้องสมุดไป่ตู้ 2.1.4 关键字和保留字
• 保留字,从字面上就很容易知道这是保留给 ActionScript 3.0语言使用的英文单词。因而不 能使用这些单词作为变量、实例、类名称等。如 果在代码中使用了这些单词,编译器会报错。 • ActionScript3.0中的保留字分为3类:词汇关键 字、语法关键字和供将来使用的保留字。 • 1.词汇关键字 • 2.句法关键字 • 3.供将来使用的保留字。
2.4.2 赋值运算符
• 赋值运算符有两个操作数,它根据一个操作数的 值对另一个操作数进行赋值操作。ActionScript 中的赋值运算有12个,
运算符 执行的运算
=
*= /= %= += -= <<= >>= >>>=
赋值
乘法赋值 除法赋值 求模赋值 加法赋值 减法赋值 按位向左移位赋值 按位向右移位赋值 按位无符号向右移位赋值
2.3 基础数据类型
• • • • • 和其它的面向对象的编程的数据类型一样,ActionScript3.0的数 据类型同样分为两种,具体划分方式如下所示。 基元型数据类型:Boolean、int、Number、String和uint。 复杂型数据类型:Array、Date、Error、Function、RegExp、XML 和XMLList。 一般来说,基元值的处理速度通常比复杂值的处理速度要快。 基元型数据和复杂型数据类型的最大的区别是:基元型是值对类 型数据,而复杂型是引用类型数据。值对类型直接储存数据,使 用它为另一个的变量赋值之后,若另一个变量改变,并不影响原 变量的值。引用类型指向要操作的对象,另一个变量引用这个变 量之后,若另一变量发生改变,原有的变量跟着也要发生改变。 另外,最明显的一个区别是,如果数据类型能够使用new关键字创 建,那么它一定是引用型数据变量。
AS3.0自学手册电子教程
1.3 Flash CS3的动作面板介绍
• Flash CS3中可以使用动作面板、“脚本窗口”或 者外部编辑器的创作环境中田间ActionScript代 码。本节就来介绍一下Flash CS3的动作面板窗口 和Flash CS自带的编辑器窗口,并将详细的介绍 功能按钮的作用。
1.3.1 动作面板概述
1.1 关于ActionScript 3.0
• ActionScript3.0是随着Adobe Flash CS3和Flex 2.0的推出而同步推出的脚本编程语言。本节将对 ActionScript3.0进行简要的介绍,并通过一些具 体的实例图片,展示了常见的ActionScript的应 用领域。
1.3.2 脚本窗口概述
• Action Script 3.0是很好的面向对象编程语言, 同样Flash CS3也提供了一个很不错的脚本编辑器, 这就是Flash的脚本窗口。使用脚本窗口可以创建 或者导入外部的脚本文件,这些文件可以是 ActionScript、Flash Communication或Flash JavaScript文件。
第2章 AS3.0编程语言基础
• 语法、数据、变量、运算符和语句构成了编程语 言的基础。本章将通过大量的测试代码。详细的 介绍ActionScript 3.0中的语法、数据类型,变 量以及运算符。通过本章的学习,为以后的面向 对象编程将打下一个坚实的基础。
2.1 AS3.0语法
• 任何一门编程语言在编写代码时都必须遵循一定 的规则,这个规则就是语法。本节将着重介绍从 ActionScript 2.0开始使用的点语法和区分大小 写,了解编程常用的标点符号的使用,以及程序 注释的使用方法。
第1章 AcionScript 3.0概述
AS3.0入门教程第三课
AS 3.0变量命名
这些是写程序最基本的要求,无论你在学习任何程 序都是应该遵循这些变量的命名方式和方法,养成 良好的写程序的习惯,能让你以后写程序的时候事 半功倍,所以不要小看这个命名,希望你们在一开 始学习语言的时候能打好基础,养成良好的命名习 惯而不是随便写一个a,b之类的。
表达式
下面来说一下一些表达式,很多时候一些表达式可 以告诉你这个变量是现在是什么意思,可以帮你解 决一些问题,所以要了解一下表达式: false:表示假的布尔值 true:表示真的布尔值 null:表示空值 this:表示本身 Infinity:Number:表示正无穷大 -Infinity:Number:表示负无穷大 NaN:Number:表示非数字值
前几节课我们学习了如何声明一个变量或者实例, 这节课开始我们继续深入如何声明变量 第四:避免相似命名 不要用相似的命名,类似:不应同时出现 mcLoadingFinish和mcLoadingFinished guiBtnList和guibtnList,这样只能增加阅读 难度没有其他任何好处 第五:标识符要保持统一 如果用了last_field,其他地方也要用类似 的如current_field,不要出现curfield或者 field1
然后转换这两个变量为数字型变量,动态生成第二 个文本框,内容是: 两个字符串转换为数字类型后相加结果:结果
变量的运算
既然是变量,那就可以进行一些运算,接下来说一 下简单的变量运算 加、减、乘、除(+,-,*,/): 数字型的变量是拥有这4种运算的,运算方式 和数据中一样,字符串和布尔型数据只有加这个运 算,字符串相加是把两者结合在一起,布尔值相加 可以自己尝试看看
变量的运算
既然是变量,那就可以进行一些运算,接下来说一 下简单的变量运算 逻辑运算符: 这个对于你们现在来说理解起来有些困难,但 是很多时候会用到,勉强记忆一下: 与:&& :&&两边的变量都需要成立 或: || : ||两边的变量有一个成立即可 非:! :!后面的变量是相反值
第2章 AS3.0编程语言基础
2.4.2 赋值运算符
• 赋值运算符有两个操作数,它根据一个操作数的 值对另一个操作数进行赋值操作。ActionScript 中的赋值运算有12个,
赋值运算符 运算符 = *= /= %= += -= <<= >>= >>>= &= ^= |= 赋值 乘法赋值 除法赋值 求模赋值 加法赋值 减法赋值 按位向左移位赋值 按位向右移位赋值 按位无符号向右移位赋值 按位"与"赋值 按位"异或"赋值 按位"或"赋值 执行的运算
2.3.2 数据类型检查
• 任何编程代码在执行前或者执行时都要执行数据类型的检 查,以避免出现数据错误。ActionScript 3.0是动态类型 的语言,它默认的是执行时进行数据类型检查。同时它也 在适合使用“严格模式”的编译器在编译时执行数据类型 检查。在使用严格模式的编译器中,数据类型检查既可以 在执行前执行编译器检查,也可以在运行时执行运行时检 查。在标准模式下,只支持默认的执行时数据类型检查。 • 比如说在程序编写过程中,要明确传递变量值的类型和接 受参数类型相同。比如下面的代码: • function func(mystr:String) { • trace(mystr); • } • var str:String="welcome you"; • func(str);
2.2.1 声明变量的语法
• 在ActionScript 3.0中,使用var关键字来声明变 量。格式如下所示。 • var 变量名:数据类型; • var 变量名:数据类型=值; • 变量名加冒号加数据类型就是声明的变量的基本 格式。要声明一个初始值,需要加上一个等号并 在其后输入响应的值。但值的类型必须要和前面 的数据类型一致。
AS3.0案例教程
4
案例3打飞机
绑定类访问影片子元件 1做影片剪辑 2 生成类文件 1)为子影片剪辑定义MovieClip类型 3构造函数调用初始化函数init()
4、function init()影片剪辑播放;实现拖动;鼠
标单击事件侦听 5、侦听函数实现子影片剪播放功能 6、扩展功能*:鼠标点击影片剪辑移动和旋转
24
期末巩固练习
2、游戏逻辑
状态1准备选第1张 firstcard=null secondcard=null
25
状态2准备选第2张 firstcard≠null secondcard=null
期末巩固练习
2、游戏逻辑
状态3未配对成功 firstcard≠null secondcard≠null
26
5)变量内容由影片剪辑到根层级传递(见代码)
30
期末巩固练习
5、添加游戏效果
5、1卡片翻转效果
1)新建一个Card类,实现翻转。十步实现翻转。设一个变量=10,递减 2)6-10步this.scaleX=0.8,0.6,0.4,0.2,0逐渐变小
3)5-1步相反this.scaleX=0,0.2,0.4,0.6,0.8,1
lineSprite.graphics.moveTo(rectCanvas.x , rectCanvas.y + tileHeight*(i + 1));
lineSprite.graphics.lineTo(rectCanvas.x + rectCanvas.width , rectCanvas.y + tileHeight*(i + 1));
0
1
2
3
2
5
trace( tile.index % col );1 trace( Math.floor(tile.index/col) );0
flash as3.0 入门
addChild(myWebLink)
*
测试上面代码,我们发现链接能够正常使用了,我们想以下,如果让链接加上下划线,改变字体的颜色应该怎么处理呢?我们来看下面的代码:
*
varmyStyleSheet:StyleSheet=new StyleSheet()
*
//注意颜色值的格式为#FFFFFF
*
myStyleSheet.setStyle("A",{textDecoration:"underline",color:"#0000ff"})
*
第一种方法
*
先把这个影片剪辑从库中拖放到舞台上,在属性面板上取一个实例名称,例如myClipInstance,然后你就可以通过代码来控制舞台上这个影片剪辑的相关属性了。下面代码定义该影片剪辑的坐标为(300,200)
*
myClipInstance.x=300
*
myClipInstance.y=200
另外我们在看一下创建文本格式的两种用法的区别对于上面的代码我们可以把它分为两部分上面部分为文本赋值代码下面部分为格式设置代码对于此种情况要让格式应用与文本的话必须用settextformat方法才有效
******1--影片剪辑的应用.txt*****
2.1.1影片剪辑的应用
*
如果你在库中有一个影片剪辑,想把它添加到舞台上的话,有两种方法可供选择:
#
#
#
最后,我们来创建第三个sprite容器,它包含一个圆形,我们把它添加到sprite1容器内,并给它一个黑色填充,代码如下:
#
varsprite3:Sprite=new Sprite()
#
AS3.0语言基础
AS 3.0语言基础================================================第2章ActionScript 3 语言基本元素================================================2.1.2 数据类型概述简单数据类型Boolean(布尔)、int(有符整型)、Number(浮点)、String(字符串)、uint(无符整型)复杂数据类型Array(数组)、Date(日期)、Error(异常)、Function(函数)、RegExp(正则表达)、XML、XMLList2.2.1 变量声明var 变量:类型var 变量:类型= 值;2.3 声明常量const 常量名:类型= 值;2.4 基础数据类型1.布尔值Boolean(初始化为false)2.数字:int uint Numberint 有符号32位整数-2(31次方) - +(2(31次方)-1)uint 无符号32位整数0 - 2(32次方)-1Number 64位浮点能用整数优先用int uint,有正负之分,用int。
只处理整数,用uint,有小数,用Number。
2.4.6 Object及关联数组var 对象:Object = new Object()var 对象:Object = {};2.4.8 Null、NaN、undefined及各自应用对象:变量的默认值数据类型默认值int 0uint 0Number NaNString nullBoolean falseArray nullObject null没声明undefined* undefined注意:必须声明初值,否则容易出错。
2.5 运算符,表达式及运用2.5.11 typeof、is、astypeof,用字符串返回对象类型,格式:typeof(对象)is ,判断操作符左边的对象是否属于右边的类型,返回值为Boolean,格式:对象is 数据类型as ,判断操作符左边的对象是否属于右边的类型,属于则返回数据,不属于则返回null,格式:对象as 数据类型typeof对象类型与返回结果对照表对象类型返回结果Array objectBoolean booleanFunction functionint numberNumber numberObject objectString stringuint numberXML xmlXMLList xml2.5.12 inin ,判断操作符左边的对象是否作为右边对象中的键(Key)或索引,返回值为Boolean比如:var a:Array = ["q","w","e"];trace(2 in a); //数组中有索引2,返回truetrace(3 in a); //数组中没有索引3,返回false2.5.13 delete关键字AS2.0中可以删除任意任意对象的delete关键字,在AS3.0中只能用于删除对象的动态实例属性,非动态属性不能删除。
AS3.0_第一章 编程基础
第一章编程基础1、(开始)AS的版本问题AS语言有两个版本:AS2.0AS3.02.0早期版本,3.0中也允许使用*打开3.0的文档,flash player要求9.0以上2、程序的概念与用途程序是计算机执行的一系列的指令(集合)或步骤每一步最终都涉及到对弄一段信息或数据的处理(事先编好,等用户使用)例:用鼠标单击——执行mouse的行为的步骤——对信息的处理例:就像在设计游戏,定规则,怎么玩,谁参加,最终的目的,效果但,程序不是什么都能作,比如,word处理文本,flash——动画,编程,不能超出范围,没有相关指令去执行程序,是没有相关效果的。
规则:(1)你是程序(游戏)的设计制作者与规划者(2)这个程序的工作既是对数据的处理。
考虑如何处理,何时出现,出现多少属性等等3、变量和常量程序对数据进行处理,一般先调入内存中,然后在处理,数据非一层不变,随着我们的操作而改变的数据叫变量,有些值式数据不变,及常量。
变量包括三部分:名称;类型;值例a:String=“100”名称字符类型值4、数据类型(两大类)简单类型string:一个文本值,例如一个名称式书中某一文字。
Number:任何数值,包括有小数式证书lnt:一个整数(不带小数部分的整数)Boolean:一个true式或false值,例如开关是否开启或两个值是否相等uint:“无符号”整数()既不能为负值的整数复杂型数据Movie Clip:影片剪辑元件Text Flield:动态文本字符式输入文本字段Sinple Button:按钮控件Date:有关时间中的某个片刻信息(日期和时间)可以这样解释,它们是一些数据的集合。
⑴例:日期时间里包括日期和时间,有年月日,时分秒⑵例:MovieClip:变量(x,y长宽高等)包含了属性;事件方法5、类和对象经常用作数据类型的同义词的还有“类”和“对象”例:变量my variable的数据类型是Number变量my variable是一个Number类型的实例变量my variable是一个Number类型的对象变量my variable是一个Number类的一个实例比如:男人是一个类,男人里的男孩是对象,男人是个类型(弄清概念)6、对象的特征AS3.0是面对对象的编程语言对象的三个特征:属性、方法、事件可理解为,属性如“人”身高体重等;能做什么,如跑,唱,等事件:能够与他交流的方法,语言、手势、笔等例MovieClip:长度,宽度,坐标(属性),从左到右,从上到下,(方法);单击或播放时执行的事件7、运算符“运算符”是用于计算的特殊符号(有时是词)如:算术运算符“+、-、×、÷”。
AS3.0案例教程
AS3.0
视觉编程
类绑定 多媒体控制 调用其他
案例1星星
1、熟悉as3.0代码基本编写思路 2、库元件的类绑定操作 3、ColorTransform与hitTestObject
3
案例2碰撞小球
库元件绑定深入认识 1、文档类与flash文件绑定后,类文件内可以直接 通过实例名调用指向影片元件 2、时间轴代码:直接运用实例名 3、hitTestPoint和hitTestObject用法
4)为5时,显示卡片图案 gotoAndStop(frame); 5)还有什么需要改进?
要实现中心翻转,影片元件中与注册点 对齐位置要改,坐标计算参考量要改
31
期末巩固练习
5.2卡片浏览时间 卡片翻上以后,留有2秒钟时间供玩家记忆,然 后翻黑
1)使用Timer类完成此功能
2)函数添加在哪里?
两张翻过来的卡片不匹配时,内层
状态4配对成功,消除 通过卡片的标号值判断
2、游戏逻辑
if (firstcard=null){ 显示所点击第一张卡片 } else if(firstcard == thiscard) { 第一张显黑 置为空}
期末巩固练习
重复点击
else if (secondcard=null) { 显示第二张卡片 if (firstcard.cardface == secondcard.cardface) { 从显示列表删除这两张卡片removeChild(对象) } else{ 两张卡片显黑 重新显示第一张 } } 27
24
期末巩固练习
2、游戏逻辑
状态1准备选第1张 firstcard=null secondcard=null
25
AS3菜鸟教程
一、了解类一直想写个关于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{public class MyClass{public function MyClass(){}}}这里是一个类的简单结构,package是包的意思,学过JAVA的朋友应该知道这个概念,其实说简单点就是这个类文件所放的位置,假设现在我们这个项目是放在d:\exam这个文件夹里面,那么我们刚才写的类直接保存在exam这个文件夹里面,取名叫MyClass.as就可以了(注意:类的文件名应该跟类名一样),因为现在package后面没有任何东西,如果代码写成这样:package net.smilecn{public class MyClass{public function MyClass(){}}}那么MyClass.as就应该放在d:\exam\net\smilecn这个路径下面.public class MyClass : 这里是表示我们要建的这个类的名字是MyClass,这个名字可以随便起,习惯上以大写开头public function MyClass(){} : funciton 代表一个方法名,可以说是函数,跟类名相同的方法,我们称为构造函数,就是这个类被实例化时执行的函数,现在我们在把代码改一下:package net.smilecn{public class MyClass{public function MyClass(){trace("这个我写的第一个类");}}}我们在d:\exam下建立一个FLA文件,在第一帧写如下代码:import net.smilecn.MyClass;var myClass:MyClass = new MyClass();那么在输出面板里就会看到“这个我写的第一个类” 这段信息了,import net.smilecn.MyClass:导入我们的类(类在使用前要导入net.smilecn是包名,MyClass是类名)var myClass:MyClass = new MyClass() : 实例化MyClass这个类(实例化的时候会执行构造函数,那么就会执行trace 这句代码)今天就到这里,下节继续讲解类的使用.二、包概念,构造函数着上一节的内容,上一节中我们建了一个简单的类,讲解了包的概念,构造函数的概念,接下来再看看成员常、变量和成员函数的概念,再来看一段代码:package net.smilecn{public class MyClass{public const PI:Number = 3.1415926;public var r:Number;private var s:Number;public function MyClass(){trace("这个我写的第一个类");}}这里我们在以前的基础上增加了几句代码,const是定义常量,var是定义变量,所谓的常量就是永远不能改变的量,变量就是能够改变的量;public、private是属性关键字,在AS3中属性关键字有这样几个:public:指定类、变量、常量或方法可用于任何调用者private:指定变量、常量或方法仅可供声明或定义它的类使用protected:指定变量、常量、方法或命名空间只可用于定义它的类及该类的任何子类internal:指定类、变量、常量或函数可用于同一包中的任何调用者这里我们先重点看一下public、private这两个属性关键字,从字面上理解public是公共的意思,说简单点就是任何地方都可以调用,private是私有的意思,就是说只有这个类中才可以调用,我们用一个例子做一个简单的说明,还是在上一节中我们用的FLA文件中的第一帧加上这个的代码:import net.smilecn.MyClass;var myClass:MyClass = new MyClass();myClass.r = 3;//正确myClss.s = 18;//错误可以看到因为r声明为public,所以我们在外部调用是正确的,s声明为private,所以不直接在外部访问s这个变量,这就是public和private的区别,那我们要在外部改变s的值应该怎么做呢,我们可以这样做,在来修改MyClass类:package net.smilecn{public class MyClass{public const PI:Number = 3.1415926;public var r:Number;private var s:Number;public function MyClass(){trace("这个我写的第一个类");}public function setSValue(value:Number):void{s = value;}}}这样我们通过一个公共方法(方法就是函数的意思)设置了s的值,在FLA文件中这样调用:myClass.setSValue(18);就可以了,当然跟其它语言一样,我们也可以用get和set方法来读取或写入private变量的值:package net.smilecn{public class MyClass{public const PI:Number = 3.1415926;public var r:Number;private var s:Number;public function MyClass(){trace("这个我写的第一个类");}public function set sValue(value:Number):void{s = value;}public function get sValue():Number{return s;}}}我们在调用的时候就可以用这样的语句了:myClass.sValue =18;(当使用过set后可以这样操作)var a = myClass.sValue;(当使用过get后可以这样操作)下节继续!三、类的继承这一节,我们讲到一个我们用的比较多的一个概念—-继承.继承是指一种代码重用的形式,允许程序员基于现有类开发新类。
AS3.0基础编程
ActionScript 3.0特点
•ActionScript 3.0包括两部分:核心语言和Flash Player API。 核心语言用于定义编程语言的基本结构, 比如声明变量,创 建表达式控制程序结构和数据类型等。 Flash里的API是用来与后台数据库联系的命令,被用来抓取 数据库中的数据(以某些关键字做索引)以被flash程序调用。
1.5 AS3.0中的函数
函数的分类 根据定义的位置不同,函数可以分为函数闭包和方法 •函数闭包:全局函数都是闭包函数 •函数方法:如果把函数作为类定义中的一部分,如cs.add(); 函数的定义 Function 函数名(参数,„,参数):返回值类型{} 如: Function wy(a:Number):void { trace(a); }
ActionScript 3.0优点: •这种语言支持类型安全性,使代码维护更轻松。 •与其他语言相比,这种语言相当简单,很容易编写。 •开发人员可以编写具有高性能的响应性代码。 •这种语言向后兼容 ActionScript 2 并向前兼容ECMAScript for XML。
两种ActionScript代码编写方式
MouseEvent
KeyboardEvent FocusEvent TextEvent TimerEvent
鼠标事件
键盘事件 焦点事件 文本事件 计时器事件
NetStatusEvent ProgressEvent
ErrorEvent HTTPStatusEvent FullScreenEvent
网络状态事件 进度事件
•获取时间:如:获取年 •设置时间:如:设置年
getFullYear(); setFullYear();
Timer类的使用 重要用途:按照一定的时间间隔触发Timer事件,调用某个特定函 数。 定义: var 对象名:Timer=new Timer(延时,次数);
AS3.0
ActionScript3 Flash基础教程首先我们要了解AS要写在什么地方,什么时候AS会被触发执行。
1、帧:写在关键帧上面的AS,当时间轴上的指针走到这个关键帧的时候,就写在这个帧上面的AS 就被触发执行了。
常见的例子有在影片结尾的帧写上stop() 等。
操作方法就是点选关键帧,然后打开AS面板。
2、按钮:不同于帧上面的AS,按钮上面的AS是要有触发条件的。
要把AS写在按钮上,操作方法是点选目标按钮,然后打开AS面板。
举个例子能说的更明白。
假设有一个动画,要让它在播放完同时停止,那么,你要做的就是在这个动画的最后一帧写ASstop();再假设有个按钮,效果是按下按钮后停止播放,那么步骤如下。
做一个按钮,放到主场景,点选按钮,然后打开AS面板。
现在如果也在按钮上写stop();那么,输出的时候就会提示错误。
正确的应该这样写on(release){stop();}这里要比帧的动画多这些代码: on(release){} , 整个代码翻译过来就是:当(松开){停止}红色的代码表示鼠标的触发事件事件之一,这里用的是release 松开,按钮的常用事件: release 松开releaseOutside 在按钮外面松开press 按下rollOver 鼠标进入按钮的感应区rollOut 鼠标离开按钮的感应区现在很明确了:写在按钮上面的AS一定就是这种格式的:on(事件){要执行的代码}3、MC(电影剪辑)如果你看懂了上面的内容,那么写在MC上面的AS和写在按钮上的大同小异。
操作方法就是点选MC,然后打开AS面板。
看个例子onClipEvent(load){stop();}同样,MC需要一个事件来触发AS的执行。
翻译这段代码就是当剪辑(载入){停止}红色代码同样表示一个事件。
MC的事件有下面这些:load 载入,当MC出现的时候执行。
也就是除非卸载这个MC,否则load事件内的代码只执行一次unload 卸载,当MC卸载的时候执行enterFrame 存在的每个帧。
第2章_AS3.0基础知识
中括号赋值创建数组 • var _arr:Array=[“one”,”two”,”three”,”four”] 访问数组:数组索引从0开始
2. 字符串索引数组
访问数组时方括号内需要一个字符串(其 实就是属性),数组本质就是Object对象。 使用直接初始化一个对象的方式定义
Var aa:Object={type:”a”,resolution:”b”};
const g:Number=9.8;
4. 变量的声明和使用 Var 变量名:数据类型;
Var 变量名:数据类型=值;
变量命名规则
使用英文单词
采用骆驼式命名法 符合min-length && max-information
5. 变量的默认值
变量的默认值是指变量在没有赋值之前的值。 Boolean型变量的默认值是:false。 int型变量的默认值是:0。
第2章 AS3.0编程语言基础
第2章 AS3.0编程语言基础
2.2 数据类型
常量的使用 变量的声明和使用
2.3 运算符、表达式及应用
2.4 数组
2.5 编程基本语法要素
2.6 坐标系统
2.7 角度
2.2 数据类型
1.基本数据类型
Boolean :布尔值,包含true和false两个值。 int :在内部存储为32位整数,包含的整数集介于231 ~( 231 – 1)之间(包含两端)。 Number :可以表示整数、无符号整数和浮点数。 Uint :在内部存储为32位无符号整数,包含的整 数集介于0 ~(232 -1)之间。 String :表示一个16位字符的字符串。 Null :仅包含一个值,即null。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Flash 动画设计与制作
ActionScript 3语言基本元素
4、基础数据类型
所有的基元数据类型 两种复杂数据类型
var a:Array=[] var b:Array=new Array() Boolean,int,Number,uint,String var c:Array=[1,2,3,4] var d:Array=new Array(1,2,3,4) Array,Object
4、基础数据类型
所有的基元数据类型 两种复杂数据类型
Boolean,int,Number,unit,String Array,Object
布尔值:Boolean 表示真假 两个值:true,false 声明一个布尔型变量时忘记赋值,默认值为false
2013年2月6日12时8分
Flash 动画设计与制作
var foo:Object={k1:v1,k2:v2,k3:v3} 使用空的大括号构造Object时,还可将属性写进去
2013年2月6日12时8分
Flash 动画设计与制作
ActionScript 3语言基本元素
4、基础数据类型
所有的基元数据类型 两种复杂数据类型
Boolean,int,Number,uint,String Array,Object
Boolean,int,Number,uint,String Array,Object
属性(Property) Object及关联数组 用来存放各种数据 Object的成员 方法(Mehtod) 存放函数对象 声明新Object方法 1.使用构造函数 var foo:Object=new Object() 2.使用空的大括号作为new Object() 函数的语法快捷方式
Flash 动画设计与制作
2013年2月6日12时8分
ActionScript 3语言基本元素
5、运算符、表达式及运用
算数运算符:+,-,*,/,%,求反 算数赋值运算符:+=,-=,*=,/=,%= 关系运算符(判断相等关系):==,!=,===,!== 关系运算符(判断大小关系):>=,<=,>,< 逻辑运算符:&&,||,! 三元if-else运算符:?: typeof(用字符串形式返回对象的类型) is(判断一个对象是否属于一种类型,返回布尔值) as(如果一个对象属于一种类型,则返回这个对象,否则返回null) 优先级顺序:使用括号代替记忆
矩形工具
椭圆工具 导入外部资源 动作面板
2013年2月6日12时8分
Flash 动画设计与制作
ActionScript的新特性
ActionScript 3中的新特性: 1.运行时排错:错误会运行时抛出以帮助你调试你的影片。 2.运行时变量类型检测:在回放时会检测变量的类型是否合法。 3.类封装:静态定义的类以增强性能。 4.方法封装:方法现在与它们相关的类实例绑定因此在方法中的’this‟ 将不会改变。 5.E4X :一个新的,更易于操作的xml 6.正则表达式:支持本地化正规表达式。 7.命名空间:不但在xml中支持命名空间而且在类的定义中也同样支持。 8.int和uint数据类型:新的数据变量类型允许ActionScript使用更快的整 型数据来进行计算。 9.新的显示列表模式:一个新的,自由度较大的管理屏幕上显示对象的 方法。 10.新的事件类型模式:一个新的基于侦听器事件的模式。
Flash 动画设计与制作
2013年2月6日12时8分
Flash 动画设计与制作
1
Flash简介
Flash 是Macromedia 公司的一个非常受欢迎的多媒体产品。 它是一种用于制作和编辑动画和电影的软件。 它可以在使用很少字节量的情况下,实现高质量的矢量图形 和交互式动画的制作。 它的动画文件扩展名为.swf,可以插入html语言中,也可以 单独成为网页。 Flash 不但能够制作一般的动画,而且可以制作出带有背景 声音,具有较强的交互性能的电影。 2006年底Adobe公司收购Macromedia 公司,于07年推出 Flash CS版本,在ActionScript方面做了较大改动。
2013年2月6日12时8分
Flash 动画设计与制作
ActionScript 3语言基本元素
4、基础数据类型
所有的基元数据类型 两种复杂数据类型
Boolean,int,Number,uint,String Array,Object
使用int,uint,Number应当注意的事项: 数字:int,uint,Number 能用整数值时优先使用int和uint int:有符号的32位整数型,数值范围:-231︿+(231-1) 整数值有正负之分时,使用int uint:没有符号的32位整数型,数值范围:0︿ 232-1 只处理正整数,优先使用uint 处理和颜色相关的数值时,使用uint Number:64位浮点值,数值范围1.79769313486231e+308 碰到或可能碰到小数点时使用Number ︿4.960656458412467e-324 整数数值运算涉及到除法,建议使用浮点值
基元数据类型 int Number uint String
处理数字 处理文字
复杂数据类型
Array,Date,Error,Function,RegExp,XML,XMLList, 自己定义的类
Flash 动画设计与制作
2013年2月6日12时8分
ActionScript 3语言基本元素
2、变量的声明和使用
ActionScript 3语言基本元素
4、基础数据类型
所有的基元数据类型 两种复杂数据类型
Boolean,int,Number,uint,String Array,Object
数字:int,uint,Number int:有符号的32位整数型,数值范围:-231︿+(231-1) uint:没有符号的32位整数型,数值范围:0︿ 232-1 Number:64位浮点值,数值范围1.79769313486231e+308 ︿4.960656458412467e-324
变量必须先声明再使用
变量命名规则
i 尽量使用有含义的英文单词作为变量 i=3 名 var j = “String Value”
声明变量的语法
变量名采用骆驼式命名法 尽量避免变量名中出现数字编号
var 变量名:数据类型; var 变量名:数据类型 = 值
var i:int i=100 var k:int = 100,i:int=200 var j:String = “String Value”
2013年2月6日12时8分
Flash 动画设计与制作
Flash的应用
网站建设 网上 教学课件 影视片头 游戏制作 手机服务 动画片13年2月6日12时8分 Flash 动画设计与制作
Flash cs3新增功能介绍
界面操作 面板折叠开关
变量的默认值
int,uint的默认值为0 Number的默认值为NaN Boolean的默认值为false String的默认值为null
2013年2月6日12时8分
Flash 动画设计与制作
ActionScript 3语言基本元素
5、运算符、表达式及运用 要有运算对象才可以进行运算 运算对象和运算符的组合称为表达式
字符串:String 如何声明字符串? 如何知道字符串的长度?
var stringSample:String=“this is an apple”; var stringLength:Number=stringSample.length; trace(stringLength)
2013年2月6日12时8分
Flash 动画设计与制作
2013年2月6日12时8分
ActionScript 3语言基本元素
var 4、基础数据类型 var var 所有的基元数据类型 var 两种复杂数据类型 var var
stringSample1:String; stringSample2:String=“”; Boolean,int,Number,uint,String stringSample3:String=new String() stringSample4:String=“abc” Array,Object stringSample5:String=new String(“abc”) stringSample6:String=„abc‟
如果要赋值,值的数据类型必须和变量的数据类型一致
2013年2月6日12时8分
Flash 动画设计与制作
ActionScript 3语言基本元素
3、使用const声明常量
AS3中新增的关键字 语法 const foo:int = 100
2013年2月6日12时8分
Flash 动画设计与制作
ActionScript 3语言基本元素
2013年2月6日12时8分 Flash 动画设计与制作
思考
如何修改(实现)以前的对影片剪辑的控制?
2013年2月6日12时8分
Flash 动画设计与制作
ActionScript 3语言基本元素
1、数据的本质及其重要性质 数据是一切编程语言的基石 ActionScript 3中所有数据都是对象 数据类型: Boolean 标识真假