PDA

Просмотр полной версии : Добавление текста в галерею


wayd
12.12.2011, 21:03
Здраствуйте!

Скачал в итернете флеш-галерею по типу Image flow, на первый взглфд не сложную, захотев добавить в не текст понял что не могу этого сделать.
Галерея состоит из флеш файла в котором на первом кадре:

function galleryXml(linkUrl)
{
System.useCodepage = true;
img_name = new Array();
img_link = new Array();
thumb_image = new Array();
galleryLink = new XML();
galleryLink.ignoreWhite = true;
galleryLink.load(linkUrl);
galleryLink.onLoad = function (success)
{
if (success)
{
gotoAndStop(2);
imgNum = galleryLink.firstChild.childNodes.length;
for (var xx = 0; xx < imgNum; ++xx)
{
var Node = this.firstChild.childNodes;
img_name[xx] = Node[xx].childNodes[0].firstChild.nodeValue;
img_link[xx] = Node[xx].childNodes[1].firstChild.nodeValue;
thumb_image[xx] = Node[xx].childNodes[2].firstChild.nodeValue;
}
}
};

var preLoaderCount = 0;

pBar_mc.onEnterFrame = function ()
{
++preLoaderCount;
var N = Math.floor(galleryLink.getBytesLoaded() / galleryLink.getBytesTotal() * 100);
if (!isNaN(N))
{
if (_loc2 >= 100)
{
pBar_mc.play();
this._alpha = this._alpha + 1.000000E-001 * -this._alpha;
if (preLoaderCount == 30)
{
this._visible = false;
delete this.onEnterFrame;
}
}
}
};
}
stop ();
linkUrl = "images.xml";
galleryXml(linkUrl);

На втором кадре:
function init()
{

playDirection = "left";
imgSpeed = 15;
rotateSpeed = 4500;

centerX = (Stage.width/25)-160
centerY =(Stage.height/25)+0
this.createEmptyMovieClip("imgHolder", 1);
imgHolder._x = centerX -(Stage.width/25)
imgHolder._y = centerY -(Stage.width/25)

imageWidth =390;
imageHeight = 310;
targetAlpha = new Array();
targetAlpha = [0, 0, 80, 100, 80, 0, 0];
targetX = new Array();
targetX = [centerX - 55, centerX - 50, centerX-10 , centerX + 150, centerX + 390, centerX + 500, centerX + 370];
targetY = new Array();
targetY = [centerY + 180, centerY + 100, centerY + 80, centerY + 50, centerY + 80, centerY + 100, centerY + 180];
getImageDepth = new Array();
getImageDepth = [0, 90, 110, 200, 112, 100, 0];
targetS = new Array();
targetS = [10, 60, 80, 100, 80, 60, 10];
targetVisible = new Array();
targetVisible = [true, true, true, true, true, true, true];
leftBtn.swapDepths(10000);
rightBtn.swapDepths(10001);
disable_btn.swapDepths(10002);
textVisible = new Array();
textVisible = [false, false, false, true, 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 Hold = imgHolder["img" + i];
Hold.no_txt.text = i;
Hold._visible = false;
Hold._x = centerX;
Hold._xscale = 50;
Hold._yscale = 50;
Hold._alpha = 0;

loadThumbs(thumb_image[i], Hold.thumbs);
loadThumbs(thumb_image[i], Hold.thumbs2.th);

}

setMovie();
diable_btn.swapDepths(210);
diable_btn.onRollOver = function ()
{
leftBtn.gotoAndStop(1);
rightBtn.gotoAndStop(1);
this.useHandCursor = false;
};
}
function setMovie()
{
for (var i = 0; i < totalNum; i++)
{
posNum = (indexNum + i) % totalNum;
var clip = imgHolder["img" + i];
clip._visible = targetVisible[posNum];
clip.desc_txt.autoSize = true;
clip._x = targetX[posNum];
clip._y = targetY[posNum];
clip._xscale = targetS[posNum];
clip._yscale = targetS[posNum];
clip._alpha = targetAlpha[posNum];
clip.swapDepths(getImageDepth[posNum]);
if(getImageDepth[posNum]==200){
trace(clip)
}
imgHolder.cacheAsBitmap=true;
Mask.cacheAsBitmap=true;
imgHolder.setMask(Mask);

}
}
function rotateMovie()
{

disable_btn._visible = true;
for (var i = 0; i < totalNum; i++)
{
posNum = (indexNum + i) % totalNum;
var imgHold = imgHolder["img" + i];
imgHold._visible = false;
imgHold._visible = targetX[posNum];


var T = new mx.transitions.Tween(imgHold, "_x", mx.transitions.easing.Regular.easeOut, imgHold._x, targetX[posNum], imgSpeed, false);
new mx.transitions.Tween(imgHold, "_y", mx.transitions.easing.Regular.easeOut, imgHold._y, targetY[posNum], imgSpeed, false);
new mx.transitions.Tween(imgHold, "_xscale", mx.transitions.easing.Regular.easeOut, imgHold._xscale, targetS[posNum], imgSpeed, false);
new mx.transitions.Tween(imgHold, "_yscale", mx.transitions.easing.Regular.easeOut, imgHold._yscale, targetS[posNum], imgSpeed, false);
new mx.transitions.Tween(imgHold, "_alpha", mx.transitions.easing.Regular.easeOut, imgHold._alpha, targetAlpha[posNum], imgSpeed, false);
imgHold.swapDepths(getImageDepth[posNum]);

T.onMotionFinished = function ()
{
disable_btn._visible = false;
};
}
}

