package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.events.Event;
public class Main extends Sprite
{
public function Main()
{
initPic();
}
//3行4列
var i_max:Number = 3;
var j_max:Number = 4;
//初始化图片
private function initPic():void
{
//显示存在原件中的12个图片
for (var i:Number=0; i<i_max; i++)
{
for (var j:Number=0; j<j_max; j++)
{
var mc:Mc=new Mc();
mc.x = j * stage.stageWidth / j_max;
mc.y = i * stage.stageHeight / i_max;
mc.width = stage.stageWidth / j_max;
mc.height = stage.stageHeight / i_max;
mc["sx"] = mc.x;//小图时的x轴坐标
mc["sy"] = mc.y;//小图时的y轴坐标
mc["sw"] = mc.width;//小图片的宽
mc["sh"] = mc.height;//小图片的高
mc["isSmall"] = true;//存放图图片是否是小图
mc.gotoAndStop(i*j_max+j+1);
mc.addEventListener(MouseEvent.CLICK, mouseClickHandler);
stage.addChild(mc);
}
}
}
//单击图片
private function mouseClickHandler(event:MouseEvent):void
{
var mc:Mc = event.target as Mc;
//将被单击图片至于最上
stage.setChildIndex(mc,stage.numChildren-1);
//单击图片,如果图片是小图就放大,如果已经放大了就还原;
if (mc["isSmall"])
{
mc.addEventListener(Event.ENTER_FRAME, zoomInPic);
mc.removeEventListener(Event.ENTER_FRAME,zoomOutPic);
}
else
{
mc.addEventListener(Event.ENTER_FRAME, zoomOutPic);
mc.removeEventListener(Event.ENTER_FRAME,zoomInPic);
}
mc["isSmall"] = ! mc["isSmall"];
}
//放大图片
private function zoomInPic(event:Event):void
{
//将图片改为x=0,y=0,width=stage.stageWidth,height=stage.stageHeight
var mc:Mc = event.target as Mc;
mc.x += (0 - mc.x) / 5;
mc.y += (0 - mc.y) / 5;
mc.width+=(stage.stageWidth-mc.width)/5;
mc.height+=(stage.stageHeight-mc.height)/5;
}
//缩小图片
private function zoomOutPic(event:Event):void
{
//将图片还原
var mc:Mc = event.target as Mc;
mc.x += (mc["sx"] - mc.x) / 5;
mc.y += (mc["sy"] - mc.y) / 5;
mc.width+=(mc["sw"]-mc.width)/5;
mc.height+=(mc["sh"]-mc.height)/5;
}
}
}
ActionScript 实现放大图片功能
最新推荐文章于 2024-09-29 13:54:55 发布