Hey peep,
this is my first post, but not my first time using Kirupa…
Need the help of an experienced AS’er regarding a headache with an anoying image gallery in FLA8 & XML…
The XML determines the number of Menu buttons in the main menu & scrolling thumbnails menu, which are attached dynamically…
The problem is loading the second gallery XML into the scrolling menu when the main menu button is pressed… The XML is loading, bu not into the scrolling menu… HEEELLLLPPP!!!
Plz… The code is messy I know… I am a designer not a coder & thus will appreciate you patiences & attention as I make steps to understanding AS…
Appreciate the help…
MY CODE:::::::
_quality= “best”;
fscommand(“fullscreen”, “false”);
fscommand(“allowscale”, “false”);
stop();
function loadXML(loaded) {
if (loaded) {
xmlNoda = this.firstChild;
xmlNode = this.firstChild.firstChild.firstChild;
firstImage();
}
gotoAndStop(2);
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load(“Build/swfs/XMLMenu/menua.xml”);
//////////////////////////////////////////////////////////////////////////
//Preload this movie…
preload = function(mc) {
this.onEnterFrame = function() {
filesize = lrgHolder.getBytesTotal();
loaded = lrgHolder.getBytesLoaded();
preload._visible = true;
if (loaded != filesize) {
preload.pre_bar._xscale = 100*loaded/filesize;
} else {
preload._visible = false;
if (lrgHolder._alpha<100) {
lrgHolder._alpha += 10;
}
}
}
}
preload();
/////////////////////////////////////////////////////////////////////////////////////////////////////
Get the XML thingies…
var XMLlinks = [];
var XMLlinkz = [];
var catergories = [];
var header = [];
var captions = [];
var image = [];
var largeImg = [];
XMLLoader = function() {
total = xmlNoda.childNodes.length;
totally = xmlNode.childNodes.length;
for (a=0; a<total; a++) {
XMLlinkz[a] = xmlNoda.childNodes[a].childNodes[0];
XMLlinks[a] = xmlNoda.childNodes[a].childNodes[0].childNodes;
catergories[a] = xmlNoda.childNodes[a].childNodes[0].attributes.names;
header[a] = xmlNoda.childNodes[a].childNodes[0].attributes.names;
captions[a] = xmlNode.childNodes[a].childNodes[0].childNodes[0];
image[a] = xmlNode.childNodes[a].childNodes[1].childNodes;
largeImg[a] = xmlNode.childNodes[a].childNodes[2].childNodes;
var catHeader = eval ("caterHdr_mc.ca");
var imgName = eval ("imgNme_mc.iNme");
catHeader.text = catergories[0]+":";
imgName.text = captions[0];
var catHeaderRf = eval ("caterHdrRf_mc.ca");
var imgNameRf = eval ("imgNmeRf_mc.iNme");
catHeaderRf.text = catergories[0]+":";
imgNameRf.text = captions[0];
}
}
XMLLoader();
//////////////////////////////////////////////////////////////////////////////////////////////////
var contentBox = setUpConBox();
function setUpConBox() {
var cb = this.createEmptyMovieClip(“cbc”, this.getNextHighestDepth());
var w = 300;
var h = 24;
cb._x = 0;
cb._y = 0;
//cb._visible = false;
//cb.beginFill(0x6699CC,10);
//cb.lineStyle(1,0x6699CC,60)
cb.lineTo(w, 0);
cb.lineTo(w, h);
cb.lineTo(0, h);
cb.lineTo(0, 0);
cb.endFill();
return cb;
}
//////////////////////////////////////////////////////////////////////////////////////////////////Calling content holders function…
catMenu00(1 , 80, 5 , cbc._width , 5 , 0 , 5 , cbc._height , contentBox , cbc);
var w = 287;
var h = 190;
cbc_1._x = 86.5;
cbc_1._y = 80;
//////////////////////////////////////////////////////////////////////////////////////////////////duplicate ‘cbc_1’ movie to hold larger images…
cbc_1.createEmptyMovieClip(“cbc_1a”, this.getNextHighestDepth());
var lrgHolder = eval(“cbc_1.cbc_1a”);
var w = 2;
var h = 2;
lrgHolder._x = 2;
lrgHolder._y = 2;
//////////////////////////////////////////////////////////////////////////////////////////////////Load the first image randomly…
firstImage = function (min, max):Number {
var randomNum = Math.floor(Math.random() * (max - min + 1)) + min;
return randomNum;
}
for (var i = 0; i < total; i++) {
var loaded = firstImage(0, totally)
lrgHolder.loadMovie(largeImg[loaded], 0);
lrgHolder._alpha = 0;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
var w = 300;
var h = 24;
cbc_2._x = 80;
cbc_2._y = 280;
cbc_2.createEmptyMovieClip(“cbc_2a”, this.getNextHighestDepth());
var w = 80;
var h = 24;
cbc_2a._x = 80;
cbc_2a._y = 280;
var holder = eval(“cbc_2”+".cbc_2a");
holder._x = 0;
holder._y = 0;
var w = 300;
var h = 24;
cbc_3._x = 80;
cbc_3._y = 320;
var w = 100;
var h = 24;
cbc_4._x =-100;
cbc_4._y = 365;
var clipper = cbc_4.attachMovie("smo", "smoo", this.getNextHighestDepth());
///////////////////////////////////////////////////////////////////////////////////////////////////
catMenu01(3 ,145 ,5 ,clipper._width ,4 ,0 ,40 ,clipper._height , clipper, cbc);
///////////////////////////////////////////////////////////////////////////////////////////////////
for (g = 0; g <total; g++) {
var smoBtn = eval(clipper+"_"+g);
smoBtn.onRollOver = function() {
if(this.sts == 0) {
this.gotoAndPlay(“r1”);
}
}
smoBtn.onRollOut = function() {
if(this.sts == 0) {
this.gotoAndPlay(“r2”);
}
}
var fmtc = eval(clipper+"_"+g+".txtBox02.tc");
var fmtd = eval(clipper+"_"+g+".txtBox02.td");
fmtc.text = catergories[g];
fmtd.text = catergories[g];
////////////////////////////////////////////////////////////////////////////////////////
//Activating the catergory headers & buttons…
smoBtn.XMLlinks = XMLlinks[g];
smoBtn.XMLlinkz = XMLlinkz[g];
smoBtn.onPress = function() {
for (k = 0; k <total; k++) {
var smoBtnz = eval(clipper+"_"+k);
if(smoBtnz.sts != 1){
this.gotoAndStop(19);
} else if (smoBtnz.sts != 0){
smoBtnz.gotoAndPlay(19);
} else if (smoBtnz.sts != 1){
this.gotoAndStop(“r2”);
}
catergory = this.XMLlinkz.attributes.names;
header = catergory;
captions[k] = this.XMLlinks[k].childNodes[0].childNodes;
fmta.text = captions[k];
fmtb.text = captions[k];
image = this.XMLlinks[k].childNodes[1].childNodes;
but.loadMovie = image;
largeImg = this.XMLlinks[k].childNodes[2].childNodes;
butt.loadMovie = largeImg;
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////
//Calll Images & attch from XML file
attachPic = function (img,container,pos) {
var but = eval (container + “.hold”);
but.loadMovie(image[pos], 0);
}
largePic = function (img,container,pos) {
var butt = eval (“lrgHolder”);
butt.loadMovie(largeImg[pos], 1);
lrgHolder._alpha = 0;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
//Attaching scrolling menu buttons…
var sma = new Array(totally);
var max = _root.sma.length;
var p = 0;
var itemDepth = 0;
for (p = 0; p <max; p++) {
root.holder.attachMovie(“sma”, "sma"+p, itemDepth, {_x:2, y:2});
curItem = holder["sma"+p];
_root.sma[p] = curItem;
if (p == 0) {
curItem._x = 2;
} else {
curItem._x = holder._width+ 10;
}
itemDepth++;
var fmta = eval("holder.sma_"+p+".scrollTxt.ta");
fmta.text = captions[p];
var fmtb = eval("holder.sma_"+p+".scrollTxt.tb");
fmtb.text = captions[p];
///////////////////////////////////////////////////////////////////////////////////////////////////
//Getting scroll menu buttons into the game…
var smaBtn = eval(“curItem”);
smaBtn.name = p;
smaBtn.onRollOver = function(){
if(this.sts == 0){
this.gotoAndPlay(“r1”);
attachPic(image[p],this,this.name);
}
}
smaBtn.onRollOut = function(){
if(this.sts == 0){
this.gotoAndPlay(“r2”);
}
}
smaBtn.onPress = function () {
var smaBtnz = eval(“curItem”);
if(smaBtnz.sts != 1){
this.gotoAndStop(18);
largePic(largeImg[p],this,this.name, 0);
//trace(this);
} else if (smaBtnz.sts != 0){
smaBtnz.gotoAndPlay(“r2”);
} else if (smaBtnz.sts != this.name){
this.gotoAndStop(18);
}
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////
Scrolling the a content…
scrolling = function () {
var smcDrag = eval (cbc_3.attachMovie(“sme”,“sme_”, this.getNextHighestDepth(), {_x:0, _y:2}));
//Load text into scrollbutton…
var fmtc = eval(“cbc_3.sme_”+".scrollTxt.ta");
fmtc.text = names;
var scrCont = eval ("cbc_2.cbc_2a");
var scrollwidth:Number = cbc_0._width;
var contentwidth:Number = scrCont._width;
var smcDragwidth:Number = smcDrag._width;
var maskwidth:Number = cbc_0._width;
var initPosition:Number = smcDrag._x = cbc_0._x = 0;
var initContentPos:Number = scrCont._x;
var finalContentPos:Number = maskwidth - contentwidth + initContentPos;
var left:Number = cbc_0._x = 0;
var top:Number = cbc_0._y = 2;
var right:Number = cbc_0._width - smcDragwidth + cbc_0._x ; //trace("right "+cbc_0._x);
var bottom:Number = cbc_0._y;
var dx:Number = 0;
var speed:Number = 15;
var moveVal:Number = (contentwidth - maskwidth) / (scrollwidth - smcDragwidth);
smcDrag.onPress = function () {
var currPos:Number = this._x;
var currPos:Number = this._y;
startDrag (this, false, left, top, right, bottom);
this.onMouseMove = function () {
dx = Math.abs (initPosition - this._x);
scrCont._x = Math.round (dx * -1 * moveVal + initContentPos);
}
}
smcDrag.onMouseUp = function() {
stopDrag();
delete this.onMouseMove;
}
btnLeft.onPress = function () {
this.onEnterFrame = function () {
if (scrCont._x + speed < cbc._x) {
if (smcDrag._x <= left) {
smcDrag._x = left;
} else {
smcDrag._x -= speed / moveVal;
}
scrCont._x += speed;
} else {
smcDrag._x = left;
scrCont._x = cbc._x;
delete this.onEnterFrame;
}
}
}
btnLeft.onDragOut = function () {
delete this.onEnterFrame;
}
btnLeft.onMouseOut = function () {
delete this.onEnterFrame;
}
btnRight.onPress = function () {
this.onEnterFrame = function () {
if (scrCont._x - speed > finalContentPos) {
if (smcDrag._x >= right) {
smcDrag._x = right;
} else {
smcDrag._x += speed / moveVal;
}
scrCont._x -= speed;
} else {
smcDrag._x = right;
scrCont._x = finalContentPos;
delete this.onEnterFrame;
}
}
btnLeff.onPress = function () {
this.onEnterFrame = function () {
if (scrCont._x + initContentPos < speed) {
if (smcDrag._x <= left) {
smcDrag._x = left;
} else {
smcDrag._x -= speed / moveVal;
}
scrCont._x += speed;
} else {
smcDrag._x = left;
scrCont._x = initContentPos;
delete this.onEnterFrame;
}
}
}
btnRight.onRelease = function () {
delete this.onEnterFrame;
}
btnRight.onDragOut = function () {
delete this.onEnterFrame;
}
if (contentwidth < maskwidth) {
smcDrag._visible = false;
btnLeft.enabled = false;
btnRight.enabled = false;
btnLeff.enabled = false;
} else {
smcDrag._visible = true;
btnLeft.enabled = true;
btnRight.enabled = true;
btnLeff.enabled = true;
}
}
btnLeff.onRelease = function () {
delete this.onEnterFrame;
}
btnLeff.onDragOut = function () {
delete this.onEnterFrame;
}
if (contentwidth < maskwidth) {
smcDrag._visible = false;
btnLeft.enabled = false;
btnRight.enabled = false;
btnLeff.enabled = false;
} else {
smcDrag._visible = true;
btnLeft.enabled = true;
btnRight.enabled = true;
btnLeff.enabled = true;
}
}
scrolling();
var fmtc = eval("cbc_3.sme_"+".scrollTxt.ta");
var fmtd = eval("cbc_3.sme_"+".scrollTxt.tb");
for (h =0; h <total; h++) {
fmtc.text = header[0];
fmtd.text = header[0];
}
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
//Building content boxes function…
function catMenu00(clms, xpos, vspace, wclip, rws, ypos, hspace, hclip, mc, mcAlias) {
var wclip = wclip;
var hclip = hclip;
var lastDepth = mc.getDepth();
var mcLevel = lastDepth*0;
for (var a = 0; a<clms; a++) {
for (var b = 0; b<rws; b++) {
var newMc = mc+"_"+mcLevel++;
var newMc_ = newMc.substring(8);
var aliasEV = eval("mc");
var alias = mc+"_"+mcLevel;
var mcAlias = alias.substring(8);
var mcDone = mc.duplicateMovieClip(newMc_, lastDepth+1);
mcDone._x = xpos+((wclip+hspace)*a);
mcDone._y = ypos+((hclip+vspace)*b);
lastDepth++;
}
}
return;
}
function catMenu01(clms, xpos, vspace, wclip, rws, ypos, hspace, hclip, mc, mcAlias) {
var wclip = wclip;
var hclip = hclip;
var lastDepth = mc.getDepth();
var mcLevel = lastDepth*0;
for (var a = 0; a<clms; a++) {
for (var b = 0; b<rws; b++) {
var newMc = mc+"_"+mcLevel++;
var newMc_ = newMc.substring(8);
var aliasEV = eval("mc");
var alias = mc+"_"+mcLevel;
var mcAlias = alias.substring(8);
var mcDone = mc.duplicateMovieClip(newMc_.substring(6), lastDepth+1);
mcDone._x = xpos+((wclip+hspace)*a);
mcDone._y = ypos+((hclip+vspace)*b);
lastDepth++;
}
}
return;
}
:::::::::::
Alos XML attached…
Tenafly…