【精品】actionscript编程基础 -flash(可编辑.ppt
《【精品】actionscript编程基础 -flash(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】actionscript编程基础 -flash(可编辑.ppt(175页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ActionScript编程基础-Flash第9章 ActionScript编程基础 制作交互动画 应用举例魔力彩色球 本章小结 习题九第9章 ActionScript编程基础 ActionScript的中文译名为“动作脚本”,它是Flash专用的一种编程语言,与JavaScript有着相似的结构,都是采用面向对象的编程思想编写的。使用ActionScript,用户可以控制动画的播放和停止、指定对鼠标动作的响应、实现网页的链接、制作精彩的游戏以及创建网页等,大大增强了Flash动画的交互性。在Flash 8中,添加ActionScript的操作步骤如下:(1)选中要添加ActionScript
2、的按钮、帧或者影片剪辑。(2)选择“窗口”“动作”命令,打开动作面板,如图9.1.1所示。第一节 ActionScript介绍第9章 ActionScript编程基础 图9.1.1 动作面板动作列表程序区第9章 ActionScript编程基础(3)在动作列表中找到所需的Action(动作),双击鼠标左键,将其添加到程序区中(见图9.1.2),然后进行相关的设置即可。注意:在编写过程中,对于所添加的ActionScript,系统会检查其语法是否正确,并提示用户如何修改。图9.1.2 添加动作第9章 ActionScript编程基础 第9章 ActionScript编程基础 第9章 Action
3、Script编程基础(5)Properties(属性):属性是对象的某种性质,例如,_visible是所有影片剪辑的一个属性,用于定义其是显示还是隐藏。(6)Arguments(参数):参数可以把值传递给函数。例如,在以下代码中参数firstName和hobby把值传递给了welcome()函数。function welcome(firstName,hobby)welcomeText=“Hello,”+firstName+“I see you enjoy”+hobby;第9章 ActionScript编程基础(7)Classes(类):类是一种数据类型,用于定义新的对象,可以通过定义一个构造函
4、数来定义类。(8)Constants(常量):常量是不可改变的元素。例如,常量Key.TAB总是用来代表键盘上的Tab键。(9)Constructors(结构体):结构体是用于定义类的函数。例如,在以下代码中通过创建函数Circle()来定义一个新的圆类。function Circle(x,y,radius)this.x=x;this.y=y;this.radius=radius;第9章 ActionScript编程基础(10)Datatypes(数据类型):数据类型用于描述变量或动作脚本元素可以包含信息的种类,例如,动作脚本数据类型包含字符串、数字、布尔值、对象、影片剪辑、函数、空值和未定义
5、。(11)Expressions(表达式):表达式是语句中能够产生一个值的任意部分。例如,2+2就是一个表达式。(12)Functions(函数):函数是可以传送参数并能返回值的可重用代码块。例如函数getVersion()可以返回当前正在播放动画的Flash播放器的版本。(13)Handlers(事件处理函数):事件处理函数是用于管理诸如mouseDown或load等事件的特殊函数。第9章 ActionScript编程基础(14)Identifiers(标识符):标识符是用于识别某个变量、特性、对象、函数或方法的名称。它的第一个字符必须是字母、下画线或货币符号,其后的字符必须是字母、下画线、
6、货币符号或数字。例如,firstQuestion是一个合法的标识符,而10 xyz不是合法的标识符。(15)Instances(实例):实例是属于某个类的对象。一个类可以产生若干个类的实例,且每个实例都将包含该类的所有特性和方法。例如,所有的影片剪辑都是MovieClip类的实例,因此可以将MovieClip类的方法或属性用于任何影片剪辑实例。第9章 ActionScript编程基础(16)Instancenames(实例名称):实例名称是脚本中用来表示影片剪辑实例或按钮实例的唯一名称。例如,在以下代码中实例名称为csquare的影片剪辑实例复制了8次。do duplicateMovieCli
7、p(“csquare”,“csquare”+i,i)i=i+1;while(i=8);(17)Keywords(关键字):关键字是具有特定意义的保留字。例如,var是一个用来声明本地变量的关键字。第9章 ActionScript编程基础(18)Methods(方法):方法是分配给一个对象的函数。一个函数被分配之后,它可作为对象的方法被调用。例如,在以下代码中clear变成了controller对象的方法。function Reset()x_pos=0;x_pos=0;controller.clear=Reset;controller.clear();(19)Operators(运算符):运算符
8、是通过一个或多个值计算新值的符号。例如,加法运算符用于把两个或多个值加到一起,产生一个新值。第9章 ActionScript编程基础(20)Target paths(目标路径):目标路径是变量、对象和影片剪辑实例的名称所组成的表达结构。使用目标路径可以获取某个变量的值。例如,以下代码就是指向影片剪辑stereoControl中的volume变量的目标路径。_root.stereoControl.volume第9章 ActionScript编程基础 下面列出ActionScript的一些通用语法规则,用户必须遵守这些语法规则才能创建可正确编译和运行的脚本。(1)区分大小写。在Flash 8中,所
9、有的关键字、类名、变量、方法名、外部脚本等均区分大小写。例如,book和Book将被视为不同内容。(2)点语法。在ActionScript中,点“.”被用于指明某个对象或影片剪辑的属性和方法,也可用于标识影片剪辑或变量的目标路径。点语法表达式以跟有一个点的对象或影片剪辑的名称开始,以要指定的属性、方法或者变量作为结束。例如,在以下代码中_width指明cs影片剪辑的宽度。cs._width;第三节 ActionScript的语法第9章 ActionScript编程基础(3)大扩号。ActionScript使用大括号“”划分语句块,例如:onClipEvent(load)top=_y;left=
10、_x;right=_x;bottom=_y+100;(4)分号。ActionScript语句使用分号“;”作为结束,如果将分号省略,Flash仍然能够成功地编译脚本,例如:Mouse.hide()startDrag(cs,true)第9章 ActionScript编程基础(5)小括号。当用户定义一个函数时,要把参数放置在小括号“()”内,例如:myFunction(“csquare”,20,true);另外,可以使用小括号来改变ActionScript的优先级。(6)注释。通过在脚本中添加注释,将有助于理解用户关注的内容,以及向其他开发人员提供信息。要指示某一行或一行的某一部分是注释,应在该注
11、释前加两个斜杠(/),例如:function Line(x1,y1,x2,y2)/定义Line函数第9章 ActionScript编程基础 注意:注释在程序区中以暗色显示,如图9.3.1所示。图9.3.1 注释在程序区中以暗色显示第9章 ActionScript编程基础(7)关键字。ActionScript保留了一些标识符作为内置对象、函数等的标识。这些标识符就是关键字,用户在编程过程中,不能用这些关键字作为变量、函数或标签的标识。第9章 ActionScript编程基础 在Flash 8中,内置了基本数据类型和引用数据类型两种数据类型。其中,基本数据类型是指字符串、数字、布尔数等,它们都有一
12、个不变的值,可以保存它们所表示元素的实际值;引用数据类型是指影片剪辑或对象等,它们的值可以改变,所以它们所包含的是对元素实际值的引用。下面对ActionScript中的各种数据类型进行介绍。(1)MovieClip(影片剪辑):影片剪辑是Flash应用程序中可以播放动画的元件,它们是唯一一种可以引用图形元素的数据类型。第四节 数据类型第9章 ActionScript编程基础(2)Objcet(对象):对象是属性的集合,每个属性都有相应的名字和值,属性值可以是任何一种数据类型,甚至可以是对象数据类型,从而使对象相互包含即所谓的嵌套。可以使用内置动作脚本对象来访问和处理特定种类信息。例如,可以通过
13、Math对象的方法来对传递给它的数字进行数学运算。例如,下面的语句使用Math对象的Sqrt方法对数字100进行求平方根运算,并将运算的结果赋给变量squareRoot:squareRoot=Math.sqrt(100);另外,动作脚本的电影片段对象具有可以控制舞台上的电影片段实例的方法,下面语句使用了play和nextFrame方法:第9章 ActionScript编程基础 mcInstanceName.play();mc2InstanceName.nextFrame();(3)Boolean(布尔值):在动作脚本中布尔值经常和逻辑运算符或比较运算符一起使用,用于进行比较和控制一个程序脚本的
14、流程。布尔值有且仅有true和false两种,在需要时,ActionScript也可以将true和false转化成1和0。例如,在下面的例子中,如果变量Name和变量Password的值都为true,则电影片段就开始播放:onClipEvent(enterFrame)if(Name=true)&(password=true)play()第9章 ActionScript编程基础(4)Number(数字):数据类型中的数字是一个双精度的浮点型数字。可以使用算术运算符来处理数字,也可使用内置的Math和Number类的方法来处理数字。(5)String(字符串):字符串是由字母、数字、标点等组成的字
15、符序列,应用字符串时要将其放在单引号或双引号中。例如,下面语句中的“chen”就是一个字符串:firstname=“chen”;可以使用“+”运算符连接两个字符串,此时,动作脚本会精确地保留在字符串两端出现的空格。例如,下面的语句执行后,“introduce”就是“Im chen”。firstname=“chen”;introduce=Im+firstname;第9章 ActionScript编程基础 由于字符串以引号作为开始和结束的标记,所以要想在一个字符串中包括一个单引号或双引号,需要在其前面加上一个反斜杠“”,这就是所谓的将字符转义。在动作脚本中还有其他的一些字符可以被转义,如表9.1所
16、示。第9章 ActionScript编程基础 表9.1 转义字符转义字符转义结果bBackspacef走纸换页n换行符r回车符t制表符(Tab)双引号单引号反斜线符号000377一个八进制字符,占一个字节x00 xFF一个十六进制字符,占一个字节u0000uFFFF一个十六进制的16位Unicode字符,占两个字节第9章 ActionScript编程基础(6)Null(空值):Null表示空值,可以在以下4种情况下使用:1)变量尚未接收到值。2)变量不再包含值。3)作为函数的返回值时,函数没有可以返回的值。4)作为函数的参数时,省略了一个参数。(7)Undefined(未定义):Undefin
17、ed表示未定义的数据类型的值,用于尚未分配值的变量。第9章 ActionScript编程基础 变量是存储信息的容器,容器本身总是不变的,但内容可以改变。当播放动画时,通过变量可以记录和保存用户操作的信息,记录动画播放时改变了的值,或者判断某些条件是真还是假。当首次定义一个变量时,最好为该变量指定一个已知值,即对变量进行初始化操作,从而使用户能够更容易地跟踪和比较变量的值。第五节 变 量第9章 ActionScript编程基础 ActionScript中的变量可以保存所有类型的数据,包括String,Number,Boolean,Object以及MovieClip等,当某个变量在一个脚本中被赋值
18、时,变量包含的数据类型将影响变量值的改变。一、变量的命名规则为变量命名必须遵守以下规则:(1)变量名必须是一个标识符。(2)变量名不能是一个关键字或布尔值(true或false)。(3)变量名在它的作用范围内必须是唯一的。二、变量的输入在ActionScript中,不需要明确地定义一个变量要保存为何种数据类型。当变量被赋值时,Flash会自动确定这个变量的第9章 ActionScript编程基础 数据类型。例如:x=7;y=“name”;在表达式“x=7”中,Flash 8会计算操作符右边的元素,并且确定x是一个数值型变量。在表达式“y=”name“”中,系统会把y的类型改为字符串型。当表达式
19、需要时,ActionScript还会自动变换变量的类型,例如,当把一个值传递给trace动作时,trace动作会自动将接收到的值转换成字符串。可以使用这个动作来调试脚本、跟踪变量的值以及跟踪脚本的分支流向。第9章 ActionScript编程基础 在含有操作符的表达式中,ActionScript会根据需要变换数据类型,例如,当“+”操作符被用于一个字符串中时,ActionScript会自动将另一个数据的类型转换为字符串(如果它不是字符串),例如:“Next in line,number”+7ActionScript会自动将数字7转换成字符串“7”,并将其加载到第一个字符串的后面形成一个更长的字
20、符串:“Next in line,number7”。第9章 ActionScript编程基础 三、变量的作用范围变量的作用范围是指能够识别和引用该变量的区域。在ActionScript中,变量可以是全局变量和局部变量。全局变量可以在所有的时间轴中共享,而局部变量仅在它所在的代码块中有效。用户可以在脚本中用var语句声明一个局部变量,例如,在以下代码中,i被用做局部变量。Function makeDays()var ifor(i=0;i monthArraymonth;i+)第9章 ActionScript编程基础 _root.Days.attachMovie(“DayDisplay”,i,i+
21、2000);_root.Daysi.num=i+1;_root.Daysi._x=column*_root.Daysi._width;_root.Daysi._y=row*_root.Daysi._height;column=column+1;if(column=7)column=0;row=row+1;第9章 ActionScript编程基础 使用局部变量可以有效地防止名称的冲突,所以被大量地使用。但在有些情况下必须使用全局变量,例如,要在一个代码块中引用另一个代码块中的变量,或者要在整个动画中传递某个变量的值,在这些情况下,全局变量将会发挥巨大的作用。四、变量声明在Flash 8中,可以用
22、set variables语句或赋值操作符(=)来声明全局变量,用var语句声明局部变量。其中,局部变量的作用范围限定在声明它的代码块中,并在代码块结束时失效。第9章 ActionScript编程基础 五、在脚本中使用变量要将变量在脚本中使用,首先必须在脚本中声明这个变量,如果使用了未做声明的变量,则将会得到一个错误值。另外,还可以在一个脚本中多次改变一个变量的值。变量包含的数据类型将对变量的改变方式产生影响。原始的数据类型,如字符串和数字等,将以值进行传递,也就是说变量的实际内容将被传递给变量。例如:在下面的程序中,x的值被设置为9,然后这个值被赋给y,随后x的值被重新改变为90,但此时y仍
23、然是9,因为y并不跟踪x的值,它在此只是存储x曾经传递给它的值。第9章 ActionScript编程基础 var x=9;var y=x;var x=90;又例如,变量ting包含一个基本数据类型的数字6,这个实际的值数字6被传递给了函数sqr,返回值为36。Function sqr(x)return x*x;var ting=6;var out=sqr(ting);其中变量ting中的值仍然是6,并没有改变。第9章 ActionScript编程基础 如果引用除电影片段以外的某个对象,则一旦被引用就不能再被删除,这种引用称为Hard Reference(硬引用);而对一个电影片段的引用则被称为
24、Soft Reference(软引用),因为软引用不能强令被引用的对象存在。第9章 ActionScript编程基础 在Flash 8中,函数指由一个变量按照一定的规则决定另一个变量的对应关系,运算符指对常量与变量进行运算的符号,表达式指用运算符将常量、变量和函数以一定的规则组织在一起的句子,下面分别对它们进行介绍。一、函数Flash 8提供了5种类型的函数,分别为通用函数、数值类函数、属性类函数、字符串类函数和多字节字符函数。1通用函数通用函数包括eval,getTimer,false和true 4种,它们的功能如下:第六节 函数与运算符第9章 ActionScript编程基础(1)eval
25、:获取某一变量的值,或者返回某一对象。(2)getTimer:获取计算机的系统时间。(3)false:获取布尔非值(0)。(4)true:获取布尔真值(1)。2数值类函数数值类函数包括int和random两种,它们的功能如下:(1)int:把十进制数值强制转换成整数,即取整。(2)random:产生0到用户指定数值间的随机数。第9章 ActionScript编程基础 3属性类函数属性类函数包括_alpha,_height,_name,_rotation,_visible,_width,_x,_y,_xscale,_yscale,_url和_current 12种,它们的功能如下:(1)_alp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 【精品】actionscript编程基础 -flash可编辑 actionscript 编程 基础 flash 编辑
限制150内