flashas2.0程序基础.ppt

上传人:xin****828 文档编号:15468964 上传时间:2020-08-11 格式:PPT 页数:21 大小:622KB
返回 下载 相关 举报
flashas2.0程序基础.ppt_第1页
第1页 / 共21页
flashas2.0程序基础.ppt_第2页
第2页 / 共21页
flashas2.0程序基础.ppt_第3页
第3页 / 共21页
点击查看更多>>
资源描述
ActionScript2.0基础,关于 ActionScript 数据和数据类型 运算符 注释 语法、语句和表达式 点语法和目标路径 变量、函数和方法 条件、判断语句 循环语句 类及常用的类 按钮和影片剪辑的使用 调试程序 程序设计,ActionScript2.0基础,关于ActionScript,学习 ActionScript 语法和语句就像学习如何将单词放在一起组成句子然后将句子放 在一起组成段落一样。ActionScript 就是这么简单。例如,英语中是用句点结束一个句 子,而 ActionScript 中则是用分号结束一条语句。在 ActionScript 语言中,可以键入 stop() 动作来停止影片剪辑实例的播放头或使 SWF 文件停止循环。或者,您也可以编 写数千行代码来创建一个交互式银行业应用程序。如您所看到的,ActionScript 既可以 做非常简单的事情,也可以做非常复杂的事情。学习ActionScript 语言,可以使用软件 自带的帮助系统,包含了大量信息和资源,对 Flash 的所有创作功能和 ActionScript 语 言进行了详尽的说明。 最佳做法和编码约定,可以更加有效地工作。因为由多个设计人员或开发人员共同 开发一个 Flash 项目的情况很常见,所以当每个人都按照同一套标准准则来使用 Flash、 组织文件及编写 代码时,就能使整个项目小组受益。,例如在给元件命名: 影片剪辑命名 mc_开头,= mc_car 按钮命名以 btn_开头,= btn_run 动态文本框命名以 txt_开头,= txt_user,ActionScript2.0基础,数据和数据类型,ActionScript 具有多种基本数据类型,您在应用程序中可能会频繁地用到它们。 数据类型描述变量或 ActionScript 元素可以包含的值的种类。指定了数据类型的变 量仅能包含该数据类型值的集合中的一个值。 常用的数据类型: Number:数字数据类型 String:字符或者叫文本,String数据类型用英文双引号括起来的,myString= edlcd Boolean:布尔值,true、false ,有时也用 0 和非 0 数字表示; Object:对象 Date:时间,数组是一个对象,其属性由表示该属性在结构中位置的数字来标识。实质上, 数组是一系列项目。可以在每个数组索引上混合使用数字、日期、字符串、对象, 甚至添加一个嵌套数组。,var myArr:Array = new Array(January, February, March, April); 或者,可以使用简化语法,如下所示: var myArr:Array = January, February, March, April;,ActionScript2.0基础,运算符,运算符是指定如何组合、比较或更改表达式中的值的字符。表达式是 Flash 可以 计算并返回值的任何语句。可以通过组合运算符和值或者调用函数来创建表达式。 例如,数学表达式使用数值运算符操作您使用的值。运算符字符的示例包括 +、-、*、/ 和 =。表达式由运算符和操作数 组成。 一元运算符只有一个操作数。此组中的递增 (+) 和递减 (-) 运算符是前缀运算符, 这意味着它们在表达式中出现在操作数的前面。它们还可以出现在操作数的后面,这种 情况下它们是后缀运算符。,var xNum:Number = 0; trace(+xNum); / 1 trace(xNum+); / 1 trace(xNum);/2,ActionScript2.0基础,注释,注释是一种使用简单易懂的句子对代码进行注解的方法,编译器不会对注释进行 求值计算。可以在代码中使用注释来描述代码的作用或描述返回到文档中的数据。注 释可帮助您记住重要的编码决定,并且对其他任何阅读您的代码的人也有帮助。注释 必须清楚地解释代码的意图,而不是仅仅翻译代码。,单行注释对于任何单行能写下的短注释,都可以使用单行注释。注释内容前加两个斜杠(/),如下面的代码所示:,/ 以下代码设置用于表示年龄的本地变量。 var myAge:Number = 26; while (condition) / 处理条件语句 ,对于长度为几行的注释,可以使用 多行注释(又称“块注释”)。在注释行 开头添加 /*,在注释块末尾添加 */ 。,/* / 创建新的 Date 对象 var myDate:Date = new Date(); /发送指令 _global.str; */,ActionScript2.0基础,语法、语句和表达式,ActionScript 语言是由内置类构成的。必须使用正确的 ActionScript 语法来构成 语句,才能使代码在 Flash 中正确地编译和运行。如果语法有问题,当您尝试在测 试环境中测试文档时,会在“输出”面板看到错误或警告。语法加亮显示,用深蓝色 显示关键字。在您键入代码时,如果键入 var,则单词 var 以蓝色显示。但是,如果 您错误地键入了 vae,则单词 vae 将保持为黑色,使您能注意到键入的单词有误。 语句 是告诉 FLA 文件执行操作的指令,例如执行特定的动作。 例如,if 语句是一个条件语句,它可对一个条件求值以确定代码中应发生的下一 个动作。 trace 是打印输出语句。 表达式分为算术表达式和逻辑表达式,由运算符连接而成的式子。 var myNum:Number = 6; var squared:Number = myNum * myNum; trace(squared); / 36,if (myNum 10) ,算术表达式,逻辑表达式,ActionScript2.0基础,点语法和目标路径,在 ActionScript 中,应使用点 (.) 运算符(点语法)访问属于舞台上的对象或实例 的属性或方法。 点语法表达式以对象或影片剪辑的名称开头,后面跟着一个点,最后以要指定的 元素结尾,点前面的为目标,最后面的是属性或是语句、表达式,如下: mc_Clip._x = 10; myClip.nestedClip.gotoAndPlay(15); 将实例 myClip 设定为目标,并告诉此实例应执行什么操作。 _parent 表示他的上一级目标,nestedClip._parent 即是 myClip,而 nestedClip 则是 myClip 的子项,拿地区举例如:中国.辽宁省.大连市,大连市._parent._parent 即指的是中国。 this 关键字表示当前目标路径,是指“写代码的当前时间轴” 。_root 是指向主时间 轴的绝对路径。 _levelN 属性,根时间轴的引用。 _level0 中的 SWF 文件之上的更高 编号级别中。 btn_back.onRelease=function() this.gotoAndStop(2);/这里的 this 代表 btn_back _root.gotoAndPlay(5);/ _root 代表主场景 ,ActionScript2.0基础,变量、函数和方法,变量 是保存信息的容器。变量中可以存储的常见信息类型包括 URL(String 类型)、 用户名(String 类型)、数学运算的结果(Number 类型)、事件发生的次数 (Number 类型)等。 变量定义使用 var 关键字,后面跟上变量名和初始值及值的类型: var myNumber:String = A03081992; var myAge:Number = 35; 变量有三种类型的变量作用域: 全局变量 和函数对于文档中的每个时间轴和作用域均可见。(只需要创建一次) var _global.myName = George; / 全局变量的错误语法 _ global.myName = “George“; / 全局变量的正确语法 时间轴变量 可用于该时间轴上的任何脚本。(添加到时间轴中 ) 本地变量 在声明它们的函数体(由大括号界定)内可用。 function scopeTest():Void var str1:String = Local; trace(str1); / 本地 ,在编写 ActionScript、创建类和使用方法时,了解各种函数的使用是非常重要的。 您可以在自己的代码中利用这些函数向应用程序中添加交互性、动画和其它效果。 函数定义使用 function 开头,后面跟随函数的名称和括号,括号可加一个或多个参数: function today() /* 计算今天*/ today();/执行 想要执行自定义函数,直接用函数名加括号即可。想要在影片剪辑中的时间轴上 調用主场景中的函数(方法): _root.today();,ActionScript2.0基础,变量、函数和方法,ActionScript2.0基础,条件、判断语句,使用条件语句确定某一条件是否为 true 或是否成立执行指定的动作,最常用的条 件语句为if.else 和 switch。 if()else ,小括号中写条件,大括号中写要执行的程序,例: / 创建一个根据一天中的时间保存 AM/PM 的字符串。 var amPm:String; / 没有向 Date 中传递任何参数,因此返回当前的日期/时间。 var current_date:Date = new Date(); / 如果当前的小时值大于/等于 12,则将 amPm 字符串设置为PM。 if (current_date.getHours() = 12) amPm = PM; else amPm = AM; trace(amPm);,ActionScript2.0基础,条件、判断语句,switch 语句创建 ActionScript 语句的分支结构。与 if 语句类似,switch 语句测试一 个条件,并在条件返回 true 值时执行一些语句。 在使用 switch 语句时,break 语句指 示 Flash 跳过此 case 块中其余的语句,并跳到位于包含它的 switch 语句后面的第一个 语句。如果 case 块不包含 break 语句,就会出现一种被称为“落空”的情况。在这种情况 下,接下来的 case 语句也会执行,直到遇到 break 语句或 switch 语句结束才停止。 在编写 switch 语句时,请使用以下格式: switch (condition) case A : / 语句 / 落空 case B : / 语句 break; default : / 语句 break; ,其中 A、B 为符合的条件, default 是不符合所有条件时才执行。,ActionScript2.0基础,循环语句,for 语句 for(init; condition; next) statement(s); 计算一次 init(初始化)表达式,然后开始一个循环序列。循环序列从计算 condition表 达式开始。如果 condition 表达式的计算结果为 true,将执行 statement 并计算 next 表 达式。然后循环序列再次从计算 condition 表达式开始。 下面的示例使用 for 在数组中添加元素: var my_array:Array = new Array(); for (var i:Number = 0; i 10; i+) my_arrayi = (i + 5) * 10; trace(my_array); / output: 50,60,70,80,90,100,110,120,130,140,ActionScript2.0基础,循环语句,while 语句 在下面的示例中,while 语句用于测试表达式。在 i 的值小于 20 时,跟踪 i 的值。 当条件不再为 true 时,循环将退出。 var i:Number = 0; while (i 20) trace(i); i += 3; / output: 0,3,6,9,12,15,18,注意在 while 循环中更有可能编写出无限循环。如上面的例子,若没有递增 i 的表达式,循环将成为无限循环。,用于退出循环,ActionScript2.0基础,类及常用的类,ActionScript 2.0 是一种面向对象的语言。与 ActionScript 一样,OOP 语言也是基 于 类 和实例 的概念。ActionScript 还提供了若干内置类(复杂数据类型)和顶级类。 这些类提供了多种脚本撰写功能。 顶级类 被写入到 Flash Player 中。常用的顶级类有:Array、Button、Date、 MovieClip、Sound、Video、XML 等。 Array和Date是数组和日期类,在前面介绍过了,Button 和 MovieClip 是按钮类与 影片剪辑类。Button 类提供用于处理按钮的方法、属性和事件处理函数。SWF 文件中 的每个影片剪辑均是 MovieClip 类的实例。您可以使用此类的方法和属性控制影片剪辑 对象。 其中 Button 和 MovieClip 类有一些共同的属性,如:,ActionScript2.0基础,类及常用的类,Sound 类使您可以控制影片中的声音。 var movie_sound:Sound = new Sound(my_mc); movie_sound.start(); /播放声音 Video 类对象的使用方式类似于影片剪辑。和放置在舞台上的其它对象一样,您可以控制 Video 对象的多种属性。例如,可以通过使用 Video 对象的 _x 和 _y 属性在舞台上移动该对象,可以通过使用其 _height 和 _width 属性更改其大小,等等。 XML 类的方法和属性可以加载、分析、发送、生成和操作 XML 文档树。,ActionScript2.0基础,类及常用的类,SWF 文件中的所有按钮元件都是 Button 对象的实例。通过 ActionScript 使用 Button 类的方法和属性,根据按钮的实例名称,运用点表达式操纵按钮。 例如播放按钮的实例名称为:btn_play,想让这个按钮隐藏起来不显示,可以这样写: btn_play._visible = false;/让按钮的显示属性为 false,Button 对象的事件处理函数: onPress 是当按下按钮时调用。onRelease 是当释放按钮时调用。 在下面的示例中,为 onPress 处理函数定义了将 trace() 语句发送到输出面板的函数:,my_btn.onPress = function () trace (onPress called); ; my_btn.onRelease = function () trace (onRelease called); ;,MovieClip 对象也有和 Button 同样事件处理函数。详细请参考 ActionScript 帮助文档。,ActionScript2.0基础,按钮和影片剪辑的使用,在 flash 中,按快捷键 “Ctrl+F8”新建元件,或者使用插入菜单下的新建元件。要 想使用程序来控制影片剪辑,必须为元件起实例名称,如:mc_myBook。当元件放置在舞台上,并起好了实例名,就可以写程序来控制按钮或是影片剪辑了。 假如有一个书的影片剪辑,用程序来控制上、下页和书签。需要做前期的规划与设计。首先定义一些变量,来记数。比如书的总页数值和当前页数值。另外还要两个按钮,来进行翻页。,var pageCount = 1;/书的当前页数 var pageMax = 200; /书的页数最大值 mc_myBook.gotoAndStop(pageCount);/书跳转到当前的页面 btn_nextPage.onRelease = function() pageCount+/当点击下页按钮松开时,页数加1 mc_myBook.gotoAndStop(pageCount);/书跳转到下一页 btn_prevPage.onRelease = function() pageCount-/当点击下页按钮松开时,页数减1 mc_myBook.gotoAndStop(pageCount);/书跳转到上一页 ,ActionScript2.0基础,按钮和影片剪辑的使用,分析刚才的程序,基本完成了主要功能,由按钮控制影片剪辑的跳转,实现书的翻页功能。但是在其中隐含一些问题,假如在第一页的时候,点击上一页按钮,就会出现负数,这种情况,就需要对变量 pageCount、pageMax 进行判断,保证程序的安全性和可靠性。下面是对按钮点击时的程序修改参考:,btn_nextPage.onRelease = function() pageCount+/当点击下页按钮松开时,页数加1 if(pageCount=pageMax) pageCount=pageMax;/当前页数超过最大值时,取最大值 mc_myBook.gotoAndStop(pageCount);/书跳转到下一页 btn_prevPage.onRelease = function() pageCount-/当点击下页按钮松开时,页数减1 if(pageCount=1) pageCount = 1;/当前页不应小于 1。 mc_myBook.gotoAndStop(pageCount);/书跳转到上一页 ,ActionScript2.0基础,调试程序,提供了多种在 SWF 文件中测试 ActionScript 的工具。当在 Flash 调试播放器中运行 SWF 文件时,调试器 能够帮助我们找到程序中包含的错误 。 在脚本中使用 trace 语句时,可以将信息发送到输出面板。例如,在测试 SWF 文件或场景时,可以向面板发送具体的编程注释,或者在按下按钮或播放帧时使特定的结果得以显示。trace 语句与 JavaScript 的 alert 语句类似。在脚本中使用 trace 语句时,可以使用表达式作为参数。 在时间轴中选择第 1 帧,在“动作”面板中,添加下面的代码,测试影片。,/ 创建一个新的XML对象 var flooring:XML = new XML(); flooring.ignoreWhite = true;/忽略xml文档中的空白 / 当导入完成后,判断是否加载成功 flooring.onLoad = function(success) if(success) trace(加载成功!); else trace(加载失败!); ; flooring.load(“myFile.xml”);/开始加载 xml 文档,ActionScript2.0基础,程序设计,程序设计 是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。我们所要学习的不只是单一的一门編程语言,而是学习它的设计思路和方法。 在设计一个flash程序的时候,首先要进行前期的规划,而不是盲目性地写代码,设计好程序的结构及轮廓,再添枝加叶。在设计时还应考虑程序的可靠性、易读性和易维护性。甚至可以画一些草图,来帮助理解程序的流程。例如下图:,ActionScript2.0基础,程序设计,根据草图,设计哪些地方是需要人机交互的,哪些地方是用来显示数据或图片的。然后依照设计图按步骤进行制作: 收集素材,制作交互的按钮、影片剪辑等元件; 舞台界面大小、场景分布,时间轴编辑; 編写程序; 测试程序; 投入使用及后期维护。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!