function loadThumbs(linkUrl, movLoader)
{
var McLoader = 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.onLoadInit = function (target)
{
new mx.transitions.Tween(target._parent.pBar_mc, "_alpha", mx.transitions.easing.Strong.easeOut, target._parent.pBar_mc._alpha, 30, 100, false);
target._width = imageWidth;
target._height = imageHeight;
};
McLoader.addListener(obj);
McLoader.loadClip(linkUrl, movLoader);
}
function autoRotate()
{
leftBtn.gotoAndStop(1);
rightBtn.gotoAndStop(1);
if (playDirection == "right")
{
if (indexNum < totalNum)
{
++indexNum
rotateMovie();
;
}
if (indexNum == totalNum)
{
indexNum = 0;
}
}
if (playDirection == "left")
{
if (indexNum > 0)
{
--indexNum;
rotateMovie();
}
if (indexNum == 0)
{
indexNum = totalNum;
}
}
}
stop ();
init();

rightBtn.onRelease = function ()
{

if (indexNum < totalNum)
{
++indexNum;
rotateMovie();;
}
if (indexNum == totalNum)
{
indexNum = 0;
}
for(i=0;i<totalNum;i++){

if(imgHolder["img"+i]._xscale==100){
if(i-1<0){
xx=totalNum-1;
}else{
xx=i-1
}


}
}
};
leftBtn.onRelease = function ()
{

if (indexNum > 0)
{
--indexNum;
rotateMovie();
}
if (indexNum == 0)
{
indexNum = totalNum;
}

for(i=0;i<totalNum;i++){

if(imgHolder["img"+i]._xscale==100){
if(i+1>=totalNum){
xx=0;
}else{
xx=i+1
}

}
}
};


Launch.onRelease=function(){
getURL(currentLink, "_blank");
}

leftBtn.onRollOver = function ()
{
this.gotoAndStop(2);
clearInterval(id);
};
rightBtn.onRollOver = function ()
{
this.gotoAndStop(2);
clearInterval(id);
};
rightBtn.onRollOut = function ()
{
this.gotoAndStop(1);
playDirection = this._name.substr(0, 5).toString();

};
leftBtn.onRollOut = function ()
{
this.gotoAndStop(1);
playDirection = this._name.substr(0, 4).toString();
};
//id = setInterval(autoRotate, rotateSpeed);



И URL документ, в котором содержится путь к картинкам.

Подскажите возможно ли сделать текстовое сопровождение изображения.
Иными словами, можно ли вставить текст в эту галерею?

vivado
13.12.2011, 12:34
Дай исходник

wayd
13.12.2011, 14:10
вот исходник:http://narod.ru/disk/34205630001/xml_gallery_3063_9524236140.zip.html