flash as3 监控十五个影片剪辑的ROLL_OVER 和ROLL_OUT.简单点的写法。请看补充。

来源:百度知道 编辑:UC知道 时间:2024/05/12 05:40:50
在窗体内,放了十五个影片剪辑,分别是tu1_mc, tu2_mc,tu3_mc …… tu15_mc.
当鼠标移入某个影片剪辑时,这个影片剪辑的scaleX=1.2,扩大为原来的1.2倍。当移出时,恢复到原来的大小。
请说一下,代码怎样写比较简捷。

这个东西要实现办法实在是太多了,基于你的程度,给你一种容易理解办法,一般是在你的每个MC里面的最上层加一个纯透明的和MC大小一样的按钮,作为时间触发的监听点,这样你的MC.buttonMode = true 效果好很多,监听的话就非常的简单了
private function overEvent(e:MouseEvent):void{
var sp:Sprite = e.target as Sprite;
//var sp:MovieClip = e.target as MovieClip;看你用的那个容器了
sp.scaleX = 1.2;
sp.scaleY = 1.2;

}
private function outEvent(e:MouseEvent):void{
var sp:Sprite = e.target as Sprite;
//var sp:MovieClip = e.target as MovieClip;看你用的那个容器了
sp.scaleX = 1;
sp.scaleY = 1;
}
sp.addEventListener(MouseEvent.MOUSE_OVER,overEvent);
sp.addEventListener(MouseEvent.MOUSE_OUT,outEvent);
如果你用了字典或者数组让你的MC的名字有规律,可以通过循环来添加监听

这些代码都是放在相应的AS文件里面,如果这个你都不了解你要完成上面的东西那太难了

方便起见,都写了时间轴代码as2和as3的都有了,自己看吧

[as3代码]
for (var i:int=1; i<=15; i++) {
AddListener(this.getChildByName("tu" + i + "_mc"));
}

function ChangeScale(e:MouseEvent):void {
if (e