FlashAS3.0第一讲.ppt

上传人:本田雅阁 文档编号:2143902 上传时间:2019-02-21 格式:PPT 页数:44 大小:246.01KB
返回 下载 相关 举报
FlashAS3.0第一讲.ppt_第1页
第1页 / 共44页
FlashAS3.0第一讲.ppt_第2页
第2页 / 共44页
FlashAS3.0第一讲.ppt_第3页
第3页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《FlashAS3.0第一讲.ppt》由会员分享,可在线阅读,更多相关《FlashAS3.0第一讲.ppt(44页珍藏版)》请在三一文库上搜索。

1、第一讲,Flash ActionScript 3.0 语法基础,二维动画设计,概念释义,舞台(Stage) 用来显示Flash元素的平台 主时间轴(MainTimeLine) 用于控制Flash元素的显示,二维动画设计,概念释义,显示对象(Display Object) Flash中所有可视元素,包括图形、按钮、补间 动画、文本等。 容器(Container),二维动画设计,概念释义,舞台与主时间轴的包含关系,舞台,主时间轴,其他元素,二维动画设计,代码编写位置及方式,直接放在主时间轴的帧中 使用类,二维动画设计,AS3.0 语法基础数据类型,基本数据类型,复杂数据类型,二维动画设计,AS3.

2、0语言基本元素,2、变量的声明和使用 变量必须先声明再使用 声明变量的语法,变量命名规则 尽量使用有含义的英文单词作为变量名 变量名采用骆驼式命名法 尽量避免变量名中出现数字编号,var 变量名:数据类型; var 变量名:数据类型 = 值,如果要赋值,值的数据类型必须和变量的数据类型一致,i i=3 var j = “String Value”,var i:int i=100 var k:int = 100,i:int=200 var j:String = “String Value”,二维动画设计,AS3.0语言基本元素,3、使用const声明常量 AS3中新增的关键字 语法,const

3、foo:int = 100,二维动画设计,AS3.0语言基本元素,数字:int,uint,Number int:有符号的32位整数型,数值范围:-231+(231-1) uint:没有符号的32位整数型,数值范围:0 232-1 Number:64位浮点值,数值范围1.79769313486231e+308 4.960656458412467e-324,使用int,uint,Number应当注意的事项: 能用整数值时优先使用int和uint 整数值有正负之分时,使用int 只处理正整数,优先使用uint 处理和颜色相关的数值时,使用uint 碰到或可能碰到小数点时使用Number 整数数值运算

4、涉及到除法,建议使用浮点值,二维动画设计,AS3.0语言基本元素字符串,字符串:String 如何声明字符串?,var stringSample1:String; var stringSample2:String=“”; var stringSample3:String=new String() var stringSample4:String=“abc” var stringSample5:String=new String(“abc”) var stringSample6:String=abc,var stringLength:Number=stringSample.length;,如何知

5、道字符串的长度?,二维动画设计,AS3.0 复杂数据类型数组,数组:Array 数组最多容纳232-1个元素 默认值为空值:null 数组的声明方式,数组元素的访问,var a:Array= var b:Array=new Array() var c:Array=1,2,3,4 var d:Array=new Array(1,2,3,4),根据元素的位置,使用数组运算符:数组名下标 d0,d1,容易犯的错误: var arr:Array arr0=*,二维动画设计,AS3.0 复杂数据类型数组,在数组中,可以保存多个任意类型的数据。 var arr:Array=new Array() arr0

6、=1; arr1=“abc”; arr2=true; arr3=new MovieClip(),二维动画设计,数组常用函数,插入数组元素3种方法: push()在数组末尾添加一个或多个元素 unshift()在数组开头插入一个或多个元素 splice()用于在数组指定索引处插入或删除指定数目的元素(替换元素),二维动画设计,数组常用函数,删除数组元素3种方法: pop()从数组末尾删除一个元素 unshift()从数组开头删除一个元素 splice()用于在数组指定索引处插入或删除指定数目的元素(替换元素),二维动画设计,AS3.0 复杂数据类型对象,Object及关联数组 Object的成员

