PersonalCorpus 版 (精华区)
发信人: fengbo (创业进行时*等待), 信区: Flash
标 题: 玩转遮罩(1)
发信站: 哈工大紫丁香 (2003年12月06日11:30:38 星期六), 站内信件
遮照在flash制作中有着绝对重要的地位,这是毋庸置疑的。集合自己制作flash的经验,
我想就此写点心得,适合初级flasher参考,权当抛砖引玉,如有问题请给与指正。
简单的遮照应用,比如彩虹字、霓虹灯、万花筒什么的一些简单的遮着应用我就不多说了
,重点说一说怎么把遮照动起来。
一、知识储备
Object对象、instance实例、instance Name、Target目标、Path路径(Dots格式/Sla
shes格式:_root.mov_a.mov_b和/mc_a/mc_b,这里都是绝对路径)、Property属性、Metho
d方法、on鼠标事件、OnClipEvent事件。
以上提到的一些名词,可以在任何一本flash基础教程里面找到,所以不再累述。但为
了便于下面的操作,我将罗列一些on鼠标事件和OnClipEvent事件。
1.on鼠标事件
主要指鼠标触发赋予按钮的脚本程序的事件,例如可以用On(press){....};来表示当鼠
标点击按钮时执行大括号内的脚本程序,On事件有以下几种:
press:鼠标在按钮上时左键按下
release:鼠标在按钮上时左键被松开
releaseOutside:鼠标不在按钮上时左键被松开
rollOver:鼠标滑过按钮
rollOut:鼠标从按钮上离开
dragOver:鼠标在按钮上时左键被按下,按住后鼠标移出按钮范围,然后又移到按钮上
dragOut:鼠标在按钮上时左键被按下,按住后鼠标移出按钮范围
keyPress("key"):制定的键被按下
2. OnClipEvent事件 触发赋予MC实例的脚本程序的事件
Load:当Mc实例在事件轴上出现时
Unload:当MC实例在事件轴上消失时,该事件触发的程序将比该桢的程序先运行
EnterFrame:当MC实例的任一桢开始播放时。类似于赋予MC的程序,该事件触发的程序
比在该桢的程序后运行
MouseDown:当点击鼠标左键时
MouseUp:当松开左键时
MouseMove:当鼠标移动时
KeyDown:当任一键被按下时,使用Key.getCode方法能够获得最后一个被按下的键的信
息
KeyUp:当任一键松开时,同key.down
Data:当用loadVariables或loadMovie载入数据时。如果使用loadVariables载入数据
,事件只在最后数据载入后触发一次,如果是用loadMovie载入数据,事件会在数据每载入
一段是触发一次。
二、实例制作
(1)动态探照灯
1.新建影片,把层增加到3层,由上到下依次命名为“动作”、“遮罩”和“背景
”,在背景层上绘制一个图形,作为被遮罩的背景图形。
选中背景图形转化为电影剪辑,然后再属性面板中将其命名为maskedclip
2.绘制探照灯。在遮罩层中绘制一个圆,去掉边线,填充任一颜色,选中圆将其转
化为电影剪辑,并给该剪辑命名为masker
3.在动作层的第一桢,用专家模式编辑action,代码如下:
stop(); //停止当前桢
maskedclip.setMask(masker); //设置遮罩效果
_root.maskedclip.onEnterFrame=function(){ //电影剪辑maskedclip事件
_root.masker._x=_xmouse; //取得鼠标x值并赋予masker
_root.masker._y=_ymouse; //取得鼠标y值并赋予masker
// 这样masker就跟随鼠标移动
updateAfterEvent();
}
4.OK,这样一个程序化的遮罩就完成了,Ctrl+Enter测试看看吧
@:注意本教程均在Mx上测试通过,另发布时需为flash player6以上版本
另一定要区分电影剪辑的名称和实例名称的区别上面提到的masker和
maskedclip均为instance name
5.延伸和发展
setMask()函数为我们程序化设置遮罩带来了方便,现在可以通过操作鼠标、按键
来随时设置遮罩,方法如下:
在上面的代码中的第二行前加 // 将其变为注释
然后在遮罩剪辑的内部第一桢上加代码
this.onMouseDown = function() {
_root.maskedclip.setMask(this);
}
6.再按ctrl+enter试试看,呵呵,已开始没有遮罩,点击左键后就有了
OK 第一个实例到此结束,希望实践此实例的初级flasher不要满足于按步就班操作,
要想一想多做一些类似第五步的延伸和发展。这样才会得到更多
实例二将讲述遮罩实现放大镜
--
也许我没做什么,
但是你的一颦一笑,我都看在眼里,很在意……
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 218.9.122.229]
※ 修改:·fengbo 於 12月06日11:33:39 修改本文·[FROM: 218.9.122.229]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.541毫秒