FLASH中如何用鼠标滚轮控制图片缩放(AS3)
1、新建AS3文档
2、百度一张图片,导入到舞台上。
3、在库里选择这张图,改变属性,设置平滑,保证缩放时不会失真。
4、把舞台上的图片转换为影片剪辑,注意注册点在中间。
5、设置这个影片剪辑的实例名为image_mc
6、在主时间轴加如下代码:
stage.addEventListener(MouseEvent.MOUSE_WHEEL,MouseWheelEvent);
function MouseWheelEvent(e:MouseEvent):void
{
image_mc.scaleX+=e.delta/20;//降低缩放量
image_mc.scaleY=image_mc.scaleX;
}
7、运行后可以看到效果。
8、但是这样图片缩放是没有限制的。也就是图片可以缩放到很小,也可以放大到特别大,就要对代码进行修改。
如下:
stage.addEventListener(MouseEvent.MOUSE_WHEEL,MouseWheelEvent);
function MouseWheelEvent(e:MouseEvent):void
{
var temp:Number=e.delta/20;//降低缩放量
if(image_mc.scaleX+temp>=0.5&&image_mc.scaleX+temp<=2)
{
image_mc.scaleX+=temp;
}
else if(image_mc.scaleX+temp<0.5)
{
image_mc.scaleX=0.5;
}
else if(image_mc.scaleX+temp>2)
{
image_mc.scaleX=2;
}
image_mc.scaleY=image_mc.scaleX;
}
9、运行后就可以看到图片缩放是在一定范围里的。这种效果只是最基础的,因为在实际应用中,比如地图类效果,还要能达到以鼠标坐标为中心进行缩放。