第13讲 ActionScript 数学对象和字符串对象
ActionScript命令规则
ActionScript命令规则1、类型声明——在标识符后面用一个冒号(:)来定义后面跟的是它的数据类型或类对象。
var maVar:Number<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre code_snippet_id="1658807" snippet_file_name="blog_20160423_2_9270245" name="code" class="java">2、区分大小写——同名但大小写不同认为是不同的3、点语法——当要定义属性和方法的访问、继承、对象显示以及XML父子继承是要使用.方法<pre name="code" class="java">var myClass:SomeClass = new SomeClass();myClass.myPro = "hello";4、注释——单行注释//和块注释/**//**这部分是块注释只有这些部分才能够被ASDoc工具识别而创建在线文档**/5、括号——用于重组从操作优先到用户优先的表达式顺序6、变量可以通过省略类型或者使用*号声明为无类型:var myNum:Number;var myVar;Var myVar:*;7、3类原生数据类型:基本数据类型、特殊数据类型和复杂数据类型。
基本数据类型包括:Boolean、Number、int、uint、String特殊数据类型包括:Null、voidvoid 数据类型只包含未定义的值,是所有无类型对象的默认值,而且它通常用做方法声明的返回类型的注释。
复杂类型包括:Object、Array、Date、Error、Function、RegExp、XML、XMLList8、数字型Number数字型代表浮点型,最大值最小值Number.MAX_VALUE和Number.MIN_VALUEint整形代表整数uint无符号整形代表无符号整数aN(非数字)作为数字变量的默认值使用,它代表应该返回的结果是一个数字,但返回的是其它的结果。
第十三章:Action Script
1、存放信息的容器,用来对所需的数据资料进行暂时的储存 2、在程序运行过程中,其值会发生变化的。 变量的定义(变量的命名/变量声明):
Var 变量名=初值; 或 变量名=初值;(局部变量)
例如:
var newdate=10;
例如:newdate=10; 例如:
var count: Number=10;
26
英语单词学习
visible可见度 root根目录 text文本 data数据 number数字 string一串,一 行,字符串 on在…之时 trace跟踪,追踪
program程序 Boolean布尔 true真 false假 field田野,域,字 段 function 功能; 作 用; 职责;函数;
布尔(Boolean)
9
任务三:ActionScript代码
5、运算符 :
与一般的编程语言相同,AS也使用运算符。 运算符是执行计算的特殊符号,它具有一个或多个操作数,并返 回相应的值。 常用运算符:
算术运算符+、-、*、 /、++、- - 、%(求模) 赋值运算符
=、+=、-=、*=、/=、%=
2、关键字(参见214页)
AS中用于执行一项特定操作的单词,不能用作标识符 例:Var关键字用于声明变量。(不能用作标识符例如:变量,函数或 标签名称)
3、常量
无法改变的固定的值,例如PI(Math.PI)
11
任务三: ActionScript基本语法
4、AS中的语法 :
ActionScript的基本语法规则
1.点语法在ActionScript中,点(.)被用来指明与某个对象或电影剪辑相关的属性和方法。
它也用标识指向电影剪辑或变量的目标路径。
点语法表达式由对象或电影剪辑名开始,接着是一个点,最后是要指定的属性、方法或变量。
例如,表达式ballMC.x是指电影剪辑实例ballMC的_X属性,_X电影剪辑属性指出编辑区中电影剪辑的X轴位置。
例如,submit是在电影剪辑form中设置的一个变量,而form又是嵌套在电影剪辑shoppingCart中的电影剪辑。
表达式shoppingCart.form.submit=true的作用是设置实例form的submit变量的值为true。
表达一个对象或电影剪辑的方法遵循相同的模式。
例如,ballMC实例的play方法用于移动ballMC的时间轴播放头,就像下面的语句:ballMC.play();点语法使用两个特殊的别名:_root和_parent。
别名_root是指主时间轴。
可以使用_root别名创建一个绝对路径。
例如,下面的语句调用主时间轴中电影剪辑functions的buildGameBoard函数:_root.functions.buildGameBoard();Flash MX允许使用别名_parent来引用嵌套当前电影剪辑的电影剪辑。
也可以用_parent创建一个相对目标路径。
例如,如果电影剪辑dog被嵌套在电影剪辑animal之中,那么,在实例dog上的下列语句告诉animal电影剪辑停止播放:_parent.stop();2.斜杠语法Flash的以前版本是使用斜杠语法指出电影剪辑或变量的目标路径的。
Flash MX播放器仍然支持这种语法,但不推荐使用。
在斜杠语法中,斜杠被用来代替点,用以标明电影剪辑或变量的路径。
要指出一个变量,可以在变量前加上冒号,如下面的语句所示:myMovieClip/childMovieClip:my Variable我们现在用点语法取代上述斜杠语法来表示上面的目标路径:myMovieClip.childMovieClip.myVariable斜杠语法在tellTarget动作中使用最为普遍,但这种动作在Flash MX中已不再推荐使用。
ActionScript从入门到精通
PDF pdfFactory Pro
先花一点时间了解一下计算机语言的起源和发展。 当第一台数字计算机诞生的时候,唯一的编程语言是计算机的专用语言——二进制代码, 即 由数字 1 和 0 组成的编码。 当由 1 和 0 组成的不同序列被输入到计算机中, 计算机就会执行 完全不同的操作。 使用这种语言编写程序是相当费劲的, 就算写一个简单的两数相加的程序, 程序的长度也是相当惊人的。 为了避免每次都为两数相加的操作书写长长的二进制程序, 有人书写了一种专门用于两数相 加的代码,你可以方便地使用相同的代码实现任意两数的相加操作。接着,一些类似的函数 诞生了,用它们可以处理所有的基本任务,如加、减、乘、除、比较、循环等等。从此以后, 你可以使用这些事先编写好的函数执行几乎所有的操作了。 现代的计算机语言理解和使用起来较之二进制编码都已经容易了无数倍, 其一, 现代计算机 语言与英语语法很相似,如 “go” 、 “for” 、 “begin” 、 “if”以及+、-、=等,它们的含义和用 法与现实中都相差不大。 BASIC、Pascal 等编程语言,几乎可以像英语句子一样阅读,所以学习和理解起来都非常容 易。其他语言,如 C、Fortran,它们的功能更强一些,经验丰富的程序员可以用它们完成更 复杂的任务。更多的语言居于以上两种语言之间,如 C++、Java 和 JavaScript,它们既有一 定的可读性,也有较强的功能。ActionScript 与这些语言有更多的相似之处。 Flash 遵从 ECMA(European Computer Manufacturers Association 欧洲计算机工业协会)制定 的标准,因此 ActionScript 与 ECMAScript(ECMA 开发的一种语言)极其相似。所以与其 说 ActionScript 建立在 JavaScript 的基础上,不如说 ActionScript 和 JavaScript 都建立在共同 的基础之上。 Flash 具备交互功能,它的早期版本已能够利用简单的脚本实现不太复杂的导航和按钮。同 时,Flash 还是一种矢量动画工具,它的发展是与对它的应用需求分不开的,比如说网页设 计者需要一种工具来制作体积更小的图像, 由于矢量图是由线条和填充色构成的, 而不是像 位图一样由像素构成,所以它能够大大缩减文件大小,正顺应了网页设计者的需求,使许多 系统配置低的用户也能够访问和浏览他们的网页。 虽然说 Flash 是一个图形动画工具,但也不是没有使用程序的需要,比如说设计者需要制作 一个按钮,让别的用户能通过单击按钮浏览到别的页面。 Flash 早期版本中的脚本非常简单,直到 Flash 4,才具有了标准的程序结构,如条件结构、 循环结构等。但是 Flash 脚本仍然需要使用下拉菜单和空白文本框添加,几乎还不能叫做一 种编程语言。 真正的 ActionScript 到了 Flash 5 才出现, 程序员可以直接键入程序并将程序添加给需要作用 的元素。Flash MX 更大地扩展了 ActionScript ,现在的 ActionScript 提供了多达 300 余种命 令、函数、运算符和结构,这才真正成为一种成熟的程序语言。 1.3 初识 ActionScript 脚本是由英语单词、数学符号和函数构成的,下面是一个 ActionScript 的例子: on (press) { gotoAndPlay ("my frame"); } 你可以通过其中的关键单词推测这段程序的作用。单词 press 表示按,即用鼠标在某种对象 上面单击,这里的对象就是按钮。第二行中的长单词可以分开读成 “go to and play” ,可以 将其理解为命令 Flash 到达影片中的一个特定位置并从这一特定位置开始播放影片。 从以上可以看出,ActionScript 可以控制 Flash 影片的播放。在着手学习 ActionScript 之前, 我们将对 ActionScript 在 Flash 影片中的功能作更多的了解。 Flash 影片可以包含若干场景,每个场景都有时间轴,每条时间轴从第 1 帧开始。如果不添
第13章 认识ActionScript语言
动作脚本编写流程
在Flash 8制作脚本动画时,在开始编写脚本之前,首先要明确动画要达 到的目的,然后根据动画设计的目的,设计者决定使用哪些动作,怎样有效地 构造脚本,脚本应该放在何处,所有这些都要仔细规划,特别是在动画复杂的 情况下更应如此。不过在设计动作脚本时始终要把握好动作脚本的时机和动作 脚本的位置,如果这两个问题没有弄清楚,在制作脚本动画时非常容易出错, 而且出现用户无法控制动作脚本程序的现象。
脚本程序的时机 脚本程序的位置
ActionScript语法基础
动作脚本具有语法和标点规则,这些规则可以确定哪些字符和单词能够用 来创建含义及编写它们的顺序。例如,在动作脚本中,分号通常用于结束一个 语句。
点语法 大括号 分号 圆括号 大写和小写字母 注释 关键字 常数
ActionScript的数据类型
在Flash 8中,如果要进行动作脚本设置,可以直接打开“动作”面板, 在ActionScript编辑器中,可以为帧、按钮、影片剪辑添加脚本程序。
认识“动作”面板
在Flash 8中,由于所有的动作都需要添加到时间轴中的帧、按钮或影片 剪辑上,因此根据添加动作的对象的不同,Flash将“动作”面板分为“动作– 帧”、“动作–按钮”和“动作–影片剪辑”3种类型。这3种类型的面板在功 能上基本上是相同的,只是其所针对的对象不同而已。
认识“行为”面板
在Flash 8中,行为就是预先写好的动作脚本。用Байду номын сангаас使用行为无需自己动 手编写代码,就可以给Flash文档添加功能强大的动作脚本代码,给Flash内容 (如文本、电影剪辑、图像、声音等)添加交互性,实施对文档中的电影剪辑和 图像实例的控制;也可以使用行为来排列帧中电影剪辑和图像实例的堆叠顺序, 装载和卸载实例,播放、停播、复制或拖曳实例,或创建链接。此外,还可以 使用行为装载外部图像或动画遮罩到电影剪辑中。
ActionScript编程 匹配多个字符或字符串
ActionScript编程匹配多个字符或字符串作用:通过元字符、转义符以及ASCII码等正则表达式的组成部分,判断多个字符或字符串是否符合正则表达式的要求。
说明:正则表达式可以通过点“.”、星号“*”、加号“+”、问号“?”等元字符匹配若干数量的字符或字符串。
这些元字符又被称作数量元字符。
除这些元字符外,还可以通过大括号“{}”加数字的方式定义指定数量字符和字符串的匹配。
示例:1.点“.”元字符使用点“.”可以匹配任意单个字符或字符串。
例如,单词big和bug都是由字母b和g以及之间的元音字母组成,这两个单词可以通过点“.”来匹配,如下所示。
var Regular1:RegExp=/b.g/;trace(Regular1.test("big"));trace(Regular1.test("bug"));执行上面的代码,即可输出匹配的结果均为true。
2.星号“*”元字符使用星号“*”可以匹配0到任意多个字符或字符串。
例如,数字1234567890和数字10,可以通过数字1和0以及星号“*”实现匹配,如下所示。
var Regular2:RegExp=/1*0/;trace(Regular2.test("1234567890"));trace(Regular2.test("10"));执行上面的代码,即可完成匹配实验,输出结果均为true; 3.加号“+”元字符使用加号“+”元字符可以匹配一个或更多的字符或字符串。
例如,单词happen和happy都是由4个字母happ开头,即可以happ和加号“+”实现匹配,如下所示。
var Regular3:RegExp=/(happ)+/;trace(Regular3.test("happen"));trace(Regular3.test("happy"));需要注意的是加号“+”和星号“*”元字符之间是有区别的。
ActionScript 编程实战 数学运算
ActionScript 编程实战数学运算
作用:
对一个或多个变量进行基本的加、减、乘、除、求余、递增或递减等运算。
说明:
在之前的小节中已经介绍了ActionScript的数据类型,从本节开始,将介绍如何对这些数据类型进行运算。
数学运算符是ActionScript中最基础的运算符,其包括7种运算符,如表2-1所示。
表2-1 数学运算符
示例:
在ActionScript中,数学运算是最基础的运算。
例如,使用数学运算符进行简单的四则运算,如下所示。
var a:int=3;
var b:int=5;
var c:int=2;
var d:int=7;
trace(a+(b-c)*d);
求余运算符主要用于整数的运算。
例如,求变量a除以变量b之后的余数,如下所示。
var a:int=10;
var b:int=3;
trace(a%b);
执行上面的代码,即可得出10除以3的余数1。
递增和递减运算符是一种复合的数学运算符,主要用于对变量进行重新赋值运算。
例如,递增运算符可以将变量本身加1,然后将新值再次赋给变量,如下所示。
var i:int=10;
i++;
trace(i);
执行上面的代码,即可输出结果为11。
i++在这里,相当于i=i+1的作用。
以此类推,i--相当于i=i-1。
ActionScript编程 匹配常用字符串
ActionScript编程匹配常用字符串作用:通过正则表达式判断各种Flash程序中常见的字符串型数据是否符合要求。
说明:在编写ActionScript应用程序时,经常需要对一些带有固定格式的字符串进行匹配。
例如,匹配日期、电话等。
在这时,就需要使用正则表达式。
通过正则表达式对字符串进行匹配,可以获取这些字符串是否符合规范。
示例:1.匹配中国人姓名在之前的小节中已介绍过匹配中文的方式。
中国人姓名通常由2到4个中文汉字组成,因此,其正则表达式如下所示。
/^[\u4e00-\u9fa5]{2,4}$/2.匹配QQ号QQ是国内使用非常频繁的即时通信工具。
QQ号码最小为10000,目前最多可达到10位,因此,匹配QQ号的正则表达式如下所示。
/^[1-9][0-9]{4,9}$/3.匹配日期日期的格式有很多种,例如,符合中国习惯的XXXX年XX月XX日,或符合欧美习惯的mm/dd/yyyy等。
其中,年份通常是以19或20开头的4位数字,因此,其正则表达式应为“(19|20)\d{2}”,月份则介于是1到12之间的2位十进制数字,因此,其正则表达式应为“(0[1-9]|(1(0|1|2)))”。
天数为1到31之间的2位十进制数字,因此,其正则表达式应为“(0[1-9]|((1|2)\d)|(3(0|1)))”。
匹配符合中国习惯的日期,如下所示。
/^(19|20)\d{2}年(0[1-9]|(1(0|1|2)))月(0[1-9]|((1|2)\d)|(3(0|1)))日$/根据上面的正则表达式,用户也可以编写符合欧美日期习惯的正则表达式,如下所示。
/^(0[1-9]|(1(0|1|2)))\/(0[1-9]|((1|2)\d)|(3(0|1)))\/(19|20)\d{2}$/4.匹配身份证号码中国的身份证号码通常为15或18位的数字,最后1位数字有可能为X,因此,可以根据这些特征编写正则表达式,如下所示。
actionscript3.0的语法规则
文章标题:深度解读actionscript3.0的语法规则一、actionscript3.0的语法规则概述actionscript3.0是一种面向对象的编程语言,它使用了ECMAScript语言规范作为基础,并结合了一些其他语言的特性。
在编写actionscript3.0代码时,我们需要遵循一定的语法规则,以确保代码的正确性和可读性。
下面我们将从深度和广度两个方面对actionscript3.0的语法规则进行全面评估,并撰写一篇有价值的文章。
二、基本语法规则1. 变量和数据类型:在actionscript3.0中,我们可以定义不同类型的变量,包括数字、字符串、布尔值、数组和对象等。
actionscript3.0也支持强类型和弱类型的变量声明。
2. 函数和方法:actionscript3.0中的函数和方法可以用来执行特定的任务,它们可以接受参数并返回数值。
在编写函数和方法时,我们需要注意参数的传递方式和返回值的类型。
3. 控制流语句:在actionscript3.0中,我们可以使用if语句、for循环、while循环等控制流语句来控制程序的执行流程。
这些语句可以帮助我们根据条件执行特定的代码块或者循环执行一段代码。
4. 类和对象:actionscript3.0是一个面向对象的语言,因此我们可以定义类和对象来组织和管理代码。
在定义类和对象时,我们需要遵循特定的语法规则,并且理解类的继承、多态和封装等概念。
5. 异常处理:在编写actionscript3.0代码时,我们需要考虑到可能出现的异常情况,并合理地处理这些异常。
actionscript3.0提供了try-catch-finally语句来帮助我们进行异常处理。
三、深入理解actionscript3.0的语法规则在详细了解了actionscript3.0的基本语法规则之后,我们可以进一步深入理解各种语法规则背后的原理和机制。
在变量和数据类型方面,我们可以深入了解强类型和弱类型的区别,以及类型转换和类型检查等相关知识。
actionscript3.0编程手册
文章标题:探寻 ActionScript 3.0 编程手册的精髓在学习 ActionScript 3.0 编程手册之前,让我们先来了解一下它的背景和重要性。
1. ActionScript 3.0 是什么?ActionScript 3.0 是一种面向对象的编程语言,专为 Adobe Flash 和Adobe 本人R 评台设计。
它具有强大的处理能力和灵活的语法结构,使得开发者可以轻松地创建复杂的互动性内容和多媒体应用程序。
2. ActionScript3.0 的重要性作为 Flash 评台的核心语言,ActionScript 3.0 在网络动画、网页游戏、富媒体全球信息湾以及移动应用开发中发挥着重要作用。
深入学习和掌握 ActionScript 3.0 编程手册,将为开发者提供丰富的编程知识和技能,有助于他们在动态互联网时代中脱颖而出。
3. 从基础到进阶:深入学习 ActionScript 3.0要熟悉 ActionScript 3.0 语言的语法和特性。
理解数据类型、函数、类和对象等基本概念是入门的第一步。
随后,深入学习面向对象编程的思想和原则,掌握设计模式和架构的应用。
进阶阶段涉及与 Flash 评台的交互、动画控制、多媒体处理等内容,需要深挖语言的高级特性和功能。
4. 实战项目:将学习付诸实践除了书本知识,实践项目同样重要。
通过构建实际的 Flash 项目,如动画效果、小游戏或者交互式应用,将学到的知识付诸实践。
在项目实践中遇到的问题和挑战,将会推动开发者更深入地理解和掌握ActionScript 3.0 编程技能。
5. 个人观点:行动起来,探寻编程之美在学习 ActionScript 3.0 编程手册的过程中,我深切体会到编程的魅力。
只有不断地行动和实践,才能真正掌握和应用这门高级编程语言。
我相信,只要坚持不懈地去探寻编程之美,我们一定能够在代码的世界里创造出无限可能。
总结:学习 ActionScript 3.0 编程手册需要我们从基础开始,逐步深入,将知识付诸实践。
ActionScript基础
24
• 例子:跳动的心脏。书P72
25
• 3、for循环语句:功能最强大、使用最灵活的一种循环语句。
for(初始表达式;条件表达式;改变变量){ 循环体语句; }
8
• 4、括号:动作脚本事件处理函数、类定义和函数用大括号 ({ })组合在一起形成有机的整体。小括号用在函数定义时, 将所有参数都放在小括号中。
//事件处理函数 on (release) { play(); } //函数 function circle(radius) { return radius*radius*MATH.PI; }
• 动作脚本也可以添加到按钮或影片剪辑上。 • 动作脚本还可以存在于单独的外部类文件中(.as)。
5
• 1、给帧添加动作:将该帧设置为关键帧,选中该帧,打开 动作面板,就可以给该关键帧添加动作脚本了。 • 2、给按钮添加动作:点击该按钮,右键打开动作面板,就 可以给该按钮添加动作脚本。 • 3、给影片剪辑添加动作:选中要添加代码的影片剪辑元件 后,打开动作面板,添加相应的代码即可。 • 练习:变动的文字
6
• 强化练习-图片浏览器的制作
7
三、ActionScript编程基础
• 与任何语言一样,动作脚本具有一定的语法规则, 遵守这些语法规则创建的脚本才可以被正确编译 和运行。 • ActionScript的基本语法约定有:
• 1、区分大小写:在AS中大小写不同的变量名被视为不相 同的两个名称。(如:Book,book) • 2、点语法:点(.)用于指示与对象或影片剪辑相关的属 性或方法。它还用于标识影片剪辑、变量、函数或对象的 目标路径。(如:renwu_mc._alpha,_root.x = 9) • 3、分号和冒号:分号用在AS语句的结尾处,用做结束语 句。冒号用来为变量指定数据类型。 (如:var count:Number; count = 10;)
ActionScript字符串操作
∙ package com.xlands.utils∙ {∙ import flash.utils.ByteArray;∙∙∙ /**∙ *字符串工具∙ *∙ */∙ public class StringUtil∙ {∙∙ //忽略大小字母比较字符是否相等;∙ public static function equalsIgnoreCase(char1:String, char 2:String):Boolean∙ {∙ return char1.toLowerCase() == char2.toLowerCase(); ∙ }∙∙ //比较字符是否相等;∙ public static function equals(char1:String, char2:String): Boolean∙ {∙ return char1 == char2;∙ }∙∙ //是否为Email地址;∙ public static function isEmail(char:String):Boolean∙ {∙ if (char == null)∙ {∙ return false;∙ }∙ char=trim(char);∙ var pattern:RegExp=/(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/ ;∙ var result:Object=pattern.exec(char);∙ if (result == null)∙ {∙ return false;∙ }∙ return true;∙ }∙∙ //是否是数值字符串;∙ public static function isNumber(char:String):Boolean ∙ {∙ if (char == null)∙ {∙ return false;∙ }∙ return !isNaN(parseInt(char))∙ }∙∙ //是否为Double型数据;∙ public static function isDouble(char:String):Boolean ∙ {∙ char=trim(char);∙ var pattern:RegExp=/^[-\+]?\d+(\.\d+)?$/;∙ var result:Object=pattern.exec(char);∙ if (result == null)∙ {∙ return false;∙ }∙ return true;∙ }∙∙ //Integer;∙ public static 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)∙ {∙ return false;∙ }∙ return true;∙ }∙∙ //English;∙ public static function isEnglish(char:String):Boolean ∙ {∙ if (char == null)∙ {∙ return false;∙ }∙ char=trim(char);∙ var pattern:RegExp=/^[A-Za-z]+$/;∙ var result:Object=pattern.exec(char);∙ if (result == null)∙ {∙ return false;∙ }∙ return true;∙ }∙∙ //中文;∙ public static function isChinese(char:String):Boolean∙ {∙ if (char == null)∙ {∙ return false;∙ }∙ char=trim(char);∙ var pattern:RegExp=/^[\u0391-\uFFE5]+$/;∙ var result:Object=pattern.exec(char);∙ if (result == null)∙ {∙ return false;∙ }∙ return true;∙ }∙∙ //双字节∙ public static function isDoubleChar(char:String):Boolean ∙ {∙ if (char == null)∙ {∙ return false;∙ }∙ char=trim(char);∙ var pattern:RegExp=/^[^\x00-\xff]+$/;∙ var result:Object=pattern.exec(char);∙ if (result == null)∙ {∙ return false;∙ }∙ return true;∙ }∙∙ //含有中文字符∙ public static function hasChineseChar(char:String):Boolean ∙ {∙ if (char == null)∙ {∙ return false;∙ }∙ char=trim(char);∙ var pattern:RegExp=/[^\x00-\xff]/;∙ var result:Object=pattern.exec(char);∙ if (result == null)∙ {∙ return false;∙ }∙ return true;∙ }∙∙ //注册字符;∙ public static function hasAccountChar(char:String, len:uin t=15):Boolean∙ {∙ if (char == null)∙ {∙ return false;∙ }∙ if (len < 10)∙ {∙ len=15;∙ }∙ char=trim(char);∙ var pattern:RegExp=new RegExp("^[a-zA-Z0-9][a-zA-Z0-9_ -]{0," + len + "}$", "");∙ var result:Object=pattern.exec(char);∙ if (result == null)∙ {∙ return false;∙ }∙ return true;∙ }∙∙ public static function isURL(char:String):Boolean∙ {∙ if (char == null)∙ {∙ return false;∙ }∙ char=trim(char).toLowerCase();∙ var pattern:RegExp=/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9 ]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;∙ var result:Object=pattern.exec(char);∙ if (result == null)∙ {∙ return false;∙ }∙ return true;∙ }∙∙ // 是否为空白;∙ public static function isWhitespace(char:String):Boolean ∙ {∙ switch(char)∙ {∙ case " ":∙ case "\t":∙ case "\r":∙ case "\n":∙ case "\f":∙ return true;∙ default:∙ return false;∙ }∙ }∙∙ //去左右空格;∙ public static function trim(char:String):String∙ {∙ if (char == null)∙ {∙ return null;∙ }∙ return rtrim(ltrim(char));∙ }∙∙ public static function ltrim(char:String):String∙ {∙ if (char == null)∙ {∙ return null;∙ }∙ var pattern:RegExp=/^\s*/;∙ return char.replace(pattern, "");∙ }∙∙ //去右空格;∙ public static function rtrim(char:String):String∙ {∙ if (char == null)∙ {∙ return null;∙ }∙ var pattern:RegExp=/\s*$/;∙ return char.replace(pattern, "");∙ }∙∙ //是否为前缀字符串;∙ public static function beginsWith(char:String, prefix:Stri ng):Boolean∙ {∙ return (prefix == char.substring(0, prefix.length)); ∙ }∙∙ //是否为后缀字符串;∙ public static function endsWith(char:String, suffix:String ):Boolean∙ {∙ return (suffix == char.substring(char.length - suffix. length));∙ }∙∙ //去除指定字符串;∙ public static function remove(char:String, remove:String): String∙ {∙ return replace(char, remove, "");∙ }∙∙ public static function replace(char:String, replace:String , replaceWith:String):String∙ {∙ return char.split(replace).join(replaceWith);∙ }∙∙ //utf16转utf8编码;∙ public static function utf16to8(char:String):String∙ {∙ var out:Array=new Array();∙ var len:uint=char.length;∙ for(var i:uint=0; i < len; i++)∙ {∙ var c:int=char.charCodeAt(i);∙ if (c >= 0x0001 && c <= 0x007F)∙ {∙ out[i]=char.charAt(i);∙ }∙ else if (c > 0x07FF)∙ {∙ out[i]=String.fromCharCode(0xE0 | ((c >> 12) & 0x0F), 0x80 | ((c >> 6) & 0x3F), 0x80 | ((c >> 0) & 0x3F));∙ }∙ else∙ {∙ out[i]=String.fromCharCode(0xC0 | ((c >> 6) & 0x1F), 0x80 | ((c >> 0) & 0x3F));∙ }∙ }∙ return out.join('');∙ }∙∙ //utf8转utf16编码;∙ public static function utf8to16(char:String):String∙ {∙ var out:Array=new Array();∙ var len:uint=char.length;∙ var i:uint=0;∙ while(i < len)∙ {∙ var c:int=char.charCodeAt(i++);∙ switch(c >> 4)∙ {∙ case 0:∙ case 1:∙ case 2:∙ case 3:∙ case 4:∙ case 5:∙ case 6:∙ case 7:∙ // 0xxxxxxx∙ out[out.length]=char.charAt(i - 1);∙ break;∙ case 12:∙ case 13:∙ // 110x xxxx 10xx xxxx∙ var char2:int=char.charCodeAt(i++);∙ out[out.length]=String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));∙ break;∙ case 14:∙ // 1110 xxxx 10xx xxxx 10xx xxxx∙ var char3:int=char.charCodeAt(i++);∙ var char4:int=char.charCodeAt(i++);∙ out[out.length]=String.fromCharCode(((c & 0x0F) << 12) | ((char3 & 0x3F) << 6) | ((char4 & 0x3F) << 0));∙ break;∙ }∙ }∙ return out.join('');∙ }∙∙ public static function autoReturn(str:String, c:int):Strin g∙ {∙ var l:int=str.length;∙ if (l < 0)∙ return "";∙ var i:int=c;∙ var r:String=str.substr(0, i);∙ while(i <= l)∙ {∙ r+="\n";∙ r+=str.substr(i, c);∙ i+=c;∙ }∙ }∙∙ public static function limitStringLengthByByteCount(str:St ring, bc:int, strExt:String="..."):String∙ {∙ if (str == null || str == "")∙ {∙ return str;∙ }∙ else∙ {∙ var l:int=str.length;∙ var c:int=0;∙ var r:String="";∙ for(var i:int=0; i < l; ++i)∙ {∙ var code:uint=str.charCodeAt(i);∙ if (code > 0xffffff)∙ {∙ c+=4;∙ }∙ else if (code > 0xffff)∙ {∙ c+=3;∙ }∙ else if (code > 0xff)∙ {∙ c+=2;∙ }∙ else∙ {∙ ++c;∙ }∙∙ if (c < bc)∙ {∙ r+=str.charAt(i);∙ }∙ else if (c == bc)∙ {∙ r+=str.charAt(i);∙ r+=strExt;∙ break;∙ else∙ {∙ r+=strExt;∙ break;∙ }∙ }∙ return r;∙ }∙ }∙∙ public static function getCharsArray(targetString:String, hasBlankSpace:Boolean):Array∙ {∙ var tempString:String=targetString;∙ if (hasBlankSpace == false)∙ {∙ tempString=trim(targetString);∙ }∙ return tempString.split("");∙ }∙∙ private static var CHINESE_MAX:Number = 0x9FFF;∙ private static var CHINESE_MIN:Number = 0x4E00;∙∙ private static var LOWER_MAX:Number = 0x007A;∙ private static var LOWER_MIN:Number = 0x0061;∙∙ private static var NUMBER_MAX:Number = 0x0039;∙ private static var NUMBER_MIN:Number = 0x0030;∙∙ private static var UPPER_MAX:Number = 0x005A;∙ private static var UPPER_MIN:Number = 0x0041;∙ /**∙ * 返回一段字符串的字节长度(汉字一个字占2,其他占1)∙ */∙ public static function getStringBytes(str:String):int ∙ {∙ return getStrActualLen(str);∙ /* var n:int=0;∙ var l:int=str.length;∙ for(var i:int=0; i < l; ++i)∙ {∙ var code:Number=str.charCodeAt(i);∙ if (code >= CHINESE_MIN && code <= CHINESE_MAX) ∙ {∙ n+=2;∙ }∙ else∙ {∙ ++n;∙ }∙ }∙ return n;*/∙ }∙∙ /**∙ * 按字节长度截取字符串(汉字一个字占2,其他占1)∙ */∙ public static function substrByByteLen(str:String, len:int ):String∙ {∙ if (str == "" || str == null)∙ return str;∙ var n:int=0;∙ var l:int=str.length;∙ for(var i:int=0; i < l; ++i)∙ {∙ var char:String=str.charAt(i);∙ n += getStrActualLen(char);∙ if (n > len)∙ {∙ str=str.substr(0, i - 1);∙ break;∙ }∙ }∙ return str;∙ }∙∙ /**∙ * 返回一段字符串的字节长度∙ */∙/* public static function getStringByteLength(str:String):int ∙ {∙ if (str == null)∙ return 0;∙ var t:ByteArray=new ByteArray();∙ t.writeUTFBytes(str);∙ return t.length;∙ }*/∙∙ public static function getStrActualLen(sChars:String) : in t {∙ if (sChars == "" || sChars == null)∙ return 0;∙ else∙ return sChars.replace(/[^\x00-\xff]/g,"xx").length ;∙ }∙∙ public static function isEmptyString(str:String):Boolean ∙ {∙ return str == null || str == "";∙ }∙∙ private static var NEW_LINE_REPLACER:String=String.fromCha rCode(6);∙∙ public static function isNewlineOrEnter(code:uint):Boolean ∙ {∙ return code == 13 || code == 10;∙ }∙∙ public static function removeNewlineOrEnter(str:String):St ring∙ {∙ str=replace(str, "\n", "");∙ return replace(str, "\r", "");∙ }∙∙ /**∙ * 替换掉文本中的 '\n' 为 '\7'∙ */∙ public static function escapeNewline(txt:String):String ∙ {∙ return replace(txt, "\n", NEW_LINE_REPLACER);∙ }∙∙ /**∙ * 替换掉文本中的 '\7' 为 '\n'∙ */∙ public static function unescapeNewline(txt:String):String ∙ {∙ return replace(txt, NEW_LINE_REPLACER, "\n");∙ }∙∙ /**∙ * 判断哪些是全角字符,如果不含有返回空∙ */∙ public static function judge(s:String):String∙ {∙ var temps:String="";∙ var isContainQj:Boolean=false;∙ for(var i:Number=0; i < s.length; i++)∙ {∙ //半角长度是一,特殊符号长度是三,汉字和全角长度是9∙ if (escape(s.substring(i, i + 1)).length > 3)∙ {∙ temps+="'" + s.substring(i, i + 1) + "' "; ∙ isContainQj=true;∙ }∙ }∙ if (isContainQj)∙ {∙ temps;∙ }∙ return temps;∙ }∙∙ /**∙ * 汉字、全角数字和全角字母都是双字节码,第一个字节的值减去160表示该字在字库中的区∙码,第二个字节的值减去160为位码,如‘啊’的16进制编码为B0 A1,换算成十进制数就是∙ 176和161,分别减去160后就是16和1,即‘啊’字的区位码是1601,同样数字和字母的区位∙码也是如此,如‘0’是0316,‘1’是0317等,因此判断汉字及全角字符基本上只要看其连∙续的两个字节是否大于160,至于半角字符和数字则更简单了,只要到ASCII码表中查一查就∙知道了。
第13课Actions语句基础(13)
字符串表达式和运算符
字符串表达式是对字符串进行运算的表达式,它由字 符串、字符串运算符和以字符串为结果的函数组成。在 Flash MX 2004中所有双引号括起来的字符都被视为字符 串。
变量名不能是关键字或逻辑变量,如true和false都 是逻辑变量。
变量名在它作用的范围中必须是惟一的。
使用变量时应遵循“先定义后使用”的原则。即在使 用变量之前必须先定义这个变量。
变量的类型
由于变量可以存储不同类型的值,因此变量也可 以分为不同的类型。在使用变量之前,必须先指定变 量存储的数据类型,因为数据类型将对变量的值产生 影响。
变量名
变量名可以是一个字母,也可以是由一个单词或 几个单词构成的字符串,但最好取一个有意义又好记 的名字。在Flash MX 2004中为变量命名时必须遵循 以下规则 :
变量名通常以小写字母或下划线开头,当出现一个新 单词时,新单词的第一个字母大写,如myName就是一 个变量名。
变量名中不能有空格和特殊符号,但可以使用数字。
function square (long) {
this.long=long*long;
}
this是一个用于 函数体内的关键字, 它主要用于对函数 所属的动画片段进
行引用。
为函数传递参数
要调用函数,必须先将该函数所要求的参数 传递给它,函数将使用通过传递所得到的值取代 函数定义中的参数。例如:
square (100); 该语句将使用100取代函数定义中所定义的参 数“long”。
ActionScript编程 面向对象的基本概念
ActionScript 编程 面向对象的基本概念说明:面向对象(Object Oriented ,OO ,区别于面向过程Process Oriented ,PO )是指一种程序设计思想,同时也是一种程序开发的方法论。
它将对象作为程序的基本单元,将命令和数据封装其中,可以最大化地提高软件的重用性、灵活性和扩展性。
用面向对象的设计思想编写程序就是面向对象的编程,又被称作面向对象的程序设计(Object-oriented Programming ,OOP ),是一种在程序中包含各种独立而又互相调用的单位和对象的设计方法。
面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象。
面向对象的编程通常遵循一些基本的理论:1.类(Class )类是所有面向对象的编程语言中的必要组成部分。
类定义了一个或多个事物的抽象特征,包括事物的各种基本性质(在程序设计中,叫做类属性)和其可实现的功能(在程序设计中,叫做方法)。
例如,“汽车”这个类会包含所有汽车的一切基本特征,如拥有发动机、车轮等部件,可以载货或载客等。
这些特征就被称作是“汽车”这个类的“成员”。
可以用伪代码定义“汽车”这个类,如下所示。
公共的 类 汽车{声明 性质:拥有发动机;声明 性质:拥有车轮;声明 载运();声明 行驶(); }}在上面的代码中,声明了一个类(汽车),并描述了这个类的性质和功能,这些性质和功能又被称作类的成员。
类可以将许多事物进行归纳和总结,方便人们了解和使用。
2.对象(Object )对象也是面向对象编程语言中重要的组成部分,是类的实例。
例如,在前面使用伪代码定义了“汽车”这个类的特点,并使这个类定义了所有的汽车,那么可以将“汽车”这个类进行实例化,也就是将类的特点赋予一个具体的例子,如下所示。
声明 奇瑞QQ:汽车=一种新的 汽车()通过上面的伪代码,将把“奇瑞QQ ”实例化为汽车,也就是说,从上面的伪代码开始执行起,“奇瑞QQ ”就是一种新的汽车了。
ActionScript编程 事件名与事件对象
ActionScript编程事件名与事件对象在事件处理中,事件主要由事件名、事件对象等组成。
事件名一般用常量字符串表示,例如,click表示单击事件、doubleClick表示双击事件。
但在实际编程中,一般不直接使用字符串,而是使用类的公用静态属性来表示字符串。
例如,专门处理鼠标事件的类叫做MouseEvent类,该类具有很多的静态属性来表示事件字符串,如表7-2所示。
表7.2 MouseEvent类的静态常量属性对于其它的事件类,都像MouseEvent类一样会用静态属性来表示常量字符串。
在事件处理的过程中,系统会自动创建一个事件类的实例,作为参数传递给接收者函数。
这个实例往往称为事件对象。
由于事件对象是事件类的实例,所以可以调用事件。
在新的事件处理系统中,事件对象有两个主要用途:第一,事件对象通过将特定事件的信息存储在一组属性中,来表示实际事件;第二,事件对象包含一组方法,可用于操作事件对象和影响事件处理系统的行为。
例如,鼠标单击舞台中的影片剪辑元件,MovieClip类的实例是单击事件的发送者,当用单击该实例时,实例就发出单击事件,函数mouseClick()收到事件后,就执行函数体内的代码,如下所示。
var mc:MovieClip = new MovieClip();//创建和引用MovieClip类的实例mc.graphics.beginFill(0xffff00);mc.graphics.drawRect(100,100,100,100);mc.graphics.endFill();//绘制矩形stage.addChild(mc);//将矩形显示在舞台中mc.addEventListener(MouseEvent.CLICK,mouseClick);//注册鼠标单击事件function mouseClick(event:MouseEvent):void{trace("单击事件")}上面的代码首先创建了MovieClip类的实例,由于该类间接继承了InteractiveObject 类的单击事件,所以MovieClip类的实例也能处理单击事件。
animate action语法
animate action语法在Animate中,ActionScript是一种强大的脚本语言,用于创建交互式动画和应用程序。
以下是Animate ActionScript语法的一些基本概念和规则:1. 变量和常量:在Animate ActionScript中,可以使用变量来存储数据,并使用常量来表示固定值。
变量名以字母或下划线开头,可以包含字母、数字和下划线。
常量使用关键字const定义,并分配一个固定的值。
2. 数据类型:Animate ActionScript支持多种数据类型,包括字符串、数字、布尔值、数组、对象等。
根据需要选择适当的数据类型来存储和处理数据。
3. 运算符:运算符用于执行算术运算、比较运算、逻辑运算等操作。
Animate ActionScript支持各种运算符,如加号(+)、减号(-)、乘号()、除号(/)等。
4. 控制结构:控制结构用于控制程序的流程,例如条件语句和循环语句。
条件语句使用if-else结构来实现,循环语句使用for、while等结构来实现。
5. 函数和事件:函数是一段可重复使用的代码块,可以接受参数并返回值。
事件是用户与程序交互时触发的一种行为,例如鼠标单击或键盘按下。
通过编写函数和监听事件,可以实现更加复杂的交互功能。
6. 对象和类:Animate ActionScript使用面向对象编程的概念,通过定义对象和类来组织和管理代码。
对象是类的实例,类定义了对象的属性和方法。
以上是Animate ActionScript语法的一些基本概念和规则,要深入了解和使用Animate ActionScript,建议参考官方文档或相关教程进行学习。
八下第13课教案
审批者签字 2013 年 ቤተ መጻሕፍቲ ባይዱ 月 16 日 课时统计:总第 13 课时
研读教材、确立目标
教学时间 第 12 周 计划课时 3 课时+实训 3 课时 序号 13
课程内容 模块 10:Flash 动画脚本-基础应用
掌握程序编辑环境——动作面板的使用方法;能够通过动作面板开发与编辑 ActiongScript 脚本程序。了解 ActionScript 编程要素与 ActiongScript 程序的语法 规则;掌握如何在 Flash 中为时间轴中的关键帧、按钮元件实例和影片剪辑实例等对 象添加脚本指定动作。
8. 加入的脚本程序如下: 9. on (press) { 10. stop(); 11. } 10.2 ActionScript 的编程要素 ActionScript 编程要素包括:变量、常量、运算符、函数、表达式等。 一. 常量 常量是指在使用程序运行中保持不变的参数,主要有以下三种: 数值型常量:由具体数值表示。 x = 3; 字符型常量:由若干字符组成,两端需要使用引号 x = "hello"; 逻辑型常量:用于判断某一条件是否成立。值有两个:True(真)、False(假) 二.变量 变量是指程序运行中可以改变的量。 变量由两部分构成:变量名和变量的值 (1)变量名的命名规则: 变量的名称必须以英文字母开头。 变量的名称中间不能有空格 变量的名称中不能使用除了“ _ ”(下划线)以外的符号 不能使用与命令(关键字)相同的名称 (2) 变量的值 变量的值可以是数值、字符串、逻辑值、表达式等 在 Flash 中,可以不直接定义变量的数据类型。当变量被赋值时, Flash 自动 确定变量的数据类型。 例如: 对于 x=8 Flash 将变量 x 确定为数值型; 对于 y= "Flash ActionScript" Flash 将变量 y 确定为字符型 (3)变量的作用域 变量的作用域,是指能够识别和引用该变量的区域。也就是变量在什么范围内是可 以访问的。在 ActionScript 中有 3 种类型的变量区域: 局部变量:在自身代码块中有效的变量(在大括号内)。就是在声明它的语句块 内(例如一个函数体)是可访问的变量,通常是为避免冲突和节省内存占用而使 用。 时间轴变量:可以在使用目标路径指定的任何时间轴内有效。时间轴范围变量声 明后 , 在声明它的整个层级的时间轴内是可访问的。 全局变量:在整个影片中都可以访问的变量。即使没有使用目标路径指定,也可 以在任何时间轴内有效。 三.运算符 运算符用于对表达式中各个运算量进行各种运算的符号。 通过运算符对一个或多 个值计算新值。 Flash 提供的运算符主要有: 算术运算符:+加、-减、* 乘、/除、++ 递增、 --递减 比较运算符:<小于、>大于、<= 小于或等于、 >=大于或等于 、!=不等于、 == 等于
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语法:myString.length()
如:myName=new String(“ZhangXiaoBin”); trace(myName.length); 结果为12
第四章 内建对象
第三节
字符串对象
3.字符串对象的方法 说明:charAT方法返回字符串中指定位置的 字符。 语法:myString.charAt(index) Index是字符在字符串中的位置,第一个位置为0
第四章 内建对象
第二节 数学对象
数学对象提供了一系列数学常数和常 用的数学函数,可以随时调用。数学对象 是一个顶级对象,无需使用构造函数创建 实例即可直接访问。
第四章 内建对象
第二节 数学对象
Sin
求正弦值
Asin
Cos
求反正弦值
求余弦值
Acos
Tan
求反余弦值
求正切值
Atan
atan2
求反正切值
求Y/X弧度值的反正切值
第四章 内建对象
第二节 数学对象
abs Random Sqrt Log Exp Ceil
求绝对值 产生0-1之间的随机数 求平方根 求自然对数 求指数 求数的上限整数
第四章 内建对象
第二节 数学对象
Floor
Round
求下限整数
求四舍五入
Max
Min Pow
求最大值
求最小值 求x的y次方
第四章 内建对象
第三节
字符串对象
字符串对象是对字符型数Байду номын сангаас进行封装,用以对字符型
数据进行管理。
1.创建字符串对象 字符串对象必须使用构造函数创建 语法:new String(value) Value为新的字符串对象的初始值。
第四章 内建对象
第三节
字符串对象
2.字符串对象的属性
字符串对象只有一个属性length,它返回指定字
第四章 内建对象
第三节
字符串对象
Concat Slice Split
连接字符串 取字符串的子串 分割字符串并存入数组中
Substr
Substring
取字符串的子串
取字符串的子串