第十二课:脚本动画的制作
12-1、什么是脚本(Action Script2.0和Action Script3.0)
(1)所谓的脚本(又名为动作脚本)指的就是一条命令语句,一段代码,当某事件发生或某条件成立时,就会发出命令来执行设置的语句和代码。从而可以制作交互性动画。(2)在flash中并不是任何对象都可以添加动作脚本的,只有以下三类对象可以添加:
A、关键帧(也包括空白关键帧)
B、按钮
C、影片剪辑
(3)如何给这些对象(包括关键帧、按钮、影片剪辑)添加动作脚本呢?要想为哪个对象添加动作脚本首先要选中该对象,然后打开动作面板就可以添加了。动作面板就是为各对象添加动作脚本的地方。
(4)打开动作面板的方法:
A、窗口——动作
B、按F9键
C、单击右键
(5)动作面板的组成
12-2、各对象上脚本执行的条件——帧脚本
(1)以下三类对象可以添加脚本:
A、关键帧(也包括空白关键帧)
B、按钮
C、影片剪辑
(2)帧上的脚本:在关键帧上添加的脚本只有当磁头播放到这个帧时,代码(脚本)才会被执行。
(3)添加代码时分为标准模式和专家模式两种,在标准模式下只能通过选项去添加代码,在专家模式下一般通过手工书写添加代码,在书写代码时代码是区分大小写的。如:play与Play被认为两种不同的含义。
(3)全局函数——时间轴控制——goto/play/stop/stopAllSound
stop:停止播放影片。
12-3、goto语句的使用1
(1)全局函数——时间轴控制——goto/play/stop/stopAllSound
play:播放影片
stopAllSoun d:停止所有声音。
goto:表示跳转的意思,可以跳转到指定的帧,也可以跳转到指定的场景。
gotoAndPlay:表示跳转到目的位置继续播放。
gotoAndStop:表示跳转到目的位置停止播放。
12-4、goto语句的使用2
(1)帧标签:给帧取个名字
(2)新建场景的方法:
方法一:插入——场景
方法二:窗口——其它面板——场景
(3)在一个动画中如果有多个场景动画是按场景的顺序进行播放的。
12-5、脚本动画—loading进度条1
12-6、脚本动画—loading进度条2
(1)if….else…判断语句的格式:(如果……否则……)
if(条件)
{ 语句1
}
else{ 语句2 }
表示如果条件成立就执行语句1,否则(条件不成立)就执行语句2。
12-7、各对象上脚本执行的条件——按钮脚本
(1)按钮脚本的格式:
on(鼠标事件)
{
语句1
}
表示选择不同的鼠标事件来执行语句1
(2)按钮上的脚本:在按钮上添加的脚本可以通过以下方式来执行,这些方式统称为鼠标事件。
A、按(press):指鼠标在按钮上点下去。
B、释放(release):指鼠标在按钮上点下去并释放。
C、外部释放(releaseOutside):指鼠标在按钮上点下去然后移动到按钮外部释放。
D、按键:指按键盘上某个键。
E、滑过(rollOver):指鼠标移到按钮上。
F、滑离(rollOut):指鼠标移到按钮上并离开。
G、拖过(dragOver):在按钮上按下鼠标然后指针滑出按钮区域,再次滑入按钮区域时
触发。
F、拖离(dragOut):在按钮上按下鼠标然后指针滑出按钮区域时触发。
12-8、脚本实例--控制动画的播放
(1)prevFrame:上一帧
(2)nextFrame:下一帧
12-9、脚本实例—网页和邮箱的链接
(1)getURL:链接到一个地址。(URL:统一资源定位器)
(2)网页链接:开头要加http:\\
(3)邮箱链接:开头要加mailto:
12-10、脚本实例--随机抽牌
(1)random:随机函数
注:random(13):表示从0-12这13个数字当中随机选一个。
12-11、脚本实例--全屏切换
(1)fscommand函数
A、fullscreen:全屏
true:真(全屏)
false:假(标准)
B、quit:退出(关闭)
C、showmenu:显示菜单
D、allowscale:画面缩放
(2)文件——发布(可以同时生成多种格式文件)
12-12、脚本实例--框架1
(1)LoadMovie:载入swf文件或图片等元素到当前影片中。
(2)所有的swf文件必须放在同一个文件夹中。
12-13、脚本实例--框架2
12-14、脚本实例--浏览图片
12-15、各对象上脚本执行的条件——影片剪辑脚本
(1)影片剪辑脚本的格式:
onClipEvent(影片剪辑事件)
{
语句1
}
表示选择不同的影片剪辑事件来执行语句1
(2)影片剪辑上的脚本:在影片剪辑上添加的脚本可以通过以下方式来执行,这些方式统称为影片剪辑事件。
A、加载:影片剪辑被实例化,出现在时间轴上时触发(当影片剪辑被载入时)
B、进入帧:当影片剪辑存在时间轴上时,以帧频的频率触发。
C、卸载:当时间轴上影片剪辑被删除时,优先触发
D、鼠标向下:指鼠标点下去(左键)。
E、鼠标向上:指鼠标点下去后松开(左键)。
F、鼠标移动:指移动鼠标。
G、向下键:指按下键盘上某个键。
F、向上键:指释放键盘上某个键。
12-16、路径的概念1
(1)路径:路径用来描述对象所在的位置。
(2)路径的分类:路径分为绝对路径和相对路径
A、绝对路径:表示从主场景开始来描述对象的位置,前面要加“_root”表示主场景。
B、相对路径:表示从选定的对象位置开始来描述物体的位置,前面要加“this”表示
选定的对象。
12-17、路径的概念2
(1)默认情况下给按钮添加的脚本只对按钮所在的场景起作用。
(2)点语法:点语法中的点(.)表示“……中的”。
12-18、脚本实例—移动的菜单1
12-19、脚本实例—移动的菜单2
12-20、startDrag与stopDrag
(1)startDrag:开始拖动。
(2)stopDrag:停止拖动。
12-21、脚本实例—自定义光标
(1)加载:当影片剪辑被载入时
(2)隐藏光标可以通过:“ActionScript 2.0类——影片——Mouse——方法——hide”或者直接输入:“Mouse.hide()”也可以。(注意大小写)
(3)对于同一个动画效果可以通过给不同的对象添加代码来实现。
12-22、获取影片剪辑的属性
(1)属性:在现实生活中每个物体都有自身的特征和属性。这些特征和属性包括大小、颜色、位置、不透明度等等。这些我们在flash中都称之为属性。
(2)影片剪辑的属性包括:
_alpha:不透明度。
_height:高度。
_rotation:旋转角度。
_visible:可见性。
_width:宽度。
_x:x方向的坐标。
_xscale:水平方向缩放比例。
_y:y方向的坐标。
_yscale:垂直方向缩放比例。
注意:在写影片剪辑属性时,前面要加下划线“_”。
(3)获取影片剪辑的属性有以下两种方法:
A、getProperty(路径.实例名称,实例属性)
B、路径.实例名称.实例属性
(4)getProperty:获取影片剪辑的属性。
12-23、脚本实例—时时获取小球的坐标
(1)updateAfterEvent:更新舞台。
12-24、设置影片剪辑的属性
(1)setProperty:设置影片剪辑的属性。
(2)设置影片剪辑的属性有以下两种方法:
A、setProperty(路径.实例名称,实例属性,设置数值)
B、路径.实例名称.实例属性=设置数值
12-25、脚本实例—遥控对象1
12-26、脚本实例—遥控对象2
12-27、脚本实例—遥控对象3
12-28、脚本实例—遥控对象4
12-29、脚本实例—下拉菜单1
12-30、脚本实例—下拉菜单2
(1)_visible:表示对象的可见性。当值为true时表示可见,当值为false时表示不可见。(2)当有多个按钮同时设置了链接并且重叠一起时,只有最上面的按钮起作用。
12-31、脚本实例—无缝图片滚动1
12-32、脚本实例—无缝图片滚动2
12-33、复制影片剪辑(duplicateMovieCli p)函数
(1)duplicateMovieClip:复制影片剪辑。
格式:duplicateMovieClip(目标,新名称,深度)
A、目标:指定要复制的对象。
B、新名称:指定复制出来新对象名称。
C、深度:指的是层。复制出来的多个新对象不能放在同一个层中,否则容易被遮挡。12-34、脚本实例—下雨效果1
12-35、脚本实例—下雨效果2
(1)“a”+i的含义:
A、“a”表示一个字符a
B、i是一变量,也就是说当i=1时,“a”+i表示的是a1,当i=2时“a”+i表示的是
a2,依此类推。
(2)通过“a”+i这种书写方式,可以根据i值的不断变化,从而可以使复制出来的多个影片剪辑名称保持不同。
12-36、脚本实例—用自定义函数时时获取鼠标的位置
(1)函数的分类:函数分为库函数和自定义函数两种。
A、库函数:比如像前面所讲的duplicateMovieCli p(复制影片剪辑)、setProperty(设置
属性)、getProperty(获取属性)等等都是库函数,对于这些库函数只要大
家会调用会使用就行了。
B、自定义函数:为了让一系列语句便于整体调用,可以将这一系列语句用大括号{}括
起来,看成是一个整体,并将这个整体取一个名称,这个名称就是自
定义函数名。
格式:function 自定义函数名(参数){
执行的一系列语句
}
(2)return:用来返回自定义函数值。即自定义函数的值等于返回的值。还有一些自定义函数完成一系列任务以后,但不返回值。
(3)_xmouse:获取鼠标X方向坐标值。
(4)_ymouse:获取鼠标Y方向坐标值。
(5)setInterval:定时函数。表示每隔多长时间就执行一次。(时间以毫秒作为单位)格式:setInterval(函数名,间隔时间)
12-37、脚本实例—计算圆的面积1
(1)输入文本:这种文本可以在文本框内输入文本。
(2)对于输入文本和动态文本,既可以取实例名也可以取变量名,那么实例名与变量名有什么区别呢?
(3)实例名就是这个文本框的名称,也是这个文本框的唯一标识名。而变量是文本框中的值,即文本框中显示的内容,是一个可变的量,你可以通过变量给文本框赋值,赋值后文本框中的内容就会发生变化,而此时这个文本框的实例名并没有改变。当然也可以通过实例名给文本框赋值。
(4)通过不同方式赋值的格式:(变量名:i 实例名:b 要给文本框赋5这个值)
A、通过变量赋值:i=5
B、通过实例名赋值:b.text=5
12-38、脚本实例—计算圆的面积2
(1)自定义函数格式:function 自定义函数名(参数){
执行的一系列语句
}
(2)Math.PI:表示数字中的π
12-39、脚本实例—鼠标跟随
12-40、脚本实例—键盘响应1
12-41、脚本实例—键盘响应2
(1)要控制影片剪辑中的动画也可以用以下语句:
with (影片剪辑名称) {
执行的语句
}
(2)Key.getAscii():获取按下键的ASCII码值。
(3)chr(Key.getAscii()):获取编码相对应的字符。
(4