Click to See Complete Forum and Search --> : removeMovieClip / unloadMovie problems


UglyCat
03-14-2007, 09:56 PM
I am experimenting with Flash and I made a picture viewer. I have the button names dynamically load, as well as an _mc to show the total number of pictures that can be viewed (little boxes, one for each picture)
I want to make it so that when you click on a the named buttons, the previous total of pictures (represented by the small boxes) goes away and the new one is shown.
I've tried using removeMovieClip and unloadMovie, but can't get the result I want.

I've attached the .FLA and the picture folder it draws from. I also know that I don't have enough pics in the folder. I just put generic pics in there so that the nav would work...:)

Here is the code...

//Start of Array of names and total number of picture for each name
var nameList:Object = new Object();
nameList.name = new Array();
nameList.totalPics = new Array();
nameList.name[0] = "Avery";
nameList.totalPics[0] = 40;
nameList.name[1] = "Miles";
nameList.totalPics[1] = 8;
nameList.name[2] = "Wesley";
nameList.totalPics[2] = 26;
//End of Array

navHolder_mc.navBtn_mc._visible = false;
smallNavHolder_mc.smallNavBtn_mc._visible = false;

function populateList(){
var i:Number = -1;
var spacing:Number = navHolder_mc.navBtn_mc._height + 2;
var numberOfNames:Number = nameList.name.length;
while(++i < numberOfNames){
var name:String = "button" + i;
navHolder_mc.navBtn_mc.duplicateMovieClip(name, i);
navHolder_mc[name].btnName_txt.text = nameList.name[i];
navHolder_mc[name]._x = 0;
navHolder_mc[name]._y = i * spacing;
navHolder_mc[name].listID = nameList.name[i];
navHolder_mc[name].listIDNum = nameList.totalPics[i];
navHolder_mc[name].insideNavBtnHit_btn.onRelease = function(){
largeNavClicked(this._parent.listID , this._parent.listIDNum);
picHolder_mc.unloadMovie();
}
};
}

function largeNavClicked(listID:String, listIDNum:Number){
var picsInFolder:Number = listIDNum;
var xSpacing:Number = smallNavHolder_mc.smallNavBtn_mc._width + 2;
var ySpacing:Number = smallNavHolder_mc.smallNavBtn_mc._height + 2;
var xStart:Number = 0;
var yStart:Number = 0;
var j:Number = 0;
var k:Number = 0;
var l:Number = 0;
while(++j <= picsInFolder){
var btnName:String = listID + j;
smallNavHolder_mc.smallNavBtn_mc.duplicateMovieClip(btnName,j);
if (j <= 18){
smallNavHolder_mc[btnName]._x = xStart + xSpacing * j;
smallNavHolder_mc[btnName]._y = yStart;
}else if(k < 18){
++k;
smallNavHolder_mc[btnName]._x = xSpacing * k;
smallNavHolder_mc[btnName]._y = ySpacing;
}else{
++l;
smallNavHolder_mc[btnName]._x = xSpacing * l;
smallNavHolder_mc[btnName]._y = ySpacing * 2;

}
smallNavHolder_mc[btnName].picName = listID + j;
smallNavHolder_mc[btnName].onRollOver = function(){
picHolder_mc.loadMovie("pictures/"+this._name+".jpg");
}
};

}

populateList();