FLASH学习笔记.docx
《FLASH学习笔记.docx》由会员分享,可在线阅读,更多相关《FLASH学习笔记.docx(18页珍藏版)》请在冰豆网上搜索。
FLASH学习笔记
FLASH学习笔记
1、文件格式:
FLA:
源文件格式,可编辑动画内容
SWF:
电影播放文件,只能用于观看
EXE:
可执行播放文件,不依赖FlashPlayer
2、发布测试:
对影片的测试Ctrl+Enter
3、帧频:
用于控制动画的播放速度,帧频越大动画播放越快,帧频越小动画播放越慢。
通常情况下,用于网络传播时设置为24FPS比较流畅,默认为12FPS。
帧频FPS=总帧数TotalFrames/播放时间Second
4、主要面板操作:
库面板,颜色面板,组件面板,变形面板,属性面板
5、主选工具
选择、移动、分割离散对象、调整路径外观、单击选择局部,双击选择全部
6、次选工具
调整路径外观(精确控制角点和曲线点)
7、缩放工具
固定中心点缩放按下ALT,而等比例缩放按下SHIFT键。
8、离散与群组
对象绘制为群组状态,离散(CTRL+G)------组合(CTRL+B或SHIFT+CTRL+G)--------离散
9、矩形工具
绘制圆角矩形时,不松开鼠标的同时按下上下方向键可以动态调用圆角半径的值。
10、打开库面板CTRL+L
11、关于字体
设备字体:
不将字体信息存入FlashPlayer,而调用系统默认的字体来代替
嵌入字体:
保存特殊字体到播放器,显示特殊外观。
静态文本:
常规的文字内容
动态文本:
需要动态更改文本的内容时,通常是用AS来编程
输入文本:
获取用户输入的内容,通过AS编程
12、动画的原理:
由一续列连续的静止不变画面按一定的速率播放就形成动画。
每一张画面在FLASH就称为一个关键帧(通过每秒播放24张及以上眼睛不会有停顿感觉)
13、动画制作基本知识
A、帧的分类:
普通帧:
延时F5
过渡帧:
在两个关键帧之间产生渐变的帧F5
关键帧:
动画渐变过程中起绝对作用的帧F6
空白关键帧:
对一段动画的终止,或者放脚本,或者命名帧标签F7
B、层的分类:
普通层:
常规的动画制作
引导层:
放置引导线,让动画围绕它运动
被引导层:
被引导的一段或多段动画
遮罩层:
放置动画的外观形状
被遮罩层:
被遮罩的动画
层文件夹:
对图层进行分类管理
C、元件的类型
转换为元件F8,动作面板F9,发布测试F12
图形元件:
一般元件内部没有动画,没有独立时间轴,不能AS编程
影片剪辑:
元件内部及主时间轴都有动画,有独立时间轴,可以AS编程
按钮:
用于影片的交互控制
14、5种动画型:
(1)逐帧动画:
每一个帧都是关键帧,并且要为每一个帧绘制相应的画面。
用于动作非常复杂,不是简单的位置,大小,颜色,不透明度,旋转角度等变化。
(2)动作补间动画
适合于对象的大小,位置,不透明度,旋转角度,颜色等变化的动画。
缓动值的作用控制的加减速运动,0匀速,正值表示减速,负值表示加速。
每个关键帧上的对象必须是元件实例,并且只能放一个对象。
实例具有单独的属性,元件是所有引用此实例的公共属性。
(3)形状补间动画
适合于几何形体发生变化的动画,也可以做对象属性变化的动画,但是形状补间动画比较消耗系统资源,应尽量少用。
关键帧上要以放一个或多个离散对象。
形状提示点可以让形变动画更为真实,总共有A-Z 26个。
(4)引导线动画
解决动画的曲线运动问题。
A、对引导层的要求:
引导线必须是开放的路径;引导线必须是离散;引导线不能断裂
B、对被引导动画的要求:
只有动作补间动画才可以被引导;开始关键帧上的元件实例的中心点要与引导路径的首端对齐,结束关键帧上的元件实例的中心点要与引导路径的尾端对齐。
一段引导路径可以引导多个动画,引层上的对象不随影片一起发布。
(5)遮罩动画
“上形下色”
遮罩层放置动画我外观形状,而被遮罩层放动画对象。
笔触不能用于遮罩,只有填充才可以就用于遮罩动画的外观。
笔触转填充(修改――形状――将笔触转换为填充)
15、FLASH中支持的音频格式
WAV:
音质好,文件体积大,不便于网络传播44.1KHZ
MP3:
采用低采样率进行压缩,音质好,文件体积小,通常用于网络传播
WMA:
微软互联网音频格式,压缩比例为1:
18,采用DRM技术防盗版
AIFF:
苹果公司音频格式
AU:
SUN公司音频格式
事件音频:
用于短小的音乐,比例按钮上使用的,只要一个帧就要以播放完成。
数据流音频:
适合于比较长的背景音乐或配乐,要求时间轴于音频同步。
采样率:
指单位时间内对音频的采集次数,采样率越大音质越好,单位KHZ(千赫兹)
音频编辑软件:
sound_forge6.0CoolEditGoldWave
常见的广告类型:
1、通栏广告980X80PX高度60-100PX,大小限定在30KB以内
2、旗帜广告468X60PX大小限定在20KB以内
3、图标广告(大的LOGO)120X60PX10KB以内
4、对联广告100X300PX或80X250PX20KB以内
5、随意漂浮80X80PX20KB以内
让FLASH在网页中透明显示
AS2.0学习
1、FLASH中脚本的分类:
帧脚本:
放在关键帧上,不需要事件
按钮脚本:
放到按钮实例上,用按钮事件触发
影片脚本:
放到影片实例上,用影片事件触发
2、按钮的响应机制:
On(按钮事件)
{
//被执行的脚本
}
常用的事件摘要
事件
说明
DragOut
当在按钮上单击鼠标按键,然后将鼠标指针拖动到按钮之外时调用。
DragOver
当用户在按钮外部按下鼠标按键,然后将鼠标指针拖动到按钮之上时调用。
KeyDown
当按钮具有键盘焦点而且按下某按键时调用。
KeyUp
当按钮具有输入焦点而且释放某按键时调用。
KillFocus
当按钮失去键盘焦点时调用。
Press
当按下按钮时调用。
Release
当释放按钮时调用。
ReleaseOutside
在这样的情况下调用:
在鼠标指针位于按钮内部的情况下按下按钮,然后将鼠标指针移到该按钮外部并释放鼠标按键。
RollOut
当鼠标指针移至按钮区域之外时调用。
RollOver
当鼠标指针移过按钮区域时调用。
SetFocus
当按钮接收键盘焦点时调用。
例子:
单击按钮时就打开新浪网
On(press)
{
getURL(“”,“_blank”)
}
getURL(“网址”,“窗口打开方式”,“数据传输方法”)
3、AS的语法规则是区分大小写的,例:
VarA=10;
Vara=5;
Trace(A+a);
4、时间轴控制语句
gotoAndPlay(帧数字或“帧标签”);跳转到某个帧或某个场景的某个帧上播放
gotoAndStop(帧数字或“帧标签”);…………………………………………暂停
play()播放
stop()暂停
nextFrame();到下一个帧暂停
prevFrame();到上一个帧暂停
nextScene();到下一个场景暂停
prevScene();到上一个场景暂停
5、路径的表示方法
绝对路径:
以主时间轴为起点来表示各实例所处的位置,通常是以_root.____
相对路径:
以当前实例所处的位置为基准来表示其他实例的位置,通常是以this.____或_parent.____
6、fscommand()用法
用于播放或浏览的控制,比如:
全屏,显示右键菜单,允许缩放,退出
常用的命令及参数:
命令
参数
作用
quit
无
关闭放映文件。
fullscreen
true或false
true可将FlashPlayer设置为全屏模式false不全屏。
allowscale
true或false
false不进行缩放。
True要缩放
showmenu
true或false
true显示右键菜单项false隐藏右键菜单项
7、LoadMovie()和UnloadMovie()
用于加载或卸载外部素材文件(swf、JPG、GIF、PNG)到目标影片剪辑
载入素材的位置以目标影片剪辑的注册点为原点。
loadMovie(“外部文件的路径”,“目标影片剪辑实例”,[“方法”])
例:
要将a.jpg图片加载到test_mc的目标影片中
loadMovie(“a.jpg”,“_root.test_mc”)
UnloadMovie(“目标影片剪辑实例”)
loadMovieNum(“外部文件的路径”,层级编号,[“方法”])
unloadMovieNum(层级编号)
区别:
loadMovie可以精确控制载入素材的坐标位置,而loadMovieNum只能以影片的原点为坐标点。
8、条件语句
如果if
。
。
。
那么else
。
。
。
语法结构:
If(条件表达式)
{
//条件成立执行语句
}
Else
{
//条件不成立执行语句
}
9、数字类型转换
isNaN函数:
是否是数字,不是数字返为true
Number函数:
转换为数字
int函数:
截尾取整
Math.round方法:
四舍五入取整
parseInt函数:
将字符串转换为整数
10、影片剪辑脚本
响应机制:
onClipEvent(影片事件)
{
//被执行的脚本
}
常用的影片事件:
∙load影片实例被加载时
∙unload影片实例被删除时
∙enterFrame以影片剪辑的帧频连续触发该动作。
∙mouseMove移动鼠标时启动此动作。
∙mouseDown当按下鼠标左键时启动此动作。
∙mouseUp当释放鼠标左键时启动此动作。
∙keyDown当按下某个键时启动此动作。
∙keyUp当释放某个键时启动此动作。
∙data接收到数据时启动该动作。
11、控制影片的脚本
startDrag函数允许拖动影片实例
startDrag(“目标影片实例”,允许锁定中心否,左,上,右,下)
stopDrag()停止拖动
12、影片剪辑的实例属性
test_mc._alpha//不透明度
test_mc._width
test_mc._height
test_mc._rotation//旋转角度
test_mc._visible//是否可见
test_mc._x
test_mc._y
test_mc._xmouse//鼠标横坐标位置
test_mc._ymouse
test_mc._xscale//横向绽放比例
test_mc._yscale
test_mc._quality//影片品质
test_mc._framesloaded//已下载帧数
test_mc._totalframes//影片总的帧数
test_mc.getBytesLoaded()//已下载字节数
test_mc.getBytesTotal()//影片总的字节数
13、复制和删除影片
duplicateMovieClip(“目标”,“新名称”,深度)复制
removeMovieClip(“目标”)删除
14、设置和获取属性
setProperty(“目标”,属性,值)设置实例的属性值
getProperty(“目标”,属性)获取。
。
。
。
。
。
。
。
。
。
。
15、随机数
Math.random()产生0-1之间的随机数字
产生指定范围的随机数:
Math.random()*(max-min+1))+min
16、Color类
设置影片剪辑的RGB颜色值
方法:
setRGB(0xRRGGBB)设置16进制的颜色值
getRGB()获取颜色值
例:
随机显示颜色并获取值
varrandomColor:
Color=newColor(this);
randomColor.setRGB(random(0xffffff));
trace(randomColor.getRGB());
17、循环语句
(1)while循环
while(条件表达式)
{
//重复执行语句
//变量自增或自减的语句
}
例1:
varx=1;
while(x<=100){
if(x%3==0){
trace("第"+x+"次循环!
");
}
x++;
}
例2:
//求1+3+5+7...+99的和
vari=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之间偶数的累加和
varsum=0;
for(vari=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)){
case1:
weekday="星期一";
break;
case2:
weekday="星期二";
break;
case3:
weekday="星期三";
break;
case4:
weekday="星期四";
break;
case5:
weekday="星期五";
break;
case6:
weekday="星期六";
break;
case7:
weekday="星期天";
break;
default:
weekday="星期理论上不存在";
break;
}
If(week==1)
{
}
Elseif(week==2)
{
}
Elseif(week==3)
{
}
……
Elseif(week==7)
{
}
Else
{
}
19、日期和时间对象
日期对象Date,使用时采用newDate()
方法摘要
签名
说明
getDate():
Number
几号(1到31之间的整数)。
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():
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
分钟值,并以毫秒为单位返回新时间。
setMonth(month:
Number,[date:
Number]):
Number
月份,并以毫秒为单位返回新时间。
setSeconds(second:
Number):
Number
秒钟值,并以毫秒为单位返回新时间。
20、自定义函数
第一种用法:
function函数名称([参数1,参数2,...参数N])
{
//自定义的函数内容
//return返回结果
}
第二种用法:
目标实例.事件=function()
{
//自定义的函数内容
}
例1:
求任意两个数之间的累加和
functionSumAdd(x:
Number,y:
Number){
varsum=0;
while(x<=y){
sum=sum+x;
x++;
}
returnsum;
}
//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、