zoukankan      html  css  js  c++  java
  • 图片突出展(一) as2版

    stop();
    
    init();
    
    function init() {
    	rotateDirection = "left";//默认向左旋转,即浏览右边的图片
    	imgSpeed = 8;//图片切换状态所花时间
    	rotateSpeed = 1500;//图片循环显示间隔时间3.5秒
    
    	imageWidth = 226;//图片宽度
    	imageHeight = 220;//图片高度
    
    	perWidth = imageWidth / 10;
    	perHeight = imageHeight / 10;
    
    	//centerX = Stage.width / 2 - 340 / 2;//舞台中央x坐标342
    	//centerY = Stage.height / 2 - 340 / 2;//舞台中央y坐标214
    	centerX=Stage.width/2
    	centerY=Stage.height/2
    	trace("centerX=" + centerX);
    	trace("centerY=" + centerY);
    
    	this.createEmptyMovieClip("imgHolder",1);//创建一个装图片的容器,并设置其深度索引为1
    	//imgHolder._x = centerX - 450;//-108
    	//imgHolder._y = centerY - 240;//-26	
    	imgHolder._x=400;
    	imgHolder._y=245;
    	trace("imgHolder._x =" + imgHolder._x);
    	trace("imgHolder._y =" + imgHolder._y);
    
    	//每个位置图片的alpha
    	targetAlpha = [20,40, 60, 80, 100, 80, 60, 40,20];
    	//每个位置图片的x坐标
    	targetX=[-290,-257,-210,-125,0,158,292,388,467];	
    	//每个位置图片y坐标
    	targetY = [imageHeight*0.4,imageHeight*0.3, imageHeight*0.2, imageHeight*0.1, 0, imageHeight*0.1, imageHeight*0.2, imageHeight*0.3,imageHeight*0.4];
    	
    	//每个位置图片的缩放比例
    	targetScale = [20,40, 60, 80, 100, 80, 60, 40,20];
    	//每个位置图片的深度索引值
    	imageDepth = [0,80, 90, 110, 200, 112, 100,88, 0];
    
    	leftBtn.swapDepths(3000);
    	rightBtn.swapDepths(3001);
    	disable_btn.swapDepths(3002);
    
    	textVisible = [false,false, false, false, true, false, false, false, false];
    
    	totalNum = imgNum;
    	indexNum = 1;
    
    	disable_btn._visible = false;
    	disable_btn._width = Stage.width;
    	disable_btn._height = Stage.height;
    	disable_btn.onRollOver = function() {
    		this.useHandCursor = false;
    		leftBtn.gotoAndStop(1);
    		rightBtn.gotoAndStop(1);
    	}
    	
    	for (var i = 0; i < totalNum; i++) {
    		imgHolder.attachMovie("img","img" + i,i + 10);//从库中取得一个元件并将其附加到影片剪辑中
    		var img = imgHolder["img" + i];//相当于as3中的imgHolder.getChildByName(String("img" + i));
    		img._alpha = 0;
    		
    		img.desc_txt.text = img_name[i];
    		img.desc_txt._visible = false;//默认设置所有图片文字不显示
    
    		loadThumbs(thumb_image[i],img.thumbs);
    	}
    
    	imgHolder.img3.desc_txt._visible = true;//设置第三张图片文字显示,此处的img2是上面attachMovie里定义的实例名"img" + i
    
    	setMovie();//初始化图片位置及状态
    }
    
    //------------------------------------------------------------------------------@载入图片
    function loadThumbs(linkUrl, movLoader) {
    	var imgLoader = new MovieClipLoader();
    	var obj = new Object();
    	
    	obj.onLoadProgress = function(target, bytesLoaded, bytesTotal) {
    		pctLoaded = Math.floor(bytesLoaded / bytesTotal * 100);
    		target._parent.pBar_mc.gotoAndPlay(2);
    		if (!isNaN(pctLoaded)) {
    			if (pctLoaded >= 100) {
    				target._parent.pBar_mc.gotoAndPlay(2);
    				this.gotoAndPlay(2);
    			}
    		}
    	}
    	
    	obj.onLoadError = function(target_mc, errorCode, httpStatus) {
    	}
    	
    	obj.onLoadInit = function(target) {
    		new mx.transitions.Tween(target._parent.pBar_mc, "_alpha", mx.transitions.easing.Strong.easeOut, target._parent.pBar_mc._alpha, 0, 150, false);
    		//此处的target是thumbs容器,设置它的尺寸与图片尺寸一样
    		target._width = imageWidth;
    		target._height = imageHeight;
    	}
    	imgLoader.addListener(obj);
    	imgLoader.loadClip(linkUrl,movLoader);//载入图片
    }
    
    //------------------------------------------------------------------------------@初始化图片位置及状态
    function setMovie() {
    	for (var i = 0; i < totalNum; i++) {
    		posNum = (indexNum + i) % totalNum;
    
    		var img = imgHolder["img" + i];
    		img._x = targetX[posNum];
    		img._y = targetY[posNum];
    		img._xscale = targetScale[posNum];
    		img._yscale = targetScale[posNum];
    		img._alpha = targetAlpha[posNum];
    		img.swapDepths(imageDepth[posNum]);
    	}
    }
    
    //------------------------------------------------------------------------------@图片状态改变
    function rotateMovie() {
    	for (var i = 0; i < totalNum; i++) {
    		posNum = (indexNum + i) % totalNum;
    		//trace("indexNum="+indexNum);
    		//trace("posNum="+posNum);
    
    		var img = imgHolder["img" + i];
    		img.desc_txt._visible = textVisible[posNum];
    		img.swapDepths(imageDepth[posNum]);
    
    		var tween = new mx.transitions.Tween(img, "_x", mx.transitions.easing.Back.easeOut, img._x, targetX[posNum], imgSpeed, false);
    		new mx.transitions.Tween(img, "_y", mx.transitions.easing.Back.easeOut, img._y, targetY[posNum], imgSpeed, false);
    		new mx.transitions.Tween(img, "_xscale", mx.transitions.easing.Back.easeOut, img._xscale, targetScale[posNum], imgSpeed, false);
    		new mx.transitions.Tween(img, "_yscale", mx.transitions.easing.Back.easeOut, img._yscale, targetScale[posNum], imgSpeed, false);
    		new mx.transitions.Tween(img, "_alpha", mx.transitions.easing.Back.easeOut, img._alpha, targetAlpha[posNum], imgSpeed, false);
    		
    		img.onRollOver=function(){
    			clearInterval(id);
    		}
    		img.onRollOut=function(){
    			id = setInterval(autoRotate, rotateSpeed);
    		}
    
    		img.onRelease = function() {			
    			trace(img_name[this._name.substr(3)]);
    		}
    	}
    }
    
    //------------------------------------------------------------------------------@自动向左旋转
    function autoRotate() {
    	leftBtn.gotoAndStop(1);
    	rightBtn.gotoAndStop(1);
    	
    	//注意indexNum默认起始值是1
    	indexNum--;
    	if (indexNum == 0) {
    		indexNum = totalNum;
    	}	
    	rotateMovie();
    }
    
    //------------------------------------------------------------------------------@上、下页按钮单击侦听
    rightBtn.onRelease = function() {
    	indexNum++;
    	if (indexNum == totalNum) {
    		indexNum = 0;
    	}
    	rotateMovie();
    }
    
    leftBtn.onRelease = function() {
    	indexNum--;
    	if (indexNum == 0) {
    		indexNum = totalNum;
    	}
    	rotateMovie();
    }
    
    //------------------------------------------------------------------------------@上、下页按钮鼠标移入、出侦听
    leftBtn.onRollOver = function() {
    	this.gotoAndStop(2);
    	clearInterval(id);
    }
    rightBtn.onRollOver = function() {
    	this.gotoAndStop(2);
    	clearInterval(id);
    }
    rightBtn.onRollOut = function() {
    	this.gotoAndStop(1);
    	rotateDirection = this._name.substr(0, 5).toString();
    	id = setInterval(autoRotate, rotateSpeed);
    	trace(rotateDirection);
    }
    leftBtn.onRollOut = function() {
    	this.gotoAndStop(1);
    	rotateDirection = this._name.substr(0, 4).toString();
    	id = setInterval(autoRotate, rotateSpeed);
    	trace(rotateDirection);
    }
    
    //------------------------------------------------------------------------------@计时器
    id = setInterval(autoRotate, rotateSpeed);
    

  • 相关阅读:
    解决winform DataGridView 绑定数字值列排序不对的问题
    C#中向数据库中添加注册新用户,并查询数据库中是否存在同名的用户。
    SQL数据库的脱机与联机操作
    odoo视频教程收集
    odoo10导入导出-转
    草稿-bom- 肥料生产
    freebsd 域名服务器
    freebsd启动报错:My unqualified host name unkown...Sleeping for retry.
    docker-freebsd-20150625
    supervisorctl error
  • 原文地址:https://www.cnblogs.com/leon3286/p/1800748.html
Copyright © 2011-2022 走看看