Показать сообщение отдельно
Старый 13.09.2010, 19:29
zigaYO вне форума Посмотреть профиль Отправить личное сообщение для zigaYO Найти все сообщения от zigaYO
  № 1  
Ответить с цитированием
zigaYO

Регистрация: May 2010
Сообщений: 4
По умолчанию Flashden carusel v2

Всем привет. Проблема в том, что когда её открываешь через браузер (в основном в гугл хроме) картинки карусели не всегда встают на свои назначенные места, смещаются. И при обновлении браузера всегда по-разному, то они на местах, то опять где попало.

Вот скрин смещений : http://s58.***********/i159/1009/0d/7990267abf54.jpg
Должно быть так: http://s52.***********/i137/1009/6c/1922529141fb.jpg

вот пример: http://idamagazin.ru/viewer_no_options.swf

вот код карусели:
Код AS3:
//SCRIPTS
Stage.align = "left";
Stage.scaleMode = "noScale";
num = 1;
total = 0;
rot = 0.5001*Math.PI;
sliding = false;
rotGoto = rot;
rotTweening = rot;
rotImageNumber = 0;
overNumber = "";
autoRotate = false;
tooltip._alpha = 0;
//import libs
import mx.transitions.Tween;
import mx.transitions.easing.*;
import flash.display.BitmapData;
intThumb._visible = true;
tooltip.field2.autoSize =true;
diz = this;
// xml object / ignorewhite
xml = new XML();
xml.ignoreWhite = true;
//load object for parsing
xml.onLoad = function(sucess) {
	if (sucess) {
		storeAll(xml);
	}
};
// load XML
 
