FLASH动画-动态放大图片
FLASH动画-动态放大图片

FLASH动画-动态放大图片

动画的效果是点击图片的不同位置,则以点击的位置为中心进行放大和缩小,并将点击位置向屏幕中心移动
主要代码分析如下
图片组件上的AS
onClipEvent(load){
_root.center._visible=0;//中心坐标是否显示
t=25;//两柜形间距
ox=250;//场景的中心位置ox和oy
oy=200;
owidth=this._width;//图片的原始宽度与高度owidth和oheight
oheight=this._height;
this._width=444;//将图片宽与高调整为中间距形的宽与高
this._height=355;
this._x=ox;//将图片居中
this._y=oy;
click=true;//初始化
xb=Math.round(owidth/444);//放大时X方向上的倍数
yb=Math.round(oheight/355);//Y方向上的倍数
}

onClipEvent(mouseDown){//鼠标点击时
xclick=_root._xmouse;//计算鼠标点击的位置
yclick=_root._ymouse;
if(click){//第一次点击放大
_root.center._visible=1;
_root.ten._visible=0;
this._width=owidth;//将图片放大为原来的尺寸
this._height=oheight;
click=false;
this._x+=(this._x-xclick)*xb;//计算放大后图后的坐标
this._y+=(this._y-yclick)*yb;
//下面判断是否超过可显示范围
if(this._x>t+owidth/2){this._x=t+owidth/2;}
if(this._x<t+444-owidth/2){this._x=t+444-owidth/2;}
if(this._y>t+oheight/2){this._y=t+oheight/2;}
if(this._y<t+355-oheight/2){this._y=t+355-oheight/2;}
}else{//第二次点击则还原大小
_root.center._visible=0;
_root.ten._visible=1;//显示十字光标
this._width=444;//还原尺寸
this._height=355;
this._x=ox;//居中
this._y=oy;
click=true;
}
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注