1、FLASH 学习笔记1、 文件格式:FLA:源文件格式,可编辑动画内容SWF:电影播放文件,只能用于观看EXE:可执行播放文件,不依赖 Flash Player2、 发布测试:对影片的测试 Ctrl + Enter3、 帧频:用于控制动画的播放速度,帧频越大动画播放越快,帧频越小动画播放越慢。通常情况下,用于网络传播时设置为 24 FPS 比较流畅,默认为 12 FPS。帧频 FPS = 总帧数 Total Frames / 播放时间 Second4、 主要面板操作:库面板,颜色面板,组件面板,变形面板,属性面板5、 主选工具选择、移动、分割离散对象、调整路径外观、单击选择局部,双击选择全部6
2、、 次选工具调整路径外观(精确控制角点和曲线点)7、 缩放工具固定中心点缩放按下 ALT,而等比例缩放按下 SHIFT 键。8、 离散与群组对象绘制为群组状态,离散(CTRL+G)-组合(CTRL+B 或 SHIFT+CTRL+G)-离散9、 矩形工具绘制圆角矩形时,不松开鼠标的同时按下上下方向键可以动态调用圆角半径的值。10、 打开库面板 CTRL+L11、 关于字体设备字体:不将字体信息存入 Flash Player,而调用系统默认的字体来代替嵌入字体:保存特殊字体到播放器,显示特殊外观。静态文本:常规的文字内容动态文本:需要动态更改文本的内容时,通常是用 AS 来编程输入文本:获取用户输
3、入的内容,通过 AS 编程12、 动画的原理:由一续列连续的静止不变画面按一定的速率播放就形成动画。每一张画面在 FLASH 就称为一个关键帧(通过每秒播放 24 张及以上眼睛不会有停顿感觉)13、 动画制作基本知识A、 帧的分类:普通帧:延时 F5过渡帧:在两个关键帧之间产生渐变的帧 F5关键帧:动画渐变过程中起绝对作用的帧 F6空白关键帧:对一段动画的终止,或者放脚本,或者命名帧标签 F7B、 层的分类:普通层:常规的动画制作引导层:放置引导线,让动画围绕它运动被引导层:被引导的一段或多段动画遮罩层:放置动画的外观形状被遮罩层:被遮罩的动画层文件夹:对图层进行分类管理C、 元件的类型转换为
4、元件 F8,动作面板 F9,发布测试 F12图形元件:一般元件内部没有动画,没有独立时间轴,不能 AS 编程影片剪辑:元件内部及主时间轴都有动画,有独立时间轴,可以 AS 编程按钮:用于影片的交互控制14、 5 种动画型:(1) 逐帧动画:每一个帧都是关键帧,并且要为每一个帧绘制相应的画面。用于动作非常复杂,不是简单的位置,大小,颜色,不透明度,旋转角度等变化。(2) 动作补间动画适合于对象的大小,位置,不透明度,旋转角度,颜色等变化的动画。缓动值的作用控制的加减速运动,0 匀速,正值表示减速,负值表示加速。每个关键帧上的对象必须是元件实例,并且只能放一个对象。实例具有单独的属性,元件是所有引
5、用此实例的公共属性。(3) 形状补间动画适合于几何形体发生变化的动画,也可以做对象属性变化的动画,但是形状补间动画比较消耗系统资源,应尽量少用。关键帧上要以放一个或多个离散对象。形状提示点可以让形变动画更为真实,总共有 AZ 26 个。(4) 引导线动画解决动画的曲线运动问题。A、 对引导层的要求:引导线必须是开放的路径;引导线必须是离散;引导线不能断裂B、 对被引导动画的要求:只有动作补间动画才可以被引导;开始关键帧上的元件实例的中心点要与引导路径的首端对齐,结束关键帧上的元件实例的中心点要与引导路径的尾端对齐。一段引导路径可以引导多个动画,引层上的对象不随影片一起发布。(5) 遮罩动画“上
6、形下色”遮罩层放置动画我外观形状,而被遮罩层放动画对象。笔触不能用于遮罩,只有填充才可以就用于遮罩动画的外观。就此引出遮罩层与被遮罩层的概念(两者的位置:遮罩层在上,被遮罩层在下)遮罩效果的实现,需要两层:1.遮罩层:提供了形状;2.被遮层提供了被挡住的内容(文字、图片等)笔触转填充(修改形状将笔触转换为填充)15、 FLASH 中支持的音频格式WAV:音质好,文件体积大,不便于网络传播 44.1KHZMP3:采用低采样率进行压缩,音质好,文件体积小,通常用于网络传播WMA:微软互联网音频格式,压缩比例为 1:18,采用 DRM 技术防盗版AIFF:苹果公司音频格式AU:SUN 公司音频格式事
7、件音频:用于短小的音乐,比例按钮上使用的,只要一个帧就要以播放完成。数据流音频:适合于比较长的背景音乐或配乐,要求时间轴于音频同步。采样率:指单位时间内对音频的采集次数,采样率越大音质越好,单位 KHZ(千赫兹)音频编辑软件:sound_forge6.0 CoolEdit GoldWave常见的广告类型:1、通栏广告 980X80PX 高度 60100PX,大小限定在 30KB 以内2、旗帜广告 468X60PX 大小限定在 20KB 以内3、图标广告(大的 LOGO) 120X60PX 10KB 以内4、对联广告 100X300PX 或 80X250PX 20KB 以内5、随意漂浮 80X8
8、0PX 20KB 以内让 FLASH 在网页中透明显示AS2.0 学习1、 FLASH 中脚本的分类:帧脚本:放在关键帧上,不需要事件按钮脚本:放到按钮实例上,用按钮事件触发影片脚本:放到影片实例上,用影片事件触发2、 按钮的响应机制:On(按钮事件)/被执行的脚本常用的事件摘要事件 说明DragOut 当在按钮上单击鼠标按键,然后将鼠标指针拖动到按钮之外时调用。DragOver 当用户在按钮外部按下鼠标按键,然后将鼠标指针拖动到按钮之上时调用。KeyDown 当按钮具有键盘焦点而且按下某按键时调用。KeyUp 当按钮具有输入焦点而且释放某按键时调用。KillFocus 当按钮失去键盘焦点时调
9、用。Press 当按下按钮时调用。Release 当释放按钮时调用。ReleaseOutside在这样的情况下调用:在鼠标指针位于按钮内部的情况下按下按钮,然后将鼠标指针移到该按钮外部并释放鼠标按键。RollOut 当鼠标指针移至按钮区域之外时调用。RollOver 当鼠标指针移过按钮区域时调用。SetFocus 当按钮接收键盘焦点时调用。例子:单击按钮时就打开新浪网On(press )getURL(“http:/ ”, “_blank”)getURL(“网址” , “窗口打开方式” , “数据传输方法” )3、 AS 的语法规则是区分大小写的,例:Var A=10;Var a=5;Trace
10、(A+a);4、 时间轴控制语句gotoAndPlay(帧数字或“帧标签”); 跳转到某个帧或某个场景的某个帧上播放gotoAndStop(帧数字或“帧标签 ”); 暂停play() 播放stop() 暂停nextFrame(); 到下一个帧暂停prevFrame(); 到上一个帧暂停nextScene(); 到下一个场景暂停prevScene(); 到上一个场景暂停5、 路径的表示方法绝对路径:以主时间轴为起点来表示各实例所处的位置,通常是以 _root._相对路径:以当前实例所处的位置为基准来表示其他实例的位置,通常是以 this._ 或 _parent. _6、 fscommand()用
11、法用于播放或浏览的控制,比如:全屏,显示右键菜单,允许缩放,退出常用的命令及参数:命令 参数 作用quit 无 关闭放映文件。fullscreentrue 或 falsetrue 可将 Flash Player 设置为全屏模式 false 不全屏。allowscaletrue 或 falsefalse 不进行缩放。True 要缩放showmenutrue 或 falsetrue 显示右键菜单项 false 隐藏右键菜单项7、 LoadMovie()和 UnloadMovie()用于加载或卸载外部素材文件(swf、JPG、GIF 、PNG)到目标影片剪辑载入素材的位置以目标影片剪辑的注册点为原点
12、。loadMovie(“外部文件的路径” , “目标影片剪辑实例” , “方法”)例:要将 a.jpg 图片加载到 test_mc 的目标影片中loadMovie(“a.jpg”, “_root.test_mc”)UnloadMovie(“目标影片剪辑实例”)loadMovieNum(“外部文件的路径” ,层级编号,“方法”)unloadMovieNum(层级编号)区别:loadMovie 可以精确控制载入素材的坐标位置,而 loadMovieNum 只能以影片的原点为坐标点。8、 条件语句如果 if。 。 。那么 else。 。 。语法结构:If(条件表达式)/ 条件成立执行语句Else/
13、条件不成立执行语句9、 数字类型转换isNaN 函数:是否是数字,不是数字返为 trueNumber 函数:转换为数字int 函数:截尾取整Math.round 方法:四舍五入取整parseInt 函数:将字符串转换为整数10、 影片剪辑脚本响应机制:onClipEvent (影片事件 )/ 被执行的脚本常用的影片事件: load 影片实例被加载时 unload 影片实例被删除时 enterFrame 以影片剪辑的帧频连续触发该动作。 mouseMove 移动鼠标时启动此动作。 mouseDown 当按下鼠标左键时启动此动作。 mouseUp 当释放鼠标左键时启动此动作。 keyDown 当按
14、下某个键时启动此动作。 keyUp 当释放某个键时启动此动作。 data 接收到数据时启动该动作。 11、 控制影片的脚本startDrag 函数 允许拖动影片实例startDrag(“目标影片实例” ,允许锁定中心否,左,上,右,下)stopDrag() 停止拖动12、 影片剪辑的实例属性test_mc._alpha /不透明度test_mc._widthtest_mc._heighttest_mc._rotation /旋转角度test_mc._visible /是否可见test_mc._xtest_mc._ytest_mc._xmouse /鼠标横坐标位置test_mc._ymouset
15、est_mc._xscale /横向绽放比例test_mc._yscaletest_mc._quality /影片品质test_mc._framesloaded /已下载帧数test_mc._totalframes /影片总的帧数test_mc.getBytesLoaded() /已下载字节数test_mc.getBytesTotal() /影片总的字节数13、 复制和删除影片duplicateMovieClip(“目标” , “新名称” ,深度) 复制removeMovieClip(“目标”) 删除14、 设置和获取属性setProperty(“目标” ,属性,值) 设置实例的属性值getP
16、roperty(“目标” ,属性) 获取。 。 。 。 。 。 。 。 。 。 。15、 随机数Math.random() 产生 01 之间的随机数字产生指定范围的随机数:Math.random() * (max - min + 1) + min16、 Color 类设置影片剪辑的 RGB 颜色值方法:setRGB(0xRRGGBB) 设置 16 进制的颜色值getRGB() 获取颜色值例:随机显示颜色并获取值var randomColor:Color = new Color(this);randomColor.setRGB(random(0xffffff);trace(randomColor
17、.getRGB();17、 循环语句(1) while 循环while(条件表达式)/ 重复执行语句/ 变量自增或自减的语句例 1:var x = 1;while (x=100) if (x%3 = 0) trace(“第 “+x+“ 次循环!“);x+;例 2:/求 1+3+5+7.+99 的和var i = 1, sum = 0;while (i=100)if(i%2!=0)sum+=i;i+;trace(“求 1+3+5+7.+99 的和是: “+sum);(2) For 循环for (定义变量初始值;条件表达式;变量自增或自减)/ 被重复执行的语句例:/ 1-100 之间偶数的累加和v
18、ar sum = 0;for (var i = 1; i=100; i+) if (i%2 = 0) sum += i;trace(“1-100 之间偶数的累加和是:“+sum);18、 多分支条件语句switch (条件表达式 ) case 值 1 :语句 1;break;case 值 2 :语句 2;break;default :所有值都不满足时执行;break;例:判断星期几switch (Number(week) case 1 :weekday = “星期一“;break;case 2 :weekday = “星期二“;break;case 3 :weekday = “星期三“;bre
19、ak;case 4 :weekday = “星期四“;break;case 5 :weekday = “星期五“;break;case 6 :weekday = “星期六“;break;case 7 :weekday = “星期天“;break;default :weekday = “星期理论上不存在“;break;If(week=1)Else if(week=2)Else if(week=3)Else if(week=7)Else19、 日期和时间对象日期对象 Date,使用时采用 new Date()方法摘要签名 说明getDate() : Number 几号(1 到 31 之间的整数)。
20、getDay() : Number 星期几(0 代表星期日,1 代表星期一,依此类推)。getFullYear() : Number 完整年份(一个 4 位数,例如 2000)。getHours() : Number 小时值(0 到 23 之间的整数)。getMilliseconds() : Number 毫秒数(0 到 999 之间的整数)。getMinutes() : Number 分钟(0 到 59 之间的整数)。getMonth() : Number 月份值(0 代表一月,11 代表十二月)。getSeconds() : Number 秒(0 到 59 之间的整数)。getYear()
21、 : Number 按照本地时间返回指定的 年份。setDate(date:Number) : Number 月份中的日期,并以毫秒为单位返回新时间。setFullYear(year:Number, month:Number, date:Number) : Number 年份,并以毫秒为单位返回新时间。setHours(hour:Number) : Number 小时值,并以毫秒为单位返回新时间。setMilliseconds(millisecond:Number) : Number 毫秒数,并以毫秒为单位返回新时间。setMinutes(minute:Number) : Number 分钟值
22、,并以毫秒为单位返回新时间。setMonth(month:Number, date:Number) : Number 月份,并以毫秒为单位返回新时间。setSeconds(second:Number) : Number 秒钟值,并以毫秒为单位返回新时间。20、 自定义函数第一种用法:function 函数名称( 参数 1, 参数 2,. 参数 N)/ 自定义的函数内容/ return 返回结果第二种用法:目标实例.事件 = function()/ 自定义的函数内容例 1:求任意两个数之间的累加和function SumAdd(x:Number, y:Number) var sum = 0;while (x=y) sum = sum+x;x+;return sum;/21-94 之间的和trace(SumAdd(21,94);例 2:_root.test_btn.onRelease = function() trace(“你按下了按钮!“);_root.test_mc.onRollOver = function() trace(“你单击了影片剪辑! “);21、 组件的应用(1) CheckBox 复选框,实例名.selected 为 Ture 被选中,为 False 没有选中。(2) ComboBox 下拉列表, text 下拉选项的文本,value 下拉选项的值22、