if(_root.xmlLocation != undefined){
	xml.load(_root.xmlLocation);
}else{
	xml.load("data.xml");
}
// parsing function
function storeAll(xmlDoc_xml) {
	//parse settings
	for (at in xmlDoc_xml.childNodes[0].attributes) {
		diz[at] = int(xmlDoc_xml.childNodes[0].attributes[at]*100)/100;
	}
	timer = autoRotateSpeed*24;
	if (useFocalBlur == "1") {
		useFocalBlur = true;
	} else {
		useFocalBlur = false;
	}
	if (useMotionBlur == "1") {
		useMotionBlur = true;
	} else {
		useMotionBlur = false;
	}
	if (useReflection == "1") {
		useReflection = true;
	} else {
		useReflection = false;
	}
	if (useFadeOnMouseOver == "1") {
		useFadeOnMouseOver = true;
	} else {
		useFadeOnMouseOver = false;
	}
	//navbar
	btns.btnLeft._x = centerX-spanX+30;
	btns.btnRight._x = centerX+spanX-30;
	btns.navbar_bg._width = spanX*2-150;
	btns.navbar_bg._x = centerX-btns.navbar_bg._width/2;
	btns.subtitle._width = spanX*2-150;
	btns.subtitle._x = centerX-btns.navbar_bg._width/2;
	btns.subtitle2._width = spanX*2-150;
	btns.subtitle2._x = centerX-btns.navbar_bg._width/2;
	//navbar_bg._y = centerY + spanY +100;
	//parse all imgs
	for (var n = 0; n<xmlDoc_xml.childNodes[1].childNodes.length; n++) {
		//this["photo"+n] = new Object();
		//add to folders list
		duplicateMovieClip(intThumb, "thumb"+n, this.getNextHighestDepth());
		thumbRef = this["thumb"+n];
		thumbRef._visible = true;
		thumbRef.num = n;
		thumbRef.urls = xmlDoc_xml.childNodes[1].childNodes[n].attributes.imageURL;
		thumbRef.linkData = xmlDoc_xml.childNodes[1].childNodes[n].attributes.linkData;
		thumbRef.linkType = xmlDoc_xml.childNodes[1].childNodes[n].attributes.linkType;
		thumbRef.linkTarget = xmlDoc_xml.childNodes[1].childNodes[n].attributes.linkTarget;
		thumbRef.captionText = xmlDoc_xml.childNodes[1].childNodes[n].attributes.captionText;
		thumbRef.captionText2 = xmlDoc_xml.childNodes[1].childNodes[n].attributes.captionText2;
		if(xmlDoc_xml.childNodes[1].childNodes[n].attributes.enableButtonWhenInFront == "1"){
			thumbRef.enableButtonWhenInFront = true;
		}else{
			thumbRef.enableButtonWhenInFront = false;
		}
		loadMovie(thumbRef.urls, thumbRef.loader);
		total += 1;
	}
	//end for folders
	perinstance = (2*Math.PI)/total;
	btns.swapDepths(30001);
	navbar_bg.swapDepths(30000);
	tooltip.swapDepths(30002);
	//videoplayer.swapDepths(3002);
}
//end function
this.onEnterFrame = function() {
	//timer for autorotate
	if(autoRotateSpeed != undefined && autoRotate){
		timer -= 1;
		if (timer<0) {
			rotImageNumber -= 1;
			if (rotImageNumber<0) {
				rotImageNumber = total-1;
			}
			rotGoto += perinstance;
			timer = 24*autoRotateSpeed; //24 frames per second
		}
	}
	// 
	if (rotationKind == 0) {
		btns._visible = false;
		rot -= (Stage.width/2-_xmouse)/10000*turningspeed;
	} else {
		btns._visible = true;
		if (rotGoto != rotTweening) {
			dist = Math.abs(rotGoto-rot);
			if (dist>Math.PI) {
				if (rotGoto>rot) {
					rot += 2*Math.PI;
				} else {
					rot -= 2*Math.PI;
				}
			}
			rotTweening = rotGoto;
			var rottween:Tween = new Tween(this, "rot", Strong.easeInOut, rot, rotGoto, 4/turningspeed, true);
		}
	}
	//tooltip
	if(useTooltip){
		if(useSecondCaption){
			tooltip.field.autoSize = false;
			tooltip.field._width = 200;
 
			tooltip.bg._width = tooltip.field2._width+5;
			tooltip.field2._width = tooltip.field._width;
			tooltip.bg._height = tooltip.field2._y+tooltip.field2._height+2;
		}else{
			tooltip.field2.text = "";
			tooltip.field.autoSize = true;
 
			tooltip.bg._width = tooltip.field._width+5;
			tooltip.bg._height = tooltip.field._height+2;
		}
		tooltip._alpha += (tooltip.alphaTo - tooltip._alpha)/3;
		tooltip._x = _xmouse + 30;
		tooltip._y = _ymouse + 30;
	}else{
		tooltip._alpha = 0;
	}
	//
	if(useSubtitle){
		btns.subtitle.text = this["thumb"+rotImageNumber].captionText;
		if(useSecondCaption){
			btns.subtitle2.text = this["thumb"+rotImageNumber].captionText2;
		}else{
			btns.subtitle2.text = ""
		}
	}else{
		btns.subtitle.text = ""
		btns.subtitle2.text = ""
	}
};
btns.btnLeft.onPress = function() {
	rotImageNumber += 1;
	if (rotImageNumber>=total) {
		rotImageNumber = 0;
	}
	rotGoto -= perinstance;
};
//
btns.btnRight.onPress = function() {
	rotImageNumber -= 1;
	if (rotImageNumber<0) {
		rotImageNumber = total-1;
	}
	rotGoto += perinstance;
};
//functions
function getX(number) {
	ax = centerX+(1-distanceValue)*spanX*(Math.cos(rot+number*perinstance))*(perspectiveRatio+(1-perspectiveRatio)*(Math.sin(rot+number*perinstance)+1)/2);
	return ax;
}
function getY(number) {
	//ay = centerY+(1-distanceValue)*spanY*Math.sin(rot+number*perinstance);
	ay = centerY+(1-distanceValue)*spanY*(Math.sin(rot+number*perinstance))*(perspectiveRatio+(1-perspectiveRatio)*(Math.sin(rot+number*perinstance)+1)/2);
	return ay;
}
function getScale(number) {
	sc = (minimumscale+(1-minimumscale)*(1+(Math.sin(rot+number*perinstance)))/2)*100;
	sc *= 1-distanceValue;
	return sc;
}
function blur(dis, number) {
	if (useFocalBlur) {
		fb = 12*focalBlurValue;
		f = 20*distanceValue+fb-fb*(1+(Math.sin(rot+number*perinstance)))/2;
		var blur = new flash.filters.BlurFilter(f, f, 1);
		minf = -50;
		darkness = -130*distanceValue+minf+Math.round((1+(Math.sin(rot+number*perinstance)))/(-2/minf));
		var coma = [1, 0, 0, 0, darkness, 0, 1, 0, 0, darkness, 0, 0, 1, 0, darkness, 0, 0, 0, 1, 0];
		var brightness = new flash.filters.ColorMatrixFilter(coma);
		var tmpFilters:Array = dis.filters;
		tmpFilters.push(blur);
		tmpFilters.push(brightness);
		dis.filters = tmpFilters;
	}
}
function motionBlur(dis, xdist, ydist) {
	if (useMotionBlur) {
		var blur = new flash.filters.BlurFilter(xdist*motionBlurValue, ydist*motionBlurValue, 1);
		var tmpFilters:Array = dis.filters;
		tmpFilters.push(blur);
		dis.filters = tmpFilters;
	}
}
function reflect(src, target, alpha, wi, he) {
	var bdata:BitmapData = new BitmapData(wi/(src._xscale/100), he/(src._yscale/100), true, 0x00ffffff);
	bdata.draw(src);
	var refmc:MovieClip = target.createEmptyMovieClip("refmc", 0);
	refmc.attachBitmap(bdata,0);
	refmc._width = wi;
	refmc._height = he;
	refmc._yscale = -refmc._yscale;
	refmc._y = he;
	var rmask = target.createEmptyMovieClip("rmask", 1);
	var matrix = {matrixType:"box", x:0, y:0, w:wi, h:he, r:(90/180)*Math.PI};
	rmask.beginGradientFill("linear",[0xffffff, 0xffffff],[alpha, 0],[0, 100],matrix,"pad");
	rmask.moveTo(0,0);
	rmask.lineTo(0,he);
	rmask.lineTo(wi,he);
	rmask.lineTo(wi,0);
	rmask.lineTo(0,0);
	rmask.endFill();
	refmc.cacheAsBitmap = true;
	rmask.cacheAsBitmap = true;
	refmc.setMask(rmask);
}
function centerObject(ob){
	ob._x = centerX;
	ob._y = centerY-50;
	ob.swapDepths((minimumscale+(1-minimumscale)*(1+(Math.sin(Math.PI)))/2)*10000);
	ob._visible = true;
}


Последний раз редактировалось zigaYO; 14.09.2010 в 00:57.