AS3flash基础教程.ppt_第1页
AS3flash基础教程.ppt_第2页
AS3flash基础教程.ppt_第3页
AS3flash基础教程.ppt_第4页
AS3flash基础教程.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019年7月11日1时28分,Flash 动画设计与制作,1,Flash 动画设计与制作,2019年7月11日1时28分,Flash 动画设计与制作,2,Flash简介,Flash 是Macromedia 公司的一个非常受欢迎的多媒体产品。 它是一种用于制作和编辑动画和电影的软件。 它可以在使用很少字节量的情况下,实现高质量的矢量图形和交互式动画的制作。 它的动画文件扩展名为.swf,可以插入html语言中,也可以单独成为网页。 Flash 不但能够制作一般的动画,而且可以制作出带有背景声音,具有较强的交互性能的电影。 2006年底Adobe公司收购Macromedia 公司,于07年推出Flash CS版本,在ActionScript方面做了较大改动。,2019年7月11日1时28分,Flash 动画设计与制作,3,Flash动画特点,用Flash制作出来的动画是矢量的,动画放大后,不会引起失真,所形成动画文件占用的存储空间很小,特别适合在网络上使用。 Flash使用插件方式进行工作,用户只要安装一次插件,就可以在浏览器中观看Flash动画。此外Flash支持多种格式图片,支持声音,支持渐变色,支持A1pha透明、蒙扳等功能。 Flash动画电影是一种“流”形式文件,动画是一边下载一边播放的,几乎感觉不到文件下载过程下来。,2019年7月11日1时28分,Flash 动画设计与制作,4,Flash的应用,网站建设 网上 教学课件 影视片头 游戏制作 手机服务 动画片 MTV 广告 ,2019年7月11日1时28分,Flash 动画设计与制作,5,Flash cs3新增功能介绍,界面操作 面板折叠开关 矩形工具 椭圆工具 导入外部资源 动作面板,2019年7月11日1时28分,Flash 动画设计与制作,6,ActionScript的新特性,ActionScript 3中的新特性: 1.运行时排错:错误会运行时抛出以帮助你调试你的影片。 2.运行时变量类型检测:在回放时会检测变量的类型是否合法。 3.类封装:静态定义的类以增强性能。 4.方法封装:方法现在与它们相关的类实例绑定因此在方法中的this将不会改变。 5.E4X :一个新的,更易于操作的xml 6.正则表达式:支持本地化正规表达式。 7.命名空间:不但在xml中支持命名空间而且在类的定义中也同样支持。 8.int和uint数据类型:新的数据变量类型允许ActionScript使用更快的整型数据来进行计算。 9.新的显示列表模式:一个新的,自由度较大的管理屏幕上显示对象的方法。 10.新的事件类型模式:一个新的基于侦听器事件的模式。,2019年7月11日1时28分,Flash 动画设计与制作,7,在哪里输入Flash CS3代码,时间线上(帧) 外部文件 Hello,world 对动画的控制,2019年7月11日1时28分,Flash 动画设计与制作,8,体会一下AS3,下雪效果 在AS3中怎样把库中的元件加载舞台 AS3的事件侦听机制 在AS3中改变对象的位置和缩放对象,先在库中右击该元件,打开连接面板,在类的文本框中给这个类取一个名字,比如myl 在场景的帧中输入: var mymc:myl = new myl(); addChild(mymc); mymc.x = 100; mymc.y = 100;,function 函数名称(事件对象:事件类型):void / 此处是为响应事件而执行的动作。 触发事件的对象.addEventListener(事件类型.事件名称, 函数名称);,2019年7月11日1时28分,Flash 动画设计与制作,9,思考,如何修改(实现)以前的对影片剪辑的控制?,2019年7月11日1时28分,Flash 动画设计与制作,10,ActionScript 3语言基本元素,1、数据的本质及其重要性质 数据是一切编程语言的基石 ActionScript 3中所有数据都是对象 数据类型:,基元数据类型,复杂数据类型,Boolean int Number uint String,处理数字,处理文字,标识真假,Array,Date,Error,Function,RegExp,XML,XMLList, 自己定义的类,2019年7月11日1时28分,Flash 动画设计与制作,11,ActionScript 3语言基本元素,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”,2019年7月11日1时28分,Flash 动画设计与制作,12,ActionScript 3语言基本元素,3、使用const声明常量 AS3中新增的关键字 语法,const foo:int = 100,2019年7月11日1时28分,Flash 动画设计与制作,13,ActionScript 3语言基本元素,4、基础数据类型 所有的基元数据类型 两种复杂数据类型,布尔值:Boolean 表示真假 两个值:true,false 声明一个布尔型变量时忘记赋值,默认值为false,Boolean,int,Number,unit,String,Array,Object,2019年7月11日1时28分,Flash 动画设计与制作,14,ActionScript 3语言基本元素,4、基础数据类型 所有的基元数据类型 两种复杂数据类型,数字:int,uint,Number int:有符号的32位整数型,数值范围:-231+(231-1) uint:没有符号的32位整数型,数值范围:0 232-1 Number:64位浮点值,数值范围1.79769313486231e+308 4.960656458412467e-324,Boolean,int,Number,uint,String,Array,Object,2019年7月11日1时28分,Flash 动画设计与制作,15,ActionScript 3语言基本元素,4、基础数据类型 所有的基元数据类型 两种复杂数据类型,数字:int,uint,Number int:有符号的32位整数型,数值范围:-231+(231-1) uint:没有符号的32位整数型,数值范围:0 232-1 Number:64位浮点值,数值范围1.79769313486231e+308 4.960656458412467e-324,Boolean,int,Number,uint,String,Array,Object,使用int,uint,Number应当注意的事项: 能用整数值时优先使用int和uint 整数值有正负之分时,使用int 只处理正整数,优先使用uint 处理和颜色相关的数值时,使用uint 碰到或可能碰到小数点时使用Number 整数数值运算涉及到除法,建议使用浮点值,2019年7月11日1时28分,Flash 动画设计与制作,16,ActionScript 3语言基本元素,4、基础数据类型 所有的基元数据类型 两种复杂数据类型,字符串:String 如何声明字符串? 如何知道字符串的长度?,Boolean,int,Number,uint,String,Array,Object,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 stringSample:String=“this is an apple”; var stringLength:Number=stringSample.length; trace(stringLength),2019年7月11日1时28分,Flash 动画设计与制作,17,ActionScript 3语言基本元素,4、基础数据类型 所有的基元数据类型 两种复杂数据类型,数组:Array 数组最多容纳232-1个元素 默认值为空值:null 数组的声明方式 数组元素的访问,Boolean,int,Number,uint,String,Array,Object,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,2019年7月11日1时28分,Flash 动画设计与制作,18,ActionScript 3语言基本元素,4、基础数据类型 所有的基元数据类型 两种复杂数据类型,Object及关联数组 Object的成员 声明新Object方法,Boolean,int,Number,uint,String,Array,Object,2019年7月11日1时28分,Flash 动画设计与制作,19,ActionScript 3语言基本元素,4、基础数据类型 所有的基元数据类型 两种复杂数据类型,变量的默认值 int,uint的默认值为0 Number的默认值为NaN Boolean的默认值为false String的默认值为null,Boolean,int,Number,uint,String,Array,Object,2019年7月11日1时28分,Flash 动画设计与制作,20,ActionScript 3语言基本元素,5、运算符、表达式及运用 要有运算对象才可以进行运算 运算对象和运算符的组合称为表达式 最常用的运算符:赋值运算符(=) 将等号右边的值(右值)复制给等号左边的变量。 等号左边必须是一个变量,不能是基元数据类型,也不能是没有声明的对象的引用。 常见合法形式: 非法形式:,常见合法形式 var a : int=3 var b:String b=“new” a=3+4-5 var c:Object=new Object() var d:Object=c,非法形式 var a 4 =5 “I am a string”=a new Object()=5,2019年7月11日1时28分,Flash 动画设计与制作,21,ActionScript 3语言基本元素,5、运算符、表达式及运用 算数运算符:+,-,*,/,%,求反 算数赋值运算符:+=,-=,*=,/=,%= 关系运算符(判断相等关系):=,!=,=,!= 关系运算符(判断大小关系):=, 逻辑运算符:&,|,! 三元if-else运算符:?: typeof(用字符串形式返回对象的类型) is(判断一个对象是否属于一种类型,返回布尔值) as(如果一个对象属于一种类型,则返回这个对象,否则返回null) 优先级顺序:使用括号代替记忆,2019年7月11日1时28分,Flash 动画设计与制作,22,ActionScript 3 流程控制,条件判断 功能:当程序执行到“if”语句时,首先判断参数“条件”中逻辑表达式的运算结果,如果结果为“真”(true)则执行当前“if”语句内的脚本语句,如果结果为“假”(false),则检查当前“if”语句中是否有“else”或者“else if”子句,如果有则继续进行判断,如果没有则跳过当前“if”语句内的所有程序代码,继续执行下面的程序。,2019年7月11日1时28分,Flash 动画设计与制作,23,ActionScript 3 流程控制,三种格式: 格式1:如果条件表达式为true(真),执行流程语句;如果为假(false),不执行流程语句 if(条件表达式) 流程 格式2:如果条件表达式为true(真),执行流程a;如果为假(false),执行流程b if(条件表达式) 流程a else 流程b ,2019年7月11日1时28分,Flash 动画设计与制作,24,ActionScript 3 流程控制,var foo:int=10; var bar:int=5; if(foobar) trace(“Foo is winner!”) else trace(“Bar is winner!”) ,2019年7月11日1时28分,Flash 动画设计与制作,25,ActionScript 3 流程控制,三种格式 格式3:if(条件表达式1) 流程1; /如果条件表达式1成立则执行流程1 else if(条件表达式2) 流程2; /如果条件表达式2成立则执行流程2 else if(条件表达式3) 流程3; /如果条件表达式3成立则执行流程3 else if /else if语句可以一直写下去,用以判断多种情况。,2019年7月11日1时28分,Flash 动画设计与制作,26,ActionScript 3 流程控制,var foo:int = 500; if(foo 0) trace(“foo 是一个正整数”) else if(foo 100) trace(“foo 是一个大于100的正整数”) else trace(“foo 小于0”) ,输出:,foo 是一个正整数,var foo:int = 500; if(foo 100) trace(“foo 是一个大于100的正整数”) else if(foo 0) trace(“foo 是一个正整数”) else trace(“foo 小于0”) ,2019年7月11日1时28分,Flash 动画设计与制作,27,ActionScript 3 流程控制,范例:重复左右移动的飞鸟 X方向位置不断改变 到达边缘后反向 小鸟影片剪辑添加监听事件,2019年7月11日1时28分,Flash 动画设计与制作,28,ActionScript 3 流程控制,循环 语句: while,do-while,for, forin, for eachin,设计步骤: 确定循环内容(循环体) 确定循环变量 循环三要素: 循环初始化 循环条件表达式 循环体中必须有改变循环变量值的语句,2019年7月11日1时28分,Flash 动画设计与制作,29,ActionScript 3 流程控制,while循环控制语句 功能:当满足条件表达式的时候,再执行循环体。 while(循环条件) 循环体; ,do 循环体; while(循环条件) 不管“条件”成立与否、循环与否,循环体至少都要执行1次。,2019年7月11日1时28分,Flash 动画设计与制作,30,ActionScript 3 流程控制,范例(while): 在舞台复制出10个小鸟,而且水平位置、垂直位置、水平缩放比例、垂直缩放比例和透明度都是随机变化的。 范例(dowhile): 根据用户指定的数量加入对象,随机数的使用,2019年7月11日1时28分,Flash 动画设计与制作,31,ActionScript 3 流程控制,循环语句 For循环控制语句 功能:让指定程序代码块执行一定次数的循环。 格式: for (初始化;循环条件;步进) 循环体; ,2019年7月11日1时28分,Flash 动画设计与制作,32,ActionScript 3 流程控制,范例:复制小鸟 范例:数的累加,var sum = 0; for (var i=1; i=100; i+) sum = sum + i; trace(sum),2019年7月11日1时28分,Flash 动画设计与制作,33,ActionScript 3 流程控制,for in和for each in 循环条件是对象的某一组属性或某一数组的元素集合 基本语法格式:,循环次数由引用对象的属性个数或者数组元素的个数决定 该循环实际上需要穷举该对象或数组中的所有内容。,for (变量 in 对象或数组名) /运行脚本 ,for each(变量 in 对象或数组名) /运行脚本 ,2019年7月11日1时28分,Flash 动画设计与制作,34,ActionScript 3 流程控制,范例,var myBooks:Object= cookbook:”ActionScript 3.0 Cookbook 中文版” , asbook:”ActionScript 3.0殿堂之路”, mxbook:”Flash MX 2004 ActionScript动画设计” ,for (var k in myBooks) trace(“成员名字(键):”+k+”t成员(值):”+myBooksk) ,for each(var k in myBooks) trace(“成员:”+k) ,成员名字(键):mxbook 成员(值):Flash MX 2004 ActionScript动画设计 成员名字(键):asbook 成员(值):ActionScript 3.0殿堂之路 成员名字(键):cookbook 成员(值):ActionScript 3.0 Cookbook 中文版,成员:ActionScript 3.0殿堂之路 成员:ActionScript 3.0 Cookbook 中文版 成员:Flash MX 2004 ActionScript动画设计,2019年7月11日1时28分,Flash 动画设计与制作,35,ActionScript 3 流程控制,with语句 如果有一系列语句都作用于同一对象上,则可以使用with语句一次指定全部语句对该对象的参考 使用with语句可以提高程序的执行速度,并且可以避免重复输入对象名称的问题。,with(mymc) alpha = 0.2 x= 200 y = 200 ,mymc.alpha=20 mymc.x = 200 mymc.y = 200,=,范例:等待目的地坐标的狮子,思考:当输入值超出边界,给出相应提示,2019年7月11日1时28分,Flash 动画设计与制作,36,ActionScript 3 流程控制,break和continue语句 都在循环体内使用; Break用来直接跳出循环,不再执行循环体内后面的语句。 continue语句只是终止当前这一轮的循环,直接跳到下一轮循环,而在这一轮循环中,循环体内continue后面的语句也不会执行。,for(var i:int=0;i5;i+) if(i=3)break; trace(“当前数字:“+i); ,for(var i:int=0;i5;i+) if(i=3)continue; trace(“当前数字:“+i); ,2019年7月11日1时28分,Flash 动画设计与制作,37,ActionScript 3 流程控制,选择分支判断switch,switch(值或表达式) case 值或表达式1:语句1;break; case 值或表达式2:语句2;break; case 值或表达式3:语句3;break; defalt: 语句4; ,2019年7月11日1时28分,Flash 动画设计与制作,38,ActionScript 3 流程控制,var fruits:Array=“apple“,“banana“,“grape“,“watermelon“,“mango“; 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,you 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“);,2019年7月11日1时28分,Flash 动画设计与制作,39,ActionScript 3中的函数,函数:执行特定任务并可以在程序中重用的代码块。 两类:方法;函数闭包 两种定义方式:函数语句声明法;函数表达式声明法,2019年7月11日1时28分,Flash 动画设计与制作,40,ActionScript 3中的函数,参数: 按值传入参数:参数对象会复制一个副本供函数内部操作,参数对象本身不会受影响 按引用来传入参数:不复制副本,函数内操作参数对象的引用会改变参数对象的状态。 Action Script3中,所有的参数都是按引用传入的。 基元数据类型是不变对象,传引用和传值的效果一样。,2019年7月11日1时28分,Flash 动画设计与制作,41,ActionScript 3中的函数,范例:,function test(valuePara:int,referencePara:Array):void valuePara=100; referencePara.Push(100); var a:int=5 var b:Array=1,2,3; test(a,b); trace(a); trace(b);,输出:5, 输出:1,2,3,100,2019年7月11日1时28分,Flash 动画设计与制作,42,Ac

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论