Salve a tutti e scusate ancora il disturbo del principiante.
Io ho trovato una galleria molto carina e sto tentando di modificare il codice e adattare il file alle mie esigenze.
Il problema è questo: la galery da se funziona molto bene, io però vorrei spostare il tutto dentro un altro swf dentro un altro MovieClip e quindi credo che il codice non funzioni più per problemi di nidificazione del codice.

La situazione è questa

Primo file swf con dentro un movie clip "empty" che carica il secondo swf con dentro un movie clip "gallery" con all'interno tutto il codice della gallery e le sue parti.

il codice è il seguente:

stop()
//
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;
/////////////////////////////////////////////////
// Variables //
/////////////////////////////////////////////////
var Galeria:Array = new Array()
//
var thumb:MovieClip
//
var xmlTotal:Number
var total:Number
var colunas:Number
var padding:Number
var itensPagina:Number
var i:Number
var id:Number
var count:Number
var paginaAtual:Number
var numPaginas:Number
var imgAtual:Number
//
var xmlNode:XML
var xmlTotal:XML
//
var next_bt:MovieClip = menu_mc.botoes_mc.next_bt
var prev_bt:MovieClip = menu_mc.botoes_mc.prev_bt
var close_bt:MovieClip = menu_mc.botoes_mc.close_bt
enable(close_bt,false,true);
load_mc._alpha = 0
//
function verificaPagina(){
if(paginaAtual == 0){
enable(prev_bt,false,true);
addTween(prev_bt.bg_mc,{_color:0x444444, time:1, transition:"easeInBounce"})
addTween(prev_bt.icone_mc,{_color:0x999999, time:0.1, transition:"easeInBounce"})
}else {
enable(prev_bt,true);
}
if(paginaAtual == numPaginas-1){
enable(next_bt,false,true);
addTween(next_bt.bg_mc,{_color:0x444444, time:1, transition:"easeInBounce"})
addTween(next_bt.icone_mc,{_color:0x999999, time:0.1, transition:"easeInBounce"})
}else {
enable(next_bt,true);
}
}
/////////////////////////////////////////////////
/////////////////////////////////////////////////
function carregaXML():Void {
ffXML = new XML();
ffXML.ignoreWhite = true;
ffXML.onLoad = function(success:Boolean):Void {
if (success) {
montaXML()
} else {
trace("erro");
}
};
ffXML.load("galeria.xml");
}
function montaXML() {
xmlNode = ffXML.firstChild;
xmlTotal = xmlNode.childNodes.length;
for (var i = 0; i<xmlTotal; ++i) {
var xmlNodeGeral:XMLNode = xmlNode.childNodes[i];
//
Galeria.push({titulo:xmlNodeGeral.childNodes[0].firstChild.nodeValue, thumb:xmlNodeGeral.childNodes[1].firstChild.nodeValue, image:xmlNodeGeral.childNodes[2].firstChild.nodeValue, imageb:xmlNodeGeral.childNodes[3].firstChild.nodeValue});
}
//
ini()
}
function ini(){
total = xmlTotal
colunas = 6;
padding = 2
itensPagina = 36
count = 0
paginaAtual = 0;
numPaginas = Math.ceil(total/itensPagina);
//
build(paginaAtual)
verificaPagina()
}
/////////////////////////////////////////////////
// Build the Gallery //
/////////////////////////////////////////////////
function build(pagina) {
var inicio = pagina*itensPagina
/////////////////////////////////////////////////
for (i = 0; i<total; i++) {
thumb = hold_thumbs["item"+i];
thumb.removeMovieClip()
}
/////////////////////////////////////////////////
for (i = inicio; i<inicio+itensPagina; i++) {
id = i-inicio;
if(i<total){
thumb = hold_thumbs.attachMovie("item", "item"+i, i);
//
thumb.titulo = Galeria[i].titulo
thumb.thumb = Galeria[i].thumb
thumb.image = Galeria[i].image
thumb.imageb = Galeria[i].imageb
//
thumb.posX = Math.round((120+padding)*(id%colunas));
thumb.posY = Math.round((80+padding)*Math.floor(id/colunas));
thumb._x = thumb.posX;
thumb._y = thumb.posY;
//
thumb.i = i;
thumb.small_mc.desc_mc.tit_txt.autoSize = "left"
thumb.small_mc.desc_mc.tit_txt.text = (thumb.titulo).toUpperCase()
//
thumb.small_mc.alvo_mc._y = 80;
thumb.loader_mc._alpha = 0;
enable(thumb,false);
//
loadManager.queue({file:thumb.thumb, target:thumb.small_mc.alvo_mc,
onStart:function () {
addTween(this._parent._parent.loader_mc,{_alpha:10 0, time:0.5, transition:"easeInBounce"});
addTween(this,{_saturation:0, time:0, transition:"easeInBounce"});
},
onComplete:function () {
addTween(this._parent._parent.small_mc.alvo_mc,{_y :0, time:0.5, transition:"easeInBounce", rounded:true});
addTween(this._parent._parent.loader_mc,{_alpha:0, time:0.5, transition:"easeInBounce"});
enable(this._parent._parent,true);
}
});
//
thumb.onRollOver = function() {
addTween(this.small_mc.alvo_mc,{_y:-15, _saturation:100, time:0.5, transition:"easeInBounce"});
addTween(this.small_mc.desc_mc,{_y:60, time:0.5, transition:"easeInBounce", rounded:true});
};
thumb.onRollOut = thumb.onDragOut = function () {
addTween(this.small_mc.alvo_mc,{_y:0, _saturation:0, time:0.5, transition:"easeInBounce"});
addTween(this.small_mc.desc_mc,{_y:80, time:0.5, transition:"easeInBounce", rounded:true});
};
thumb.onRelease = function() {
enable(prev_bt,false, true);
enable(next_bt,false, true);
imgAtual = this.i
//
thumbsHide();
//
setTimeout(loadImg, -10, this.image, hold_big);
setTimeout(loadImg, -10, this.imageb, hold_bigb);
};
}
}
}
/////////////////////////////////////////////////
// Hide Thumbs //
/////////////////////////////////////////////////
function thumbsHide() {
for (i = (paginaAtual+1)*itensPagina-itensPagina; i<(paginaAtual+1)*itensPagina; i++) {
thumb = hold_thumbs["item"+i];
addTween(thumb.small_mc.alvo_mc,{_y:80, _saturation:0, time:0.5, transition:"easeInBounce", delay:Math.random()*0.3});
addTween(thumb.small_mc.desc_mc,{_y:80, time:0.5, transition:"easeInBounce"});
enable(thumb,false);
}
}
/////////////////////////////////////////////////
// Show Thumbs //
/////////////////////////////////////////////////
function thumbsShow() {
for (i = (paginaAtual+1)*itensPagina-itensPagina; i<(paginaAtual+1)*itensPagina; i++) {
thumb = hold_thumbs["item"+i];
addTween(thumb.small_mc.alvo_mc,{_y:0, time:1, transition:"easeInBounce", delay:Math.random()*0.3});
enable(thumb,true);
}
}
/////////////////////////////////////////////////
// Next Page //
/////////////////////////////////////////////////
function proxPagina() {
thumbsHide()
//
paginaAtual++
setTimeout(build,600, paginaAtual);
//
verificaPagina()
}
/////////////////////////////////////////////////
// Previous Page //
/////////////////////////////////////////////////
function prevPagina() {
thumbsHide()
//
paginaAtual--
setTimeout(build,600, paginaAtual);
//
verificaPagina()
}
/////////////////////////////////////////////////
// Function that loads the Big Image //
/////////////////////////////////////////////////
function loadImg(url:String, mc:MovieClip){
loadManager.load({file:url, target:mc,
onComplete:function(){
_root.load_mc._alpha = 0
//
mc._visible = false
setTimeout(transforma,50, mc)
enable(close_bt, true);
},
onStart:function(){
_root.load_mc._alpha = 100
},
onProgress:function(alvo:Object, bLoad:Number, bTotal:Number) {
_root.load_mc.pct_txt.text = (Math.round(bLoad/bTotal*100)+"%");
}
})
}
/////////////////////////////////////////////////
// Apply the Bitmap function on the loaded image //
/////////////////////////////////////////////////
function transforma(mc:MovieClip){
var largItem:Number = 120;
var altItem:Number = 80;
var posX:Number
var posY:Number
var i:Number
/////////////////////////////////////////////////
addTween(menu_mc.bg_mc,{_width:mc._width, time:0.5, transition:"easeInBounce"});
addTween(menu_mc.botoes_mc,{_x:Math.round(mc._widt h-menu_mc.botoes_mc._width-10), time:0.5, transition:"easeInBounce"});
/////////////////////////////////////////////////
var bmap:BitmapData = new BitmapData(mc._width, mc._height, false, 0x000000);
bmap.draw(mc);
//
var numLargura:Number = Math.ceil(bmap.width/largItem)
var numAltura:Number = Math.ceil(bmap.height/altItem)
var numTotal:Number = (numLargura)*(numAltura)
//
var posXstage:Number = mc._x
var posYstage:Number = mc._y
//
for(i=0; i<numTotal; i++){
posX = Math.round((largItem)*(i%numLargura));
posY = Math.round((altItem)*Math.floor(i/numLargura));
//
var copia:BitmapData = new BitmapData(largItem, altItem, false, 0x000000);
copia.copyPixels(bmap,new Rectangle(posX, posY, largItem, altItem),new Point(0, 0));
//
var novoAlvo:MovieClip = _root.createEmptyMovieClip("novoAlvo"+count++, _root.getNextHighestDepth());
novoAlvo.attachBitmap(copia,_root.getNextHighestDe pth());
//
novoAlvo._x = posX+posXstage;
novoAlvo._y = posY+posYstage;
novoAlvo._yscale = novoAlvo._alpha = 0
//
addTween(novoAlvo,{_yscale:100, _alpha:100, time:1, transition:"easeInBounce", delay:Math.random()*0.3});
}
//
mc.swapDepths(0)
}
/////////////////////////////////////////////////
// Close the Big Image //
/////////////////////////////////////////////////
function closeBig(){
for(i=0; i<count; i++){
var novoAlvo:MovieClip = _root["novoAlvo"+i]
addTween(novoAlvo,{_yscale:0, _alpha:0, time:1, transition:"easeInBounce", delay:Math.random()*0.3, onComplete:function(){this.removeMovieClip()}});
}
setTimeout(thumbsShow,500);
verificaPagina()
enable(close_bt,false, true)
addTween(close_bt.bg_mc,{_color:0x444444, time:1, transition:"easeInBounce"})
addTween(close_bt.icone_mc,{_color:0x999999, time:0.1, transition:"easeInBounce"})
//
addTween(menu_mc.botoes_mc,{_x:621, time:0.5, transition:"easeInBounce"});
addTween(menu_mc.bg_mc,{_width:720, time:0.5, transition:"easeInBounce"});
}
/////////////////////////////////////////////////
// A simple function to enabled/disabled a MovieClip //
/////////////////////////////////////////////////
function enable(mc:MovieClip, stats:Boolean, transparencia:Boolean) {
if (stats) {
mc._alpha = 100
mc.enabled = mc.useHandCursor=true;
} else {
if(transparencia){
mc._alpha = 50
}
mc.enabled = mc.useHandCursor=false;
}
}
/////////////////////////////////////////////////
/////////////////////////////////////////////////
function efeitoBt(mc:MovieClip, tipo:String){
mc.icone_mc.gotoAndStop(tipo)
mc.onRollOver = function(){
addTween(this.bg_mc,{_color:0xFF6699, time:0.1, transition:"easeInBounce"})
addTween(this.icone_mc,{_color:0x000000, time:0.1, transition:"easeInBounce"})
}
mc.onRollOut = mc.onDragOut = function(){
addTween(this.bg_mc,{_color:0x444444, time:1, transition:"easeInBounce"})
addTween(this.icone_mc,{_color:0x999999, time:0.1, transition:"easeInBounce"})
}
}
/////////////////////////////////////////////////
/////////////////////////////////////////////////
efeitoBt(prev_bt, "prev")
efeitoBt(next_bt, "next")
efeitoBt(close_bt, "close")
//
next_bt.onRelease = proxPagina;
prev_bt.onRelease = prevPagina;
close_bt.onRelease = closeBig;
/////////////////////////////////////////////////
/////////////////////////////////////////////////
carregaXML()
Avrei provato diversi modi ma non riesco a trovare la soluzione.
Chiunque mi possa illuminare è ben venuto.
Grazie ancora e scusate il disturbo.