21/09/2010, 04:20
|
| | Fecha de Ingreso: diciembre-2004
Mensajes: 42
Antigüedad: 19 años, 11 meses Puntos: 0 | |
Respuesta: Barra de la galeria de imagenes mas lenta Hola, te paso el super-codigo que esta en el primer fotograma del menu thubnails.
Muchas gracias.
// There are fours elements on the stage:
// - the Scroll Bar component that is attached to the thumbnailsMenu Movie Clip and the two buttons
// a) select the Scroll Bar component from the stage / open the Components Inspector Panel and adjust the visible area
// size (viewAreaWidth/viewAreaHeight parameters) and other various parameters or leave them as is since they area already populated
// with default values.
// b) double click the thumbnailsMenu Movie Clip and adjust various menu specific parameters
// Repeat steps a-b (not necessary in this order) till you are satisfied with the results.
// autoPlay PARAMETERS //
//use menu roll over scroll
var useMenuRollOverScroll = 1;
//use selection focus
//var useRowFocus = 1;
//var useRowFocusOverItems = 1; //the focus clip will be place over or behind the items
//use auto play selection
var useAutoPlay = 0;
var autoPlayDelay = 1.5; //auto play checking interval - in seconds
// hide or not the thumb menu scroll bar
var hideScrollBar = 0;
this._parent._alpha = 0;
//auxiliary variables used in autoPlay calculation
var endCurrVideo = 0; // shows if current video ends and next video can start playing
//aux variables used in focus clip calculation
var scrollerIntId;
//aux variables used in autoPlay calculation
var autoPlayIntId;
var totalCells;
var rowsNo;
var pct;
var currPct;
var cellIdx;
var curCell;
var timer;
//aux variables used in rollOver scroll calculation
var menuX = mc1._x;
var menuY = mc1._y;
var firstYOut = 0;
var firstXOut = 0;
// END PARAMETERS //
var imageBox = this._parent.imageBox;
//var loader = this._parent.loaderanim;
//var descriptionBox = imageBox.contentDescriptionBox.contentDescription; //path to description Movie Clip
//var titleBox = imageBox.contentDescriptionBox.contentTitleBox;
//imageBox._visible = false;
//loader._alpha = 0;
//imageBox.contentDescriptionBox._alpha = 0;
// INIT AUTOPLAY METHOD //
function initAutoPlayEngine() {
//check mouse scroll percentage
if (useMenuRollOverScroll) {
sb1.useMouseWheel = "false";
startCheckMouseScroll();
}
//check auto play
initAutoPlayParams(); //init auto play param values used in calculation
if (useAutoPlay) {
startAutoPlay();
}
else {
setPauseState(autoPlayBtn);
}
//BY DEFAULT REVEAL FIRST IMAGE //
//trace("One: "+imageBox["p0"]._name+" "+imageBox["p0"]._alpha+" "+imageBox["p0"]._visible+" "+imageBox._alpha+" "+imageBox._visible);
imageBox["p0"]._visible = true;
imageBox["p0"].contentDescriptionBox._alpha = 0;
imageBox["p0"].contentDescriptionBox._alpha = 0;
//imageBox["p0"].fadeIn();
/*imageBox.imgMc.loadMovie(mc1["p0"]["info"].attributes.bigimage);
titleBox.tf.text = mc1["p0"]["info"].attributes.title;
descriptionBox.tf.htmlText = mc1["p0"]["info"].firstChild.nodeValue;
mc1["p0"]["overShadow"]._alpha = 0;
imageBox._visible = false;
loader._alpha = 100;
imageBox.onEnterFrame = imageBox.preload; */
//create focus rect movie clip inside the table
if (mc1.useRowFocus==1) {
// if (useRowFocusOverItems==1) { mc1.attachMovie("rowFocusRect","focusRect",50000); }
/// else {mc1.attachMovie("rowFocusRect","focusRect",100);} //1000 and up is reserver for images inside the menu
// mc1["focusRect"].swapDepths(0);
// mc1["focusRect"]._width = mc1.focusRectWidth;
// mc1["focusRect"]._height = mc1.focusRectHeight;
}
//reveal content
fade(this._parent,0,100,1);
}
// AUTO PLAY HANDLER //
//called only once after the table is rendered if autoPlay is set to true
function startAutoPlay() {
clearInterval(autoPlayIntId);
autoPlayIntId = setInterval(this,"autoPlay",timer);
endCurrVideo = 1;
}
function stopAutoPlay() {
clearInterval(autoPlayIntId);
}
function autoPlay() {
//trace("auto play: "+endCurrVideo);
if (endCurrVideo==1) { //play/load next video/image only when current video/image ends
var prevCell = curCell; //previous cell mc reference
if (cellIdx == (totalCells - 1)) {
cellIdx = 0;
currPct = 0;
}
else {
cellIdx += 1;
if (cellIdx == (totalCells - 1)) { currPct = 100; }
else {
//currPct += pct;
currPct = cellIdx*pct;
currPct = Math.round(currPct);
}
}
//trace("Next cell: "+cellIdx+" "+currPct);
var curCellName = "p"+cellIdx;
var curCell1 = mc1[curCellName];
//rollOutHandler(prevCell); //roll out previous row
//rollOverHandler(curCell); //roll over the current row
initContent(curCell1); //start playing the current video
//setFocusRect(curCell1); //set focus rect on this cell
startSetScrollBar(); //adjust the scroller position
}
}
function initAutoPlayParams() { //it executes once after the table is rendered
totalCells = mc1.nodes.length;
rowsNo = mc1.nodes.length - 1;
pct = 100 / rowsNo;
curCell = mc1["p0"];
cellIdx = 0;
currPct = 0;
timer = autoPlayDelay * 1000;
if (hideScrollBar==1) sb1._alpha = 0;
//trace(curCell+" "+pct+" "+rowsNo);
}
//restart autoPlay from the current cell position
function restartAutoPlay() {
cellIdx = Number(curCell._name.substr(1,curCell._name.length-1));
//if (!(cellIdx%2)) cellIdx -= 1; //get current selected row index (given by the first cell in the row index)
clearInterval(autoPlayIntId);
autoPlayIntId = setInterval(this,"autoPlay",timer);
}
//autoplay button handlers //
function setPlayState(mc) {
mc.gotoAndStop(1);
restartAutoPlay();
useAutoPlay = 1;
endCurrVideo = 1; //set this to 1 so it can starts playing the next video
}
function setPauseState(mc) {
//trace("set pause");
mc.gotoAndStop(2);
stopAutoPlay();
useAutoPlay = 0;
endCurrVideo = 0;
}
autoPlayBtn.onPress = function() {
//trace("state: "+useAutoPlay);
//0 -> pause state 1 -> play state
if (useAutoPlay == 0) {setPlayState(this);}
else
{setPauseState(this);}
}
prevVideoBtn.onPress = function() {
var cellRef;
//get current selected row index (given by the first cell in the row index)
cellIdx = Number(curCell._name.substr(1,curCell._name.length-1));
//if (!(cellIdx%2)) cellIdx -= 1;
//determine previous cell index
if (cellIdx==0) { cellIdx = totalCells - 1; }
else { cellIdx = cellIdx - 1; }
cellRef = mc1["p"+cellIdx];
//call the press handler with the respective cell mc as parameter
mc1.pressHandler(cellRef);
//set scroll percentage
currPct = Math.round(cellIdx*pct);
//trace(curCell+" "+cellIdx+" "+cellRef+" "+currPct);
startSetScrollBar(); //adjust the scroller position
}
nextVideoBtn.onPress = function() {
var cellRef;
//get current selected row index (given by the first cell in the row index)
cellIdx = Number(curCell._name.substr(1,curCell._name.length-1));
//if (!(cellIdx%2)) cellIdx -= 1;
//determine previous row index -> determined by the first cell index in the row
if (cellIdx==(totalCells - 1)) { cellIdx = 0; }
else { cellIdx = cellIdx + 1; }
cellRef = mc1["p"+cellIdx];
//call the press handler with the respective cell mc as parameter
//trace(cellIdx+" "+cellRef);
mc1.pressHandler(cellRef);
//set scroll percentage
currPct = Math.round(cellIdx*pct);
startSetScrollBar(); //adjust the scroller position
}
// END AUTOPLAY HANDLER //
//SET FOCUS RECT AND SCROLL PERCENTAGE METHODS //
function getRowXY(mc) {
var rowX = mc._x;
var rowY = mc._y;
return Array(rowX,rowY);
}
function setScrollPercentage() {
sb1.scrollPercentage = currPct; //adjust the scroll position
clearInterval(scrollerIntId);
//trace("set scroller2: "+currPct);
}
function startSetScrollBar() {
//trace("set scroller1");
clearInterval(scrollerIntId);
scrollerIntId = setInterval(this,"setScrollPercentage",50);
}
function setFocusRect(mc) {
//trace("set focus rect: "+mc);
if (useRowFocus) {
var res = getRowXY(mc);
var rowX = res[0];
var rowY = res[1];
mc1["focusRect"]._x = rowX;
mc1["focusRect"]._y = rowY;
}
}
//END SET |