flash 鼠标经过图片缩放问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 05:58:50
var ID1:Number = null;
var ID2:Number = null;
mcPic.onRollOver = function() {
//=======每次放大3个像素,一秒放大20次,最大到五倍
clearInterval(ID2);
ID1 = setInterval(mcBig, 50, 5, 500);
};
mcPic.onRollOut = function() {
//======鼠标移开时,每次缩小三个像素,一秒缩小20次,缩小到原来大小;
clearInterval(ID1);
ID2 = setInterval(mcBig, 50, -5, 100);
};
//===========定义缩放函数;
function mcBig(d1:Number, d2:Number) {
//d1为每次放大的数值,d2为放大 或缩小上下限;
mcPic._xscale += d1;
mcPic._yscale += d1;
if (d2>100) {
if (mcPic._xscale>=d2) {
clearInterval(ID1);
}
} else {
if (mcPic._xscale<=d2) {
clearInterval(ID2);
}
}
}

这个代码能实现鼠标经过时图片放大,离开时图片缩小。
但是,怎样才能让图片以图片的中心放大与缩小呢?

还有一个问题就是,在缩放的时候,图片也随之变化透明度,要怎么实现?
恩!这样可以哦!如果再加一张图片怎么就一张会变的呢?
能不能让他移到哪一张上面,哪一张就变大,离开就缩小的呢?

将那个图片的位置调为对准舞台

打开进入该图片元件里,选择该图片,Ctrl+K显示对齐信息(在库的上面显示),如图,先选择"相对于舞台",再选择红框框中的对齐按钮,将图片相对舞台对准,即可以中心放大或缩小图片了

如果想改变透明度,则将代码改为

var ID1:Number = null;

var ID2:Number = null;

mcPic.onRollOver = function() {

 //=======每次放大3个像素,一秒放大20次,最大到五倍

 clearInterval(ID2);

 ID1 = setInterval(mcBig, 50, 5, 500, -1);

};

mcPic.onRollOut = function() {

 //======鼠标移开时,每次缩小三个像素,一秒缩小20次,缩小到原来大小;

 clearInterval(ID1);

 ID2 = setInterval(mcBig, 50, -5, 100, 1);

};

//===========定义缩放函数;

function mcBig(d1:Number, d2:Number, al:Number) {

 //d1为每次放大的数值,d2为放大 或缩小上下限;

 mcPic._xscale += d1;

 mcPic._yscale += d1;

 mcPic._alpha += al;//al为增加的透明度,图片变越大,越是透明,最大,全透明

&n