一 心中的疑惑
备注:Adobe系统公司于20xx年收购了Macromedia公司。所以现在的多数应用软件都是Adobe公司出品的,但还是原班人马设计的。
二 Flash动画的相关概念
动画的原理--通过一系列连续画面的播放,由于眼睛的视觉停留原理,从而使人觉得画面中的物体是运动的。帧--就是一幅图像。Flash中的帧中可分为"普通"帧和"关键"帧,Flash可在两个 "关键"帧之间自动生成动画。 时间轴--由许多帧按时间顺序组成。
Flash动画说到底就是“遮罩+补间动画+逐帧动画”与元件(主要是影片剪辑)的混合物,通过这些元素的不同组合,从而可以创建千变万化的效果。
ActionScript 3.0 是一种强大的面向对象编程语言,它标志着 Flash Player Runtime 演化过程中的一个重要阶段。设计 ActionScript 3.0 的意图是创建一种适合快速地构建效果丰富的互联网应用程序的语言,这种应用程序已经成为 Web 体验的重要部分。
三 Flash工具讲解 Flash工具箱中包括18种绘图工具,按照功能可以将它们分为2大类,分别为绘图类与辅助绘图类。其中,Flash工具箱由四大部分组成,分别为工具组、查看组、颜色组与选项组,在概述中已经做了初步的介绍,本章将针对各部分的各种工具进行更为细致的介绍,下面将简单介绍工具箱中各工具的名称及功能:
1. 工具组 14个
选择工具:可用它来抓取、选择、移动和改变形状,它是使用频率最多的工具。选择工具基本作用:选取作用、复制作用(按下alt键进行复制)、编辑作用(直的变弯,弯的变直,也即变形作用)、平滑或伸直。可以全选,也可以部分选
部分选取工具:曲线的本质是由节点与线段构成的路径。使用部分选取工具不仅可以抓取、选择、移动形状路径,而且可以改变形状路径。当使用绘图工具绘制好曲线的草图后,就可以使用“部分选取工具”进行一些必要的修改,以使其符合要求。图标
任意变形工具:可以自由变形对象,如扭曲、旋转与倾斜、缩放或者封套等变化。【渐变变形工具:可用来调整使用了渐变色或位图填充的图形外观】
3D旋转工具:可以旋转和倾斜对象,不过3D旋转工具只适用于影片剪辑元件,并且只有在ActionScript3.0文档中才能使用。【3D平移工具:可以用来平移影片剪辑】
套索工具:是一种比较灵活的选取工具,用户可以通过它手动选取所需的范围。使用套索工具选取的范围没有固定的形状,用户可以根据需要创建,所以属于自定义的选取范围。魔术棒工具:必须在分离状态才可使用、魔术棒设置、多边形模式
绘图组
钢笔工具:用于手动绘制路径,可以创建直线或者曲线段,然后可以调整直线段的角度和长度以及曲线段的斜率,是一种比较灵活的形状创建工具。选中钢笔工具,然后在舞台上点击鼠标,确定贝塞尔曲线上的节点的位置,可以创建路径。路径由贝塞尔曲线构成。可绘制任意形状的图形,也可作为选取工具将比较复杂的图像与背景分离。使用钢笔工具可以精确绘制直线和曲线,并可以调节曲线的曲率,使绘制的线条可按照预定的方向进行弯曲。
【添加锚点工具、删除锚点工具、转换锚点工具】
文本工具:在Flash中输入文字。分类:静态文本、动态文本、输入文本。
线条工具:绘制各种角度的直线,也即可以绘制出直线和斜线。主要用于绘制线条路径,并经常结合选取工具使用。
矩形工具:绘制矩形和正方形。【椭圆工具:绘制正圆和椭圆图形;基本矩形工具、基本椭圆工具、多角星形工具:可以绘制任意边数的等边多边形与星形。】
铅笔工具:绘制简单的矢量图形、运动路径等。使用铅笔工具,不但可以直接绘制出不封闭的直线、竖线和曲线,而且可以绘制出各种规则和不规则的封闭形状。使用铅笔工具所绘制的曲线通常不够精确,但可以通过编辑对其进行修整。
刷子工具:可以绘制出类似钢笔、毛笔和水彩笔的封闭形状,其绘制方法和使用铅笔工具绘制曲线相似。不同的是,使用刷子工具绘制的是一个封闭的填充形状,可以设置它的填充颜色,而使用铅笔工具绘制的则是笔触。主要作用是用于绘制矢量色块或者创建一些特殊效果,在Flash中,使用该工具创建的图形实际上是一个填充图形。可以设置刷子形状和刷子大小。刷子模式:标准绘画(颜色将路径分开,并覆盖其上面)、颜料填充(路径上并没有被填充,可以填充路径以里的图像)、后面绘画(绘制的图像在路径的外围)、颜料选择(激活状态下,替换颜色)、内部绘画(可以在激活也可以在不激活状态下,由内向外绘制)。
【喷涂刷工具:作用类似于粒子喷射器,使用它可以一次将形状图案“刷”到舞台上。默认情况下,使用当前选定的填充颜色喷射粒子点。也可以使用喷涂刷工具将影片剪辑或图形元件作为图案应用】
Deco工具:使用Deco绘画工具,可以对舞台上选定对象应用效果。将一个或多个元件与Deco工具一起使用,可以创建万花筒效果。共计有13种效果。
骨骼工具:此工具就像3D软件一样,可为动画角色添加上骨骼,可以很轻松地制作出各种动作的动画。【绑定工具】
颜料桶工具:给所选的封闭图形填充颜色,也可用来改变图形填充颜色。【墨水瓶工具:主要针对的是边框,可以给选定的矢量图形增加边线,还可以修改线条或形状轮廓的笔触颜色、宽度和样式。对直线或形状轮廓只能应用纯色,而不能应用渐变或位图】
滴管工具:从一个对象复制填充和笔触属性,然后立即将它们应用到其它对象。 橡皮擦工具:用于擦除对象。橡皮擦模式:标准擦除、擦除填色、擦除线条、擦除所选填充、内部填充。水龙头:类似于魔术橡皮擦。
2. 查看组 2个
手形工具:移动工作区,调整可视区域。
缩放工具:调整视图比例。
3. 颜色组 4个
笔触颜色:用来设置笔触的颜色。
填充颜色:用来设定填充的颜色。
黑白:设置笔触颜色为黑色,填充色为白色。
交换颜色:笔触颜色与填充色进行交换。
4. 选项组 未知个 20xx年1月3日21:24:44
选择不同的工具就会在选项组中显示相应工具的附加辅助选项
四 ①图层的操作与管理:新建图层、重命名图层、添加图层文件夹
②图像组合:ctrl+G或者选择修改—组合。图像排列:向上移动一层(修改—排列—向上移动一层,实质是图像的遮盖关系)。图像锁定:修改—排列—锁定,作用是固定图像的位置。图像对齐:主工具栏最后一项,或者是修改---对齐
第二篇:flash as笔记
Flash常用语mc 影片剪辑(MovieClip)as 动作脚本(actionscrip)Flash代码影片剪辑控制on 函数 (指专门给按钮添加命令)press 鼠标按下时 (通用于影片剪辑和按钮之间)release 鼠标释放时 releaseOutside 鼠标按下后在按钮或影片剪辑以外释放时rollOver 鼠标经过时rollOut 鼠标离开时DragOver 按住鼠标左键拖曳入感应区DragOut 按住鼠标左键拖曳出感应区KeyPress 按下键盘的某个按键(例如 keyPress "<Left>" 键盘按下左方向键例如 on (press) {_root.xxx.play(); }_root 指当前场景下的主时间轴 xxx指控制对象名称 play()指对控制对象执行的命令onClipEvent 函数 (这指专门给电影剪辑添加命令的语句)load 当影片片断第一次加载道时间轴时,会触发本事件一次 unload 当影片片断被删除时,会触发本事件一次enterFrame 当影片片断加载时间轴时,不论是放映或停止状态或显示与否,都会不断触 发本事件。所以只要此片断被加载后,此事件会一直不断地执行,直到影片片断被删除为止mouseDown 当鼠标左键被按下时,会触发本事件一次。mouseMove 只要在场景中移动鼠标,就会不断触发本事件mouseUp 当被按下的鼠标左键被放开时,会触发本事件一次keyDown 当键盘被按下时,会触发本事件keyUp 当已按下的键盘被松开时,会触发本事件一次例如 onClipEvent (keyDown) {this.stop();}this 指当前物体时间轴控制gotoAndPlay(); 跳到某一帧并且播放gotoAndStop(); 跳到某一帧并且停止nextFrame(); 转到下一帧prevFrame(); 转到上一帧nextScene(); 转到下一场景prevScene(); 转到上一场景stopAllSounds(); 停止播放所有声音x x轴变动y y轴变动width 宽度变动height 高度变动例如on (release) {_root.wjx._width = _root.wjx._width + 30;}var 声明局部变量例如 var textA trace 输出取模运算:两数值相除,取余数作为运算结果(取模运算符号为%)number 字符 如100string 字符串 如"100"比较运算符!= 不等于运算符(会把不同类型的数据转换成相同的数据进行比较)!== 完全不等于运算符(不同类型的数据就是不同类型的不会进行转换)逻辑运算符 (boolean 逻辑)例如 on (release) {testA = true;testB = true;testBoolean = testA && testB;if (testBoolean){testString = "条件成立" + testBoolean;}else{testString = "条件不
成立" + testBoolean;}}算数运算符例如 on (release) {testA = 100;testB = 200;testNumber = testA + testB;}testNumver 是动态文本变量 最后运算结果为300赋值-= 例如 on (release) {testA = 100;testB = 200;trace (testA-=testB);} 运算结果结果就是testA-testBif语句例如 on (release) {if(textA==1){_root.wbx.gotoAndPlay(2);}else{_root.wbx.gotoAndPlay(21);}}= 指赋予一个数值 == 指等于 else 否则 textA 当前变量if语句的嵌套on (release) {var testA = 10;var testB = 20;if (testA < 100){if (testB > 30){trace("符合所有条件");}else{trace("仅符合第一个条件");}}}for语句 (循环)例如 on (release) {var sum:Number = 0;for (i = 0; i < 100; i++){sum = sum + i;}testNumber = sum;}i 是循环变量 i<=100 是循环条件 i++ 是每次循环自加1 Number 数值型变量 sum 总和 备注:当i<=100时,运算结果为5050,即从1一直加到100。for语句的嵌套例如 on (release) {for (i = 0; i < 10; i++){for (j = 0; j < 5; j++){trace("i的当前值为:" + i + "j的当前值为:" + j);}}}while语句例如 on (release) {var testA = 0;var i = 0;while (i < 100){testA = testA + i;i = i + 1;}testNumber = testA;} 备注:当i<100时,运算结果为4950,即从1一直加到99。while语句的嵌套例如 on (release) {var i = 0;while (i < 10){var j = 0;while (j < 5){j = j + 1;trace("i的当前值为:" + i + "j的当前值为:" + j);}i = i + 1;}}do{}while()语句例如 on (release) {var sum:Number = 0;var i:Number = 1000;do{sum = sum + i;i = i + 1;} while (i < 100);testNumber = sum;}备注:do while于 while的区别,就在于不管while里面是什么,都会执行do中的代码,然后再看是否满足while中的条件。例句 运算结果为1000do{}while()语句的嵌套例如 on (release) {var i = 0;do{var j = 0;do{trace("i的当前值为" + i + " j的当前值为" + j);j = j + 1;} while (j < 3);i = i + 1;} while (i < 8);}switch语句例如 on (release) {var testA = 100;switch (testA){case 100 :testNumber = "当前值为100";break;case 60 :testNumber = "当前值为60";break;case 30 :testNumber = "当前值为30";break;default :testNumber = "当前值为其他";}}备注:case 100:表示当testA=100时输出当前数值。breake 中断退出封闭循环,即如果没有break就会继续向下运算直到最后一个所以会显示“当前值为其他”break 和 continue语句例如
on (release) {var i = 0;while (i < 100){i = i + 1;if (i == 8){break;}trace(i);}} 备注:如果是break只会输出到7后面的循环中断;如果break替换成continue则跳过8后继续向下输出。数组 (Array)_rotation 是控制旋转角度Flash ActionScript3.0代码/*注释内容*/ 多行注释//注释内容 单行注释function(){}定义语句 (表示声明函数)例如function HelloAS(){trace("AS3.0世界欢迎你!");}HelloAS();备注:输出结果为 AS3.0世界欢饮你!for……in 语句例如var lzxt:Object = {name:"浪子啸天",age:30};for (var i:String in lzxt){trace("for in语句输出:"+i+":"+lzxt[i]);}备注:如果去掉+i+不会输出 name 和 age 直接输出 浪子啸天 和 30for each……in 语句例如var lzxt:Object = {name:"浪子啸天",age:30};for each (var k:String in lzxt){trace("for each 语句输出:"+k);}函数的返回值return 语句例如function 圆面积(r:Number):Number{var s:Number = Math.PI * r * r;return s;}trace(圆面积(5));备注:Math.PI 圆周率π