📄 loadimgs.as
字号:
package thisclass{
import flash.display.Bitmap
import flash.display.BitmapData
import flash.display.StageQuality;
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.display.Loader;
import flash.net.URLRequest;
import fl.transitions.*;
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
import fl.transitions.easing.*;
import flash.events.Event;
import flash.events.MouseEvent;
import view;
import thisclass.loadimg;
public class loadimgs extends Sprite {
private var thisloadimg:loadimg;
//记录按钮与小图之间的距离
public var spaceNum:uint = 10
private var tween:Tween;
//用于放置所有小图片的容器
private var imgscontain:Sprite = new Sprite();
private var imgnum:uint=0;
//记录各图片的初始缩放数据
private var imgscaleX_array:Array=new Array();
private var imgscaleY_array:Array=new Array();
//记录显示图片的长度
private var showimgWidth:uint;
//记录显示图片的高度
private var showimgHeight:uint;
//图片左边的按钮
private var toleftmc:MovieClip;
//图片右边的按钮
private var torightmc:MovieClip;
//记录图片数量
private var allimgsnum:uint;
//记录已导入的图片数
private var loadednum:uint=0;
private var imgurl:Array = new Array();
public function loadimgs(array:Array,mask_width:uint,mask_height:uint,leftmc:MovieClip=null,rightmc:MovieClip=null,Num:uint=10) {
imgurl = array
showimgWidth = mask_width;
showimgHeight = mask_height;
allimgsnum = array.length;
toleftmc = leftmc;
torightmc = rightmc;
//设置遮罩
var imgsMask:Sprite = new Sprite();
imgsMask.graphics.beginFill(0xffffff);
imgsMask.graphics.drawRect(0,0,mask_width,mask_height+1);
imgsMask.graphics.endFill();
imgscontain.mask = imgsMask;
addChild(imgsMask);
addChild(imgscontain);
//添加左右按钮
if (toleftmc!=null && torightmc!=null) {
imgscontain.x = toleftmc.width+spaceNum;
imgsMask.x = imgscontain.x;
toleftmc.x = 0;
toleftmc.y = (showimgHeight-toleftmc.height)/2;
torightmc.x = showimgWidth+imgscontain.x+spaceNum;
torightmc.y =(showimgHeight-torightmc.height)/2;
toleftmc.addEventListener(MouseEvent.ROLL_OVER,toleft_rollover);
toleftmc.addEventListener(MouseEvent.ROLL_OUT,toleft_rollout);
torightmc.addEventListener(MouseEvent.ROLL_OVER,toright_rollover);
torightmc.addEventListener(MouseEvent.ROLL_OUT,toright_rollout);
addChild(toleftmc);
addChild(torightmc);
}
for (var i:uint=0; i<array.length; i++) {
var imgkuan:Sprite = new Sprite();
imgkuan.graphics.beginFill(0xcccccc,0.3);
imgkuan.graphics.lineStyle(1,0xcccccc)
imgkuan.graphics.drawRect(0,0,mask_height,mask_height);
imgkuan.graphics.endFill();
imgkuan.x=i*(mask_height+10)
var urlrequest:URLRequest = new URLRequest(array[i]);
var loader:Loader = new Loader();
loader.name=String("loader"+i);
loader.load(urlrequest);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loader_comp);
imgkuan.addChild(loader);
imgscontain.addChild(imgkuan);
}
}
private function loader_comp(event:Event):void {
var scalexy:Number=0
if (event.currentTarget.loader.width>event.currentTarget.loader.height) {
scalexy = showimgHeight/event.currentTarget.loader.width-0.005;
event.currentTarget.loader.scaleX = scalexy
event.currentTarget.loader.scaleY = scalexy
} else {
scalexy = showimgHeight/event.currentTarget.loader.height-0.005
event.currentTarget.loader.scaleX = scalexy
event.currentTarget.loader.scaleY = scalexy
}
event.currentTarget.loader.x=(event.currentTarget.loader.parent.width-event.currentTarget.loader.width)/2-0.005;
event.currentTarget.loader.y=(event.currentTarget.loader.parent.height-event.currentTarget.loader.height)/2-0.005;
var bitmap:Bitmap = Bitmap(event.currentTarget.loader.content)
bitmap.scaleX = scalexy
bitmap.scaleY = scalexy
bitmap.x=event.currentTarget.loader.x
bitmap.y=event.currentTarget.loader.y
bitmap.smoothing = true
event.currentTarget.loader.parent.addChild(bitmap)
var click_mc = new createMC(bitmap.width,bitmap.height);
click_mc.alpha = 0
click_mc.x = bitmap.x
click_mc.y = bitmap.y
click_mc.name = event.currentTarget.loader.name
click_mc.addEventListener(MouseEvent.MOUSE_DOWN,img_mousedown)
event.currentTarget.loader.parent.addChild(click_mc)
}
private function img_mousedown(event:MouseEvent):void {
view.currentshowimgNum = Number(event.currentTarget.name.slice(6));
var thisloadimg = new loadimg(imgurl[view.currentshowimgNum]);
view.loadimg_mc.addChild(thisloadimg);
if (view.loadimg_mc.getChildIndex(thisloadimg)==1) {
view.loadimg_mc.removeChildAt(0);
}
}
private function loader_mouse_over(event:MouseEvent):void {
//tween.addEventListener(TweenEvent.MOTION_CHANGE,tween_change);
}
private function loader_mouse_out(event:MouseEvent):void {
//tween.addEventListener(TweenEvent.MOTION_CHANGE,tween_change);
}
private function tween_change(event:TweenEvent):void {
for (var i:int = 1; i<imgscontain.numChildren; i++) {
imgscontain.getChildAt(i).x=imgscontain.getChildAt((i-1)).x+imgscontain.getChildAt((i-1)).width+spaceNum;
}
}
private function toleft_rollover(event:MouseEvent):void {
event.target.addEventListener(Event.ENTER_FRAME,imgs_to_left);
}
private function toleft_rollout(event:MouseEvent):void {
event.target.removeEventListener(Event.ENTER_FRAME,imgs_to_left);
}
private function toright_rollover(event:MouseEvent):void {
event.target.addEventListener(Event.ENTER_FRAME,imgs_to_right);
}
private function toright_rollout(event:MouseEvent):void {
event.target.removeEventListener(Event.ENTER_FRAME,imgs_to_right);
}
private function imgs_to_left(event:Event):void {
if (imgscontain.x<toleftmc.width+spaceNum) {
imgscontain.x+=30
}else{
imgscontain.x = toleftmc.width+spaceNum
}
}
private function imgs_to_right(event:Event):void {
if (imgscontain.x>showimgWidth-imgscontain.width+toleftmc.width+spaceNum) {
imgscontain.x-=30
}else{
imgscontain.x = showimgWidth-imgscontain.width+toleftmc.width+spaceNum
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -