一场 AS 接力跑的棒交到我手了,前面轻舟一叶的起跑很出色,后面随意的冲刺将更精彩,接力赛跑两头的当然由最有实力的选手出场,俺这跑中间的速度是没办法,但棒可不能给丢了,要尽职尽责地完成组织上交给的任务。
本阶段学习的内容,基本是对前阶段学习的知识进一步的应用,同时也适当增添新的内容,力求制作的实例能成为大家今后创作时可利用的资源,更重要的是帮助初学者引领思路,掌握些基本的编写技巧,提高 Flash 的创作技能。
拾级进阶--2.1循环按钮
本节问题讨论交流 源文件下载 本讲录音下载
实例2-1循环按钮
⑴ 基本思路
①按钮触发事件发生后有可执行的两个以上的命令。
②由条件判断语句来执行不同的命令。
③按钮的外观要有相应的切换(如果需要)。
此外还有不同的思路,将若干个按钮放在一个 MC 不同的关键帧上,执行一次按钮动作后跳转帧,效果虽然相同,但制作麻烦,不符合我们使用 AS 的理念,不作为本节学习的内容。
(见源文件 21.2 )
(2)新知识点
%(模)的应用, n%m 的意思是 n 除以 m 的余数,例如 10%3 的返回值是 1 , 3%10 的返回值是 3 ,一个递增变量对一个常数求模可以得到一组有规律的循环变量,其用途是很广的。
(3)实例说明 ①场景上是一个有补间动作且在第 1 帧停止的 MC 。
②右下角是两个分别写有“ stop ”和“ play ”的影片剪辑元件和一个隐形按钮,分别放在不同的图层,但叠放在相同位置。
③由隐形按钮上的脚本循环控制 3 个 MC 的播放状态,循环周期为 2 次
④由左下角按钮上的脚本循环控制有补间动作的 MC ,循环周期为 3 次。
( 4 )编写动作脚本
①在图层 7 的第 1 帧输入:
_root.huan_mc.stop();
_root.huan_mc.shu_mc.stop();
i=0;
n=0;// 变量初始化
②在隐形按钮上输入:
on (release) {
if (i == 0) {
_root.huan_mc.play();
_root.huan_mc.shu_mc.play();
p._visible = 0;
i = 1;
} else {
_root.huan_mc.stop();
_root.huan_mc.shu_mc.stop();
i = 0;
p._visible = 1;
}
}
③在另一按钮上输入:
on (release) {
_root.huan_mc.play();
_root.huan_mc.shu_mc.play();
p._visible = 0;
n++;
m = n%3; // n模3的值赋给 m
if (m == 1) {
_root.huan_mc.shu_mc._rotation = 90;// shu_mc
旋转
90 度
}
if (m == 2) {
_root.huan_mc.shu_mc._rotation = 180; // shu_mc
旋转
180 度
}
if (m == 0) {
_root.huan_mc.shu_mc._rotation = 0; // shu_mc 保持原角度
}
}
( 5 )小结
本讲虽然没有涉及太多的新知识,但开始着重思路训练,为今后学习打好基础,并开始积累和掌握动作脚本编写方法。
( 6 )课后练习
利用教程提供的源文件里的影片剪辑“环”,再作一循环按钮,
每点击按钮两下分别显示 3 种不同形态,向前走,向后走,和躺下不动,见效果。
练习2-1
|