首 页免费信息软件下载在线电视QQ空间克隆免费博客论 坛
您当前的位置:鸿飞官方免费资源网免费信息设计制作FLASH教程 → 文章内容 退出登录 用户管理
本类热门文章
相关文章
 
flash 动作脚本大全
作者:鸿飞  来源:本站整理  发布时间:2008-5-24 12:37:16

减小字体 增大字体

的影片剪辑中,只需要将this换成父剪辑的实例名称即可。
7.1.3 附加影片剪辑
attachMovie方法也是在影片播放时创建影片剪辑的实例,它与duplicateMovieClip不同的是,attachMovie方法不需要使用父影片剪辑,而是将库中影片剪辑的实例附加到场景中。
要使用attachMovie方法,首先需要在库面板中为要附加到场景中的影片剪辑添加链接。为影片剪辑添加链接的方法如下:
(1)在库面板中要添加链接的影片剪辑上单击鼠标右键,在弹出的快捷菜单中选择“链接”命令。
(2)系统弹出“链接属性”对话框,如图7-1所示。

(3)在“链接:”后选中“为动作脚本导出”复选框,“为运行时共享导入”复选框自动变为选中状态,“标识符”文本框变为可用,并将影片剪辑的元件名称作为默认的链接标识符,

(4)单击“确定”按钮,添加链接后的库面板

为影片剪辑添加链接后,就可以在动作脚本中调用它,如下所示:
attachMovie("blackchess", "chess1", 100);
第1个参数即在库面板中添加的链接名称,第2个参数和第3个参数的意义和使用方法与duplicateMovieClip中相同位置的参数类似。
在使用attachMovie方法将影片剪辑实例附加到场景中后,该实例将默认出现在场景左上角,即坐标原点的位置,所以仍然需要调整它的位置等属性。
7.1.4 删除影片剪辑
通过以上方法创建的影片剪辑实例都可以使用removeMovieClip动作(动作面板的“动作”/“影片剪辑控制”目录)或MovieClip对象的removeMovieClip方法删除,如下所示:
n = 50;
for (i=0; i<n; i++) {
removeMovieClip(_root["childMC"+i]);
}
7.2 练习:动态添加影片剪辑
本例是一个运用了duplicateMovieClip和attachMovie命令的鼠标跟随特效动画,
本例使用attachMovie命令将鱼附加到场景中的,使用duplicateMovieClip命令复制荷花影片剪辑以调整它的深度级别,使其保持在鱼的上面。

该文件只有两层,图层1用来处理鱼,图层2用来处理荷花。场景中只添加了荷花影片剪辑,它的实例名称与元件名称同为picMC。在库面板中为鱼的身体元件设置了链接,链接标识符与元件名称相同。
(1)在图层1的第1帧添加如下ActionScript:
unit = 20; //鱼的分段数:20
v0 = 12; //鱼的游动速度
v1 = 2/3; //鱼身紧骤程度
v2 = 3; //鱼身大小递减速度
var x = new Array(); //创建横坐标数组
var y = new Array(); //创建纵坐标数组
for (i=1; i<=unit; i++) {
if (i == 1) {
attachMovie("head", "fish"+i, unit+1-i); //在第1节附加鱼头
} else if ((i == 4) or (i == 13)) {
attachMovie("fin", "fish"+i, unit+1-i); //在第4和13节附加鱼鳍
} else {
attachMovie("body", "fish"+i, unit+1-i); //在其他节附加鱼身
}
_root["fish"+i]._xscale = 50-v2*(i-1); //宽度递减
_root["fish"+i]._yscale = 60-v2*(i-1); //高度递减
_root["fish"+i]._alpha = 100-(100/unit)*i; //透明度递减
}
(2)在图层1的第2帧添加如下ActionScript:
x[0] += (_xmouse-x[0])/v0;
y[0] += (_ymouse-y[0])/v0;
for (i=1; i<=unit; i++) {
x[i] = x[i]+(x[i-1]-x[i])*v1;
y[i] = y[i]+(y[i-1]-y[i])*v1;
} //为数组元素赋值
for (i=1; i<=unit; i++) {
_root["fish"+i]._x = (x[i-1]+x[i])/2;
_root["fish"+i]._y = (y[i-1]+y[i])/2;
_root["fish"+i]._rotation = 90+180/Math.PI*Math.atan2((y[i]-y[i-1]), (x[i]-x[i-1]));
} //确定鱼身各节坐标位置和旋转方向
(3)在图层1的第3帧添加如下ActionScript:
gotoAndPlay(2);
该行语句令影片回到第2帧重新确定鱼身各节的位置。
(4)将荷花影片剪辑picMC拖放到图层2,并在属性面板中将其实例命名为picMC。选中该影片剪辑实例,在其动作面板中添加如下ActionScript:
duplicateMovieClip("picMC", "pic", 30);
该行语句复制荷花,并将其深度级别设为30。因为在鱼身各节中,鱼头的深度级别最高,为20,这里只要是一个大于20的数即可将荷花置于鱼的上面。
(5)按Ctrl+Enter测试影片,
第8章

响应键盘

有4种方法可以检测键盘上的按键动作。第1种方法是使用按钮,第2种方法是使用Key对象,第3种方法是使用键盘侦听,第4种方法是使用影片剪辑的keyUp和keyDown事件处理函数。

8.1 通过按钮检测按键动作
在按钮的on事件处理函数中不但可以对鼠标事件作出响应,而且可以对键盘事件作出响应。如在按钮的动作面板中加入如下所示的代码,在敲击键盘上的A键时输出窗口中将提示:A is pressed。
on (keyPress "a") {
trace("A is pressed");
}
检测键盘上的字母键时,字母都应为小写。如果要检测键盘中的特殊键,如方向键,Flash中有一些专门的代码来表示它们,如表8-1所示。
表8-1 键盘中的特殊键
<Left> <Right> <Up> <Down> <Space>
<Home> <End> <Insert> <PageUp> <PageDown>
<Enter> <Delete> <Backspace> <Tab> <Escape>
如要检测键盘上的<End>键,可以使用下面的ActionScript:
on (keyPress "<End>") {
trace("End is pressed");
}
您可以在一个按钮中加入若干个on函数,也可以在一个on函数中结合多种事件,这使您可以为按钮定义快捷键,如下所示:
on (release, keyPress "<Left>") {
_root.myMC.prevFrame();
}
上面的语句实现单击按钮或按键盘上的左方向键,控制影片剪辑myMC回退1帧。
8.2 影片剪辑的keyUp和keyDown事件
影片剪辑包含两个与键盘相关的事件keyUp和keyDown,使用它们也可以实现对按键事件的响应,如下所示:
onClipEvent (keyDown) {
trace(Key.getAscii());
}
函数Key.getAscii返回与按键相对应的ASCII码。ASCII码是一个整数,键盘上的每个字符对应一个ASCII码,如字母A对应的ASCII码为65,B对应的ASCII码为66,a对应的ASCII码为97, b对应的ASCII码为98,+对应的ASCII码为43等。只有字符才有ASCII码,键盘上的功能键没有ASCII码。
如果需要在输出窗口中输出与按键相对应的字符,可以使用String对象的fromCharCode函数将ASCII码转换成字符,如将上例的trace命令改成如下所示:
trace(String.fromCharCode(Key.getAscii()));
String对象见动作面板的“对象”/“核心”目录下面。
8.3 Key对象
利用按

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18]  下一页

推荐:本站站长(鸿飞)原创软件免费赠送

温馨提示:如果发现资源地址无效时,请在下面的评论上留言,我会及时处理!谢谢!

[] [返回上一页] [打 印]
文章评论 (评论内容只代表网友观点,与本站立场无关!)

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

关于本站 - 网站帮助 - 广告合作 - 下载声明 - 有情连接 - 网站地图 - 发布信息

Copyright © 2007-2008 鸿飞免费资源网:www.fei2yu.com. All Rights Reserved

站 长:鸿飞    Q Q:250118591    蜀ICP备07502538号