⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 view.as

📁 基于AS3的图片展示 图片缩放不模糊 导入外部XML数据
💻 AS
字号:
package {
	import flash.system.*;
	import flash.display.StageQuality;
	import flash.display.Sprite;
	import flash.display.MovieClip;
	import flash.utils.Timer;
	import flash.events.TimerEvent;
	import flash.events.MouseEvent;

	import fl.transitions.*;
	import fl.transitions.Tween;
	import fl.transitions.TweenEvent;
	import fl.transitions.easing.*;

	import thisclass.loadXML;
	import thisclass.loadimg;
	import thisclass.loadimgs;
	import thisclass.createMC;
	import leftmc;
	import rightmc;
	public class view extends MovieClip {
		//记录当前显示的大图片地址
		public static  var currentshowimgNum:int
		public static  var loadimg_mc:MovieClip = new MovieClip();
		private var loadxml:loadXML = new loadXML("data.xml");
		private var myxml:XML;
		private var myTween:Tween;
		private var thisloadimg:loadimg;
		private var bigger:createMC = new createMC(10,50);
		private var smaller:createMC = new createMC(10,50);
		private var nextmc:createMC = new createMC(10,50);
		private var prevmc:createMC = new createMC(10,50);

		private var title_array:Array = new Array();
		private var allimgurl_array:Array = new Array();
		private var classimgurl_array:Array = new Array();
		private var currentclass_array:Array = allimgurl_array;
		public function view() {
			System.useCodePage=true;
			stage.quality=StageQuality.BEST;
			bigger.string="放大";
			bigger.x=5;
			smaller.string="缩小";
			smaller.x=bigger.width+bigger.x+10;
			nextmc.string="下一张";
			nextmc.x=smaller.width+smaller.x+10;
			prevmc.string="上一张";
			prevmc.x=nextmc.width+nextmc.x+10;
			bigger.addEventListener(MouseEvent.CLICK,bigger_click);
			smaller.addEventListener(MouseEvent.CLICK,smaller_click);
			nextmc.addEventListener(MouseEvent.CLICK,nextmc_click);
			prevmc.addEventListener(MouseEvent.CLICK,prevmc_click);

			addChild(bigger);
			addChild(smaller);
			addChild(nextmc);
			addChild(prevmc);
			addChildAt(view.loadimg_mc,0);
			//
			var timer = new Timer(1000);
			timer.addEventListener(TimerEvent.TIMER,timerHandler);
			timer.start();
			//

		}
		private function timerHandler(event:TimerEvent):void {
			if (loadxml.xmldata) {
				event.currentTarget.stop();
				myxml = loadxml.xmldata;
				loadxml = null;

				var topnum:uint = 0;
				for (var topitem in myxml.imgs.imgclass) {
					title_array.push(String(myxml.imgs.imgclass[topitem].@id));
					classimgurl_array[topnum] = new Array();
					var classnum:uint = 0;
					for (var item in myxml.imgs.imgclass[topnum].img) {
						allimgurl_array.push(myxml.imgs.imgclass[topnum].img[classnum].@url);
						classimgurl_array[topnum].push(myxml.imgs.imgclass[topnum].img[classnum].@url);
						classnum++;
					}
					topnum++;
				}
				showbigimg(myxml.imgs.imgclass[0].img[0].@url);
				var left_mc:MovieClip = new leftmc();
				var right_mc:MovieClip = new rightmc();
				var thisloadimgs:loadimgs = new loadimgs(allimgurl_array,715,100,left_mc,right_mc);
				thisloadimgs.x = 10;
				thisloadimgs.y = 500;
				addChild(thisloadimgs);
			}
		}
		public function showbigimg(str:String):void {
			var thisloadimg = new loadimg(str);
			//thisloadimg.addEventListener(MouseEvent.MOUSE_DOWN,img_mousedown);
			view.loadimg_mc.addChild(thisloadimg);
			if (view.loadimg_mc.getChildIndex(thisloadimg)==1) {
				view.loadimg_mc.removeChildAt(0);
			}
		}
		
		private function bigger_click(event:MouseEvent):void {
			myTween = new Tween(view.loadimg_mc, "scaleX", Strong.easeOut, view.loadimg_mc.scaleX, view.loadimg_mc.scaleX+0.1, 0.5, true);
			myTween = new Tween(view.loadimg_mc, "scaleY", Strong.easeOut, view.loadimg_mc.scaleY, view.loadimg_mc.scaleY+0.1, 0.5, true);
			myTween.addEventListener(TweenEvent.MOTION_CHANGE,tween_change);
			myTween.addEventListener(TweenEvent.MOTION_FINISH,tween_finish);
		}
		private function smaller_click(event:MouseEvent):void {
			myTween = new Tween(view.loadimg_mc, "scaleX", Elastic.easeOut, view.loadimg_mc.scaleX, view.loadimg_mc.scaleX-0.1, 0.5, true);
			myTween = new Tween(view.loadimg_mc, "scaleY", Elastic.easeOut, view.loadimg_mc.scaleY, view.loadimg_mc.scaleY-0.1, 0.5, true);
			myTween.addEventListener(TweenEvent.MOTION_CHANGE,tween_change);
			myTween.addEventListener(TweenEvent.MOTION_FINISH,tween_finish);
		}
		private function nextmc_click(event:MouseEvent):void {
			if (view.currentshowimgNum<(currentclass_array.length-1)) {
				view.currentshowimgNum++;
				showbigimg(currentclass_array[view.currentshowimgNum]);
			}
		}
		private function prevmc_click(event:MouseEvent):void {
			if (view.currentshowimgNum>0) {
				view.currentshowimgNum--;
				showbigimg(currentclass_array[view.currentshowimgNum]);
			}
		}
		private function tween_change(event:TweenEvent):void {
			this.mouseChildren = false;
			view.loadimg_mc.x=(stage.stageWidth-view.loadimg_mc.width)/2;
			view.loadimg_mc.y=(stage.stageHeight-view.loadimg_mc.height)/2;
		}
		private function tween_finish(event:TweenEvent):void {
			this.mouseChildren = true;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -