AS3.0从入门到精通.doc
《AS3.0从入门到精通.doc》由会员分享,可在线阅读,更多相关《AS3.0从入门到精通.doc(21页珍藏版)》请在咨信网上搜索。
1、AS3.0从入门到精通AS3.0程序设计1. 逻辑运算1.1. 程序设计中需进行逻辑运算(布尔运算)2. 程序的3种结构2.1. 顺序结构条件真假2.2. 选择结构1.2.1.3.1.4.2.3. 循环结构条件1.5.3. 选择程序结构3.1. ifelse 条件语句if(表达式)语句1else语句23.2. ifelse if.else语句if(表达式1)语句1else if(表达式2)语句2else if(表达式3)语句3.else if (表达式n)语句nelse语句m3.3. switch语句switch (表达式)case 1 :程序语句1;break;case 2 :程序语句2;b
2、reak;break;case 3 :程序语句3;break;default :默认执行程序语句; 表达式:结果是一个值case: case表达式与switch的表达式参数匹配,执行该语句 break:执行相应语句后,跳出switch default: case表达式与switch表达式不匹配时,执行这该语句4. 循环程序结构由循环体和控制条件两部分组成,2种类型,一种是先判断条件,再执行语句,另一种是先执行语句,再判断条件4.1. for循环语句for(初始化;循环条件;步进语句)循环执行语句 初始化:对变量初始化 循环条件:逻辑表达式,如结果为false退出循环,否则继续执行语句 步进语句
3、:改变变量的值4.2. while循环语句while (循环条件)循环执行语句; 循环条件:逻辑表达式,若为true,继续执行代码,否则退出循环4.3. dowhile语句do循环执行语句; while (循环条件); 先执行语句,后判断条件4.4. for.in 和for each.in语句1.6.4.5. 循环嵌套for(初始化;循环条件;步进语句)(初始化;循环条件;步进语句)循环执行语句4.6. 循环流程控制语句使用break和continue控制循环流程break:直接跳出循环,不再执行后面的语句continue:停止当前这一轮循环,直接跳到下一轮循环,当前contunue中后面的语
4、句不再执行。避免杂乱代码;重复利用,提高效率函数1. 定义函数1.1. 函数语句定义法function 函数名(参数1:参数类型,参数2:参数类型.):返回类型/函数体1.2. 函数表达式定义法也称函数字面值或匿名函数,在早期版本广泛使用var 函数名:function=function (参数1:参数类型,参数2:参数类型.):返回类型/函数体1.3. 两种定义方法的区别和选择1.3.1. 区别 作用域不同函数语句定义法可在定义前或定义后进行调用函数表达式定义法只能在定义后调用 this关键字指向不同函数语句定义法-当前函数作用域函数表达式定义法this指向随依附对象的不同而不同1.3.2.
5、 选择一般使用函数语句定义法2. 调用函数2.1. 一般调用无参函数function HelloAS() trace(欢迎走进AS3.0世界);HelloAS();有参函数,参数有默认值,调用时不输入参数function HelloAS(str:String=AS3.0世界欢迎你!) trace(str);HelloAS();有参函数,参数无默认值,调用时必须输入参数,且参数类型一致function HelloAS(str:String) trace(str);HelloAS(AS3.0世界欢迎你!);如没指定参数的类型,输入参数类型没强制要求也可将函数赋值给变量,使用变量名调用函数funct
6、ion 求和(a:int,b:int)trace(a+b)var sum:function=求和sum(1,2)2.2. 嵌套和递归调用函数2.2.1. 嵌套调用函数用一个函数调用另一函数,即在一个函数体内定义另一函数function sum(a:String,b:Number) function STI(c:String):int return int(c);function NTR(d:Number):int return Math.round(d);return STI(a) + NTR(b);var a:String=10;var b:Number=5.56;trace(sum(a,b
7、);嵌套函数可以调用与自身函数并列的函数function sum(a:String,b:Number) return STI(a) + NTR(b);var a:String=10;var b:Number=5.56;trace(sum(a,b);function STI(c:String):int return int(c);function NTR(d:Number):int return Math.round(d);2.2.2. 递归调用函数递归调用函数是函数调用自身函数,递归调用必须有一递归结束条件(递归出口),否则形成死循环。function sum(n:int):int if (n
8、=1) return 1; else return n + sum(n - 1);trace(sum(1000);3. 函数返回值3.1. return 语句3.2. return 语句return 返回值;返回值可以是数值、字符串、对象(数组、影片剪辑等)function 圆面积(r:Number):Number var s:Number=Math.PI*r*r;return s;trace(圆面积(5);返回值也可以是表达式function 圆面积(r:Number):Number return Math.PI * r * r;trace(圆面积(5);可以有多个语句,函数执行了语句后,就
9、跳出函数体function 选择输入(x:Number):Number if (x0) return 1; else if (x0) return -1; else return 0;trace(选择输入(10);语句的返回值可以是空“undefined”function 输出测试() return;trace(输出测试();3.3. 返回值类型返回值类型在函数定义中是可选参数,如未定义,返回值类型由return语句返回值的数据类型来定。function 测试类型() var a:String=这是一个字符串;return a;trace(typeof(测试类型();如定义了返回值类型,返回的
10、类型必须与定义类型相同如函数不需要返回值,也就不存在return语句,定义函数也不能设置返回类型。function 返回测试():String var a:String=这是一个字符串;trace(返回测试();4. 函数参数1.1. 传递参数的语法参数位于函数格式的括号中(参数1:参数类型=默认值,参数2:参数类型=默认值)函数支持传递多个参数,定义参数时,使用半角逗号分开不同的参数function intro(username:String,age:int):void trace(你的姓名:+username+ 年龄是:+age);intro(小王,25);4.1. 传递参数的两种方法所有
11、参数按引用传递function test(a:Number):Number a+;return a;var b:Number=5;trace(b引用前,+b);var c=test(b);trace(b引用后,+b);trace(c: +c);复杂类型按引用传递,且保持这个引用function testArr(_arr:Array):void var a:int=100;_arr.push(a);var b:Array=1,2,3;trace(引用前:+b);testArr(b);trace(引用后+b);2.4.2. 给函数设置默认参数AS3.0可给函数设置默认参数,默认参数是可选项设置了默
12、认参数,调用函数时如没写参数,将使用函数的默认参数没有默认值的参数必须输入function Test(a:int,b:int=2,c:int=3)trace(a,b,c)Test(1)Test(1,4)Test(1,4,0)4.3. argumnets对象和(rest)参数AS3.0调用函数时检查参数数量的方法4.3.1. arguments对象函数中可使用对象访问有关传递给函数的参数信息,auguments对象是一个数组,arguments.length属性记录参数数量function TestArg(a:int,b:int,c:int):void trace(输入的参数个数是:+argum
13、ents.length);for (var i:uint=0; iarguments.length; i+) trace(这是第个参数+argumentsi);TestArg(1,2,3)arguments.callee属性通常用在匿名函数中创建递归。function fac(i:int) if (i=1) return 1; else return i + arguments.callee(i - 1);trace(fac(100);4.3.2. (rest)参数rest参数可指定自己命名的数组来接受任意多个以逗号分隔的参数语法格式function(.args)function(参数1,参数
14、2,.args)(rest)参数不具有callee属性function TestArg(.args):void trace(输入的参数个数是:+args.length);for (var i:int=0; iargs.length; i+) trace(这是第个+i+参数,其值为+argsi);TestArg(1,2,3)3.(rest)参数还可与其他参数一起使用,但只能是最后一个列出的参数function TestArg(x:int,.args):void trace(.(rest)参数个数是+args.length);for (var i:int=0; iargs.length; i+)
15、trace(这是第个+i+.(rest)参数,其值为+argsi);TestArg(1,2,3);事件的发送和处理1. 事件处理基础AS3.0事件机制基于文档对象模型(DOM3)1.1. 事件和事件处理基础知识1.1.1. 事件和事件处理基本概念单击鼠标是鼠标单击事件事件处理是发生事件后下一步的动作,也就是事件侦听器或事件侦听函数侦听的目的是了解发生了那些事件1.1.2. AS3.0中的事件和事件处理AS3.0事件:鼠标、键盘、文本输入、加载数据、远程连接及与swf进行的交互操作。事件用事件对象表示,事件对象是Event(事件)类或Event类子类的实例。事件侦听器是用户编写的用于响应事件的函
16、数或方法,并添加到事件目标/显示对象列表。function 事件侦听函数(事件对象:事件类型):void /为响应事件面执行的动作事件目标.addEventListener(事件对象的事件名称,事件侦听函数);创建事件侦听器格式说明 事件侦听函数:响应事件要执行的动作或方法 事件对象:事件对象指定的类名称 事件目标:被侦听的电影票对象名称 事件对象的事件名称:事件常量1.1.3. AS3.0中事件处理任务 编写代码以响应事件 阻止代码响应事件 处理事件对象 处理事件流 从类中调度事件 创建自定义事件类型1.2. 早期AS版本中的事件处理1.2.1. AS1.0使用on()或onClipEven
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AS3 入门 精通
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。