Flash动画设计代码_第1页
Flash动画设计代码_第2页
Flash动画设计代码_第3页
Flash动画设计代码_第4页
Flash动画设计代码_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

Flash动画设计与制作1/7/20241整理课件Flash简介Flash是Macromedia公司的一个非常受欢送的多媒体产品。它是一种用于制作和编辑动画和电影的软件。它可以在使用很少字节量的情况下,实现高质量的矢量图形和交互式动画的制作。它的动画文件扩展名为.swf,可以插入html语言中,也可以单独成为网页。Flash不但能够制作一般的动画,而且可以制作出带有背景声音,具有较强的交互性能的电影。2006年底Adobe公司收购Macromedia公司,于07年推出FlashCS版本,在ActionScript方面做了较大改动。1/7/20242整理课件Flash动画特点用Flash制作出来的动画是矢量的,动画放大后,不会引起失真,所形成动画文件占用的存储空间很小,特别适合在网络上使用。Flash使用插件方式进行工作,用户只要安装一次插件,就可以在浏览器中观看Flash动画。此外Flash支持多种格式图片,支持声音,支持渐变色,支持A1pha透明、蒙扳等功能。Flash动画电影是一种“流〞形式文件,动画是一边下载一边播放的,几乎感觉不到文件下载过程下来。1/7/20243整理课件ActionScript3语言根本元素1、数据的本质及其重要性质数据是一切编程语言的基石ActionScript3中所有数据都是对象数据类型:基元数据类型复杂数据类型BooleanintNumberuintString处理数字处理文字标识真假Array,Date,Error,Function,RegExp,XML,XMLList,自己定义的类1/7/20244整理课件ActionScript3语言根本元素2、变量的声明和使用变量必须先声明再使用声明变量的语法变量命名规那么尽量使用有含义的英文单词作为变量名变量名采用骆驼式命名法尽量防止变量名中出现数字编号var变量名:数据类型;var变量名:数据类型=值如果要赋值,值的数据类型必须和变量的数据类型一致ii=3varj=“StringValue〞vari:inti=100vark:int=100,i:int=200varj:String=“StringValue〞1/7/20245整理课件ActionScript3语言根本元素3、使用const声明常量AS3中新增的关键字语法constfoo:int=1001/7/20246整理课件ActionScript3语言根本元素4、根底数据类型所有的基元数据类型两种复杂数据类型布尔值:Boolean表示真假两个值:true,false声明一个布尔型变量时忘记赋值,默认值为falseBoolean,int,Number,unit,StringArray,Object1/7/20247整理课件ActionScript3语言根本元素4、根底数据类型所有的基元数据类型两种复杂数据类型数字:int,uint,Numberint:有符号的32位整数型,数值范围:-231︿+(231-1)uint:没有符号的32位整数型,数值范围:0︿232-1Number:64位浮点值,数值范围1.79769313486231e+308︿4.960656458412467e-324Boolean,int,Number,uint,StringArray,Object1/7/20248整理课件ActionScript3语言根本元素4、根底数据类型所有的基元数据类型两种复杂数据类型数字:int,uint,Numberint:有符号的32位整数型,数值范围:-231︿+(231-1)uint:没有符号的32位整数型,数值范围:0︿232-1Number:64位浮点值,数值范围1.79769313486231e+308︿4.960656458412467e-324Boolean,int,Number,uint,StringArray,Object使用int,uint,Number应当注意的事项:能用整数值时优先使用int和uint整数值有正负之分时,使用int只处理正整数,优先使用uint处理和颜色相关的数值时,使用uint碰到或可能碰到小数点时使用Number整数数值运算涉及到除法,建议使用浮点值1/7/20249整理课件ActionScript3语言根本元素4、根底数据类型所有的基元数据类型两种复杂数据类型字符串:String如何声明字符串?如何知道字符串的长度?Boolean,int,Number,uint,StringArray,ObjectvarstringSample1:String;varstringSample2:String=“〞;varstringSample3:String=newString()varstringSample4:String=“abc〞varstringSample5:String=newString(“abc〞)varstringSample6:String=‘abc’varstringSample:String=“thisisanapple〞;varstringLength:Number=stringSample.length;trace(stringLength)1/7/202410整理课件ActionScript3语言根本元素4、根底数据类型所有的基元数据类型两种复杂数据类型数组:Array数组最多容纳232-1个元素默认值为空值:null数组的声明方式数组元素的访问Boolean,int,Number,uint,StringArray,Objectvara:Array=[]varb:Array=newArray()varc:Array=[1,2,3,4]vard:Array=newArray(1,2,3,4)根据元素的位置,使用数组运算符[]d[0],d[1]1/7/202411整理课件ActionScript3语言根本元素4、根底数据类型所有的基元数据类型两种复杂数据类型Object及关联数组Object的成员声明新Object方法Boolean,int,Number,uint,StringArray,Object属性(Property)用来存放各种数据方法(Mehtod)存放函数对象1.使用构造函数varfoo:Object=newObject()2.使用空的大括号作为newObject()函数的语法快捷方式varfoo:Object={k1:v1,k2:v2,k3:v3}使用空的大括号构造Object时,还可将属性写进去1/7/202412整理课件ActionScript3语言根本元素4、根底数据类型所有的基元数据类型两种复杂数据类型变量的默认值int,uint的默认值为0Number的默认值为NaNBoolean的默认值为falseString的默认值为nullBoolean,int,Number,uint,StringArray,Object1/7/202413整理课件ActionScript3语言根本元素5、运算符、表达式及运用要有运算对象才可以进行运算运算对象和运算符的组合称为表达式最常用的运算符:赋值运算符〔=〕将等号右边的值〔右值〕复制给等号左边的变量。等号左边必须是一个变量,不能是基元数据类型,也不能是没有声明的对象的引用。常见合法形式:非法形式:常见合法形式vara:int=3varb:Stringb=“new〞a=3+4-5varc:Object=newObject()vard:Object=c非法形式vara4=5“Iamastring〞=anewObject()=51/7/202414整理课件ActionScript3语言根本元素5、运算符、表达式及运用算数运算符:+,-,*,/,%,求反算数赋值运算符:+=,-=,*=,/=,%=关系运算符〔判断相等关系〕:==,!=,===,!==关系运算符〔判断大小关系〕:>=,<=,>,<逻辑运算符:&&,||,!三元if-else运算符:?:typeof〔用字符串形式返回对象的类型〕is〔判断一个对象是否属于一种类型,返回布尔值〕as〔如果一个对象属于一种类型,那么返回这个对象,否那么返回null〕优先级顺序:使用括号代替记忆1/7/202415整理课件ActionScript3流程控制条件判断功能:当程序执行到“if〞语句时,首先判断参数“条件〞中逻辑表达式的运算结果,如果结果为“真〞〔true〕那么执行当前“if〞语句内的脚本语句,如果结果为“假〞〔false〕,那么检查当前“if〞语句中是否有“else〞或者“elseif〞子句,如果有那么继续进行判断,如果没有那么跳过当前“if〞语句内的所有程序代码,继续执行下面的程序。1/7/202416整理课件ActionScript3流程控制三种格式:格式1:如果条件表达式为true〔真〕,执行流程语句;如果为假〔false〕,不执行流程语句

if(条件表达式){流程}格式2:如果条件表达式为true〔真〕,执行流程a;如果为假〔false〕,执行流程bif(条件表达式){流程a}else{流程b}1/7/202417整理课件ActionScript3流程控制varfoo:int=10;varbar:int=5;if(foo>bar){trace(“Fooiswinner!〞)}else{trace(“Bariswinner!〞)}1/7/202418整理课件ActionScript3流程控制三种格式格式3:if(条件表达式1){流程1;//如果条件表达式1成立那么执行流程1}elseif(条件表达式2){流程2;//如果条件表达式2成立那么执行流程2}elseif(条件表达式3){流程3;//如果条件表达式3成立那么执行流程3}elseif……//elseif语句可以一直写下去,用以判断多种情况。1/7/202419整理课件ActionScript3流程控制varfoo:int=500;if(foo>0){trace(“foo是一个正整数〞)}elseif(foo>100){trace(“foo是一个大于100的正整数〞)}else{trace(“foo小于0〞)}输出:foo是一个正整数varfoo:int=500;if(foo>100){trace(“foo是一个大于100的正整数〞)}elseif(foo>0){trace(“foo是一个正整数〞)}else{trace(“foo小于0〞)}1/7/202420整理课件ActionScript3流程控制循环语句:while,do-while,for,for…in,foreach…in设计步骤:确定循环内容〔循环体〕确定循环变量循环三要素:循环初始化循环条件表达式循环体中必须有改变循环变量值的语句1/7/202421整理课件ActionScript3流程控制while循环控制语句功能:当满足条件表达式的时候,再执行循环体。

while(循环条件){循环体;}

do{循环体;}while(循环条件)不管“条件〞成立与否、循环与否,循环体至少都要执行1次。

1/7/202422整理课件ActionScript3流程控制循环语句For循环控制语句

功能:让指定程序代码块执行一定次数的循环。

格式:for(初始化;循环条件;步进){循环体;}1/7/202423整理课件ActionScript3流程控制varsum=0;for(vari=1;i<=100;i++){sum=sum+i; }trace(sum)1/7/202424整理课件ActionScript3流程控制for…in和foreach…in循环条件是对象的某一组属性或某一数组的元素集合根本语法格式:循环次数由引用对象的属性个数或者数组元素的个数决定该循环实际上需要穷举该对象或数组中的所有内容。for〔变量in对象或数组名〕{//运行脚本}foreach〔变量in对象或数组名〕{//运行脚本}1/7/202425整理课件ActionScript3流程控制范例varmyBooks:Object={cookbook:〞ActionScript3.0Cookbook中文版〞,asbook:〞ActionScript3.0殿堂之路〞,mxbook:〞FlashMX2004ActionScript动画设计〞}for(varkinmyBooks){trace(“成员名字〔键〕:〞+k+〞\t成员〔值〕:〞+myBooks[k])}foreach(varkinmyBooks){trace(“成员:〞+k)}成员名字〔键〕:mxbook 成员〔值〕:FlashMX2004ActionScript动画设计成员名字〔键〕:asbook 成员〔值〕:ActionScript3.0殿堂之路成员名字〔键〕:cookbook 成员〔值〕:ActionScript3.0Cookbook中文版成员:ActionScript3.0殿堂之路成员:ActionScript3.0Cookbook中文版成员:FlashMX2004ActionScript动画设计1/7/202426整理课件ActionScript3流程控制with语句如果有一系列语句都作用于同一对象上,那么可以使用with语句一次指定全部语句对该对象的参考使用with语句可以提高程序的执行速度,并且可以防止重复输入对象名称的问题。with(mymc){ alpha=0.2 x=200 y=200}mymc.alpha=20mymc.x=200mymc.y=200=1/7/202427整理课件ActionScript3流程控制break和continue语句都在循环体内使用;Break用来直接跳出循环,不再执行循环体内后面的语句。continue语句只是终止当前这一轮的循环,直接跳到下一轮循环,而在这一轮循环中,循环体内continue后面的语句也不会执行。for(vari:int=0;i<5;i++){ if(i==3)break; trace("当前数字:"+i);}for(vari:int=0;i<5;i++){ if(i==3)continue; trace("当前数字:"+i);}1/7/202428整理课件ActionScript3流程控制选择分支判断switchswitch(值或表达式){case值或表达式1:语句1;break;case值或表达式2:语句2;break;case值或表达式3:语句3;break;defalt:语句4;}1/7/202429整理课件ActionScript3流程控制varfruits:Array=["apple","banana","grape","watermelon","mango"];varcurrentFruit:String=fruits[Math.floor(Math.random()*fruits.length)];trace("thefruityouselectedis:"+currentFruit);switch(currentFruit){ case"apple": trace("apple,apple,pleasepayforapple!"); break; case"mango": trace("mango,mango,pleasepayformango!"); break; default: trace("^0^,youhaveafreechancetoeat:"+currentFruit);}switch(currentFruit){ case"apple": trace("o,o,it'sanapple!"); case"mango": trace("eatforfree!"); break; case"banana": case"grape": trace("pleasepayforit!!"); break; default: trace("o,Iwon'tbuywatermelon");1/7/202430整理课件ActionScript3中的函数函数:执行特定任务并可以在程序中重用的代码块。两类:方法;函数闭包两种定义方式:函数语句声明法;函数表达式声明法1/7/202431整理课件ActionScript3中的函数参数:按值传入参数:参数对象会复制一个副本供函数内部操作,参数对象本身不会受影响按引用来传入参数:不复制副本,函数内操作参数对象的引用会改变参数对象的状态。ActionScript3中,所有的参数都是按引用传入的。基元数据类型是不变对象,传引用和传值的效果一样。1/7/202432整理课件ActionScript3中的函数范例:functiontest(valuePara:int,referencePara:Array):void{valuePara=100;referencePara.Push(100);}vara:int=5varb:Array=[1,2,3];test(a,b);trace(a);trace(b);输出:5,输出:1,2,3,1001/7/202433整理课件ActionScript3中的函数设置默认参数:调用函数时,没有写明参数,会调用该参数默认值代替。格式:function(参数1:类型=默认值,参数2:类型=默认值):返回类型{…}例子:functiontest(a:in

温馨提示

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

评论

0/150

提交评论