7、 声明新Object方法,二维动画设计,AS3.0 复杂数据类型对象,Object类是所有类的父类,可以接收任何类型的数据, 同时也是动态类,可以向动态类的实例添加属性。 var obj:Object=new Object(); obj=50; obj=; obj=x:0; obj.y=2 /动态添加属性,二维动画设计,点语法,点运算符“.”访问对象的属性和方法。使用时,在对象名后加上点运算符,再跟对象的属性和方法, 对象名(实例名).属性(方法) /声明一个Number数据类型变量n,并赋予值10 var n:Number = 10; /输出n的16进制字符串表示形式 trace(n.toS

8、tring(16); parseInt()函数 点语法还可以表示包的嵌套关系。,二维动画设计,点语法,点语法可以用数组运算符代替,访问实例的属性和方 法也可以使用数组运算符。访问规则:把属性名或方法 作为字符串放在数组运算符中。 有时点语法不能很好工作时,亦可用数组运算符代替。,二维动画设计,ActionScript 3语言基本元素,运算符、表达式及运用 算数运算符:+,-,*,/,%,求反 算数赋值运算符:+=,-=,*=,/=,%= 关系运算符(判断相等关系):=,!=,=,!= 关系运算符(判断大小关系):=, 逻辑运算符:&,|,! 三元if-else运算符:?: typeof(用字符

9、串形式返回对象的类型) is(判断一个对象是否属于一种类型,返回布尔值) as(如果一个对象属于一种类型,则返回这个对象,否则返回null) 优先级顺序:使用括号代替记忆,二维动画设计,ActionScript 3 流程控制,条件判断 功能:当程序执行到“if”语句时,首先判断参数“条件”中逻辑表达式的运算结果,如果结果为“真”(true)则执行当前“if”语句内的脚本语句,如果结果为“假”(false),则检查当前“if”语句中是否有“else”或者“else if”子句,如果有则继续进行判断,如果没有则跳过当前“if”语句内的所有程序代码,继续执行下面的程序。,二维动画设计,ActionS

10、cript 3 流程控制,三种格式: 格式1:如果条件表达式为true(真),执行流程语句;如果为假(false),不执行流程语句 if(条件表达式) 流程 格式2:如果条件表达式为true(真),执行流程a;如果为假(false),执行流程b if(条件表达式) 流程a else 流程b ,二维动画设计,ActionScript 3 流程控制,var foo:int=10; var bar:int=5; if(foobar) trace(“Foo is winner!”) else trace(“Bar is winner!”) ,二维动画设计,ActionScript 3 流程控制,三种格

11、式 格式3:if(条件表达式1) 流程1; /如果条件表达式1成立则执行流程1 else if(条件表达式2) 流程2; /如果条件表达式2成立则执行流程2 else if(条件表达式3) 流程3; /如果条件表达式3成立则执行流程3 else if /else if语句可以一直写下去,用以判断多种情况。,二维动画设计,ActionScript 3 流程控制,var foo:int = 500; if(foo 0) trace(“foo 是一个正整数”) else if(foo 100) trace(“foo 是一个大于100的正整数”) else trace(“foo 小于0”) ,输出:,

12、foo 是一个正整数,var foo:int = 500; if(foo 100) trace(“foo 是一个大于100的正整数”) else if(foo 0) trace(“foo 是一个正整数”) else trace(“foo 小于0”) ,二维动画设计,ActionScript 3 流程控制,范例:重复左右移动的飞鸟 X方向位置不断改变 到达边缘后反向 小鸟影片剪辑添加监听事件,二维动画设计,ActionScript 3 流程控制,循环 语句: while,do-while,for, forin, for eachin,设计步骤: 确定循环内容(循环体) 确定循环变量 循环三要素:

13、 循环初始化 循环条件表达式 循环体中必须有改变循环变量值的语句,二维动画设计,ActionScript 3 流程控制,while循环控制语句 功能:当满足条件表达式的时候,再执行循环体。 while(循环条件) 循环体; ,do 循环体; while(循环条件) 不管“条件”成立与否、循环与否,循环体至少都要执行1次。,二维动画设计,ActionScript 3 流程控制,范例(while): 在舞台复制出10个小鸟,而且水平位置、垂直位置、水平缩放比例、垂直缩放比例和透明度都是随机变化的。 范例(dowhile): 根据用户指定的数量加入对象,随机数的使用,二维动画设计,ActionScr

14、ipt 3 流程控制,循环语句 For循环控制语句 功能:让指定程序代码块执行一定次数的循环。 格式: for (初始化;循环条件;步进) 循环体; ,二维动画设计,ActionScript 3 流程控制,范例:复制小鸟 范例:数的累加,var sum = 0; for (var i=1; i=100; i+) sum = sum + i; trace(sum),二维动画设计,forin循环句,forin循环主要用于在对象或数组中循环访问属性或数组对象。其语法结构如下。 在执行时,变量i将用于代表对象object中的每一个属性,直到“遍历”对象的全部属性之后,循环才会结束。,二维动画设计,fo

15、rin循环句,上例输出结果为:company name age。可以看到可以通过循环访问预先定义的对象obj的每个属性。其属性值则可以使用obji来获得。 上述代码的输出结果为: company:Adobe name:张三 age:25,二维动画设计,for eachin循环句,与forin循环类似,for eachin也是一种遍历方式。不过forin遍历的是属性,而for eachin遍历的是属性值。例如,对象x=4,y=5包含2个属性(x和y),forin遍历的结果是x和y(属性名称),而for eachin遍历的结果则是4和5(属性的值)。 for eachin循环句的语法如下。,二维动

16、画设计,for eachin循环句,对比可以发现,forin循环中使用的变量i定义为字符串类型,这是因为属性名称肯定是字符串;而在for eachin的遍历过程中,由于属性值不确定(可能是Number、Boolean、String或者更复杂的变量类型),因此i的数据类型也并不确定,使用“*”(星号)注明其类型不确定。 上述代码的输出结果为:Adobe 张三 25 注意:与在forin例子中,使用obji访问的结果相同。,二维动画设计,ActionScript 3 流程控制,with语句 如果有一系列语句都作用于同一对象上,则可以使用with语句一次指定全部语句对该对象的参考 使用with语句可

17、以提高程序的执行速度,并且可以避免重复输入对象名称的问题。,with(mymc) alpha = 0.2 x= 200 y = 200 ,mymc.alpha=20 mymc.x = 200 mymc.y = 200,=,二维动画设计,ActionScript 3 流程控制,break和continue语句 都在循环体内使用; Break用来直接跳出循环,不再执行循环体内后面的语句。 continue语句只是终止当前这一轮的循环,直接跳到下一轮循环,而在这一轮循环中,循环体内continue后面的语句也不会执行。,for(var i:int=0;i5;i+) if(i=3)break; tra

18、ce(“当前数字:“+i); ,for(var i:int=0;i5;i+) if(i=3)continue; trace(“当前数字:“+i); ,二维动画设计,ActionScript 3 流程控制,选择分支判断switch,switch(值或表达式) case 值或表达式1:语句1;break; case 值或表达式2:语句2;break; case 值或表达式3:语句3;break; defalt: 语句4; ,二维动画设计,ActionScript 3 流程控制,var fruits:Array=“apple“,“banana“,“grape“,“watermelon“,“mango

19、“; var currentFruit:String=fruitsMath.floor(Math.random()*fruits.length); trace(“the fruit you selected is :“+currentFruit); switch (currentFruit) case “apple“ : trace(“apple,apple,please pay for apple!“); break; case “mango“ : trace(“mango,mango,please pay for mango!“); break; default : trace(“0,yo

20、u have a free chance to eat :“+currentFruit); ,switch (currentFruit) case “apple“ : trace(“o ,o , its an apple!“); case “mango“ : trace(“eat for free!“); break; case “banana“ : case “grape“ : trace(“please pay for it!“); break; default : trace(“o , I wont buy watermelon“);,二维动画设计,ActionScript 3中的函数,

21、函数:执行特定任务并可以在程序中重用的代码块。 两类:方法;函数闭包 两种定义方式:函数语句声明法;函数表达式声明法,二维动画设计,ActionScript 3中的函数,参数: 按值传入参数: 按引用来传入参数: Action Script3中,所有的参数都是按引用传入的。 基元数据类型是不变对象,传引用和传值的效果一样。,二维动画设计,ActionScript 3中的函数,范例:,function test(valuePara:int,referencePara:Array):void valuePara=100; referencePara.Push(100); var a:int=5 v

22、ar b:Array=1,2,3; test(a,b); trace(a); trace(b);,输出:5, 输出:1,2,3,100,二维动画设计,ActionScript 3中的函数,设置默认参数:调用函数时,没有写明参数,会调用该参数默认值代替。 格式:function(参数1:类型=默认值,参数2:类型=默认值):返回类型 例子:,function test(a:int=3,b:int=2,c:int=1):void trace(a+b+c,a,b,c); test() test(9) test(2,9) test(1,2,3),6,3,2,1 12,9,2,1 12,2,9,1 6,

23、1,2,3,二维动画设计,ActionScript 3中的函数,在函数中传入的参数都被保留在函数自动生成的一个arguments对象中。 可以使用arguments0、 arguments1访问传入的第1个、第2个参数,依次类推。 属性length表示当前传入参数的数目 属性callee持有指向当前函数的引用,常常用来创建递归。,二维动画设计,ActionScript 3中的函数,范例:,function test(a:int=3,b:int=2,c:int=1):void trace(“参数长度:”+arguments.length); trace(a+b+c); if (a+b+c0)arguments.callee(a-1,b-1,c-1); test();,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1