BUONA SERA A TUTTI...
cercherò di eseere breve e conciso..
ho scaricato un menu orizz. che carica delle icone che compaiono 3 alla volta tramite xml. Il mio problema è che tutte le icone mi eseguono la stessa funzione ; function noce() {
loadMovie("prova.swf", "_root.cont");
}
Vorrei poter assegnare a ogni icona una funzione differente..
sarà possibile?
incollo il codice in questione
ringrazio tutti anticipatamente
stop();
//
Stage.scaleMode = "noScale";
//
var menuArray:Array = new Array();
var settingsArray:Array = new Array();
var myMenu:XML = new XML();
myMenu.ignoreWhite = true;
//
myMenu.onLoad = function(sucess) {
if (sucess) {
rootNode = this.firstChild.childNodes;
var totalMenu:Number = rootNode.length;
//node 0 = add settings info into array
s_showMax = rootNode[0].attributes.showMax;
s_iconWidth = rootNode[0].attributes.iconWidth;
s_totalWidth = rootNode[0].attributes.totalWidth;
s_gap = rootNode[0].attributes.gap;
s_sec = rootNode[0].attributes.sec;
s_easeType = rootNode[0].attributes.easeType;
settingsArray.push(s_showMax, s_totalWidth, s_gap, s_sec, s_iconWidth);
//
for (i = 1; i < totalMenu; i++) {
//node >= 0 add menu info into array
m_name = rootNode[i].attributes.name;
m_src = rootNode[i].attributes.src;
m_url = rootNode[i].attributes.url;
m_type = rootNode[i].attributes.type;
menuArray.push([m_name, m_src, m_url, m_type]);
}
//trace(menuArray[0]);
gotoAndStop("done");
}
};
myMenu.load("menu.xml");
fotogramma "done":
stop();
//
import mx.transitions.Tween;
//
var showMax:Number = int(settingsArray[0]);
var totalItems:Number = menuArray.length;
var menuWidth:Number = settingsArray[1];
var gap:Number = int(settingsArray[2]);
var mvSec:Number = int(settingsArray[3]);
var mvEase:Object = mx.transitions.easing.Regular.easeInOut;
var mwidth:Number = int(settingsArray[4]);
var visItems:Array = new Array();
var hol:MovieClip = this.createEmptyMovieClip("holder", this.getNextHighestDepth());
//
//define showmax items
for (vi=0; vi<showMax; vi++) {
visItems.push(vi);
}
//
//attach items
for (v=0; v<totalItems; v++) {
var mc:MovieClip = hol.attachMovie("menu", "item"+v, hol.getNextHighestDepth());
mc.txt.text = v;
//
//mc._x = mc._width*v;
if (v<showMax) {
mc._x = mwidth*v;
} else {
mc._x = gap+(mwidth*v);
}
mc.title = menuArray[v][0];
mc.url = menuArray[v][2];
mc.type = menuArray[v][3];
mc.onRollOver = bOver;
mc.onRollOut = bOut;
mc.onRelease = function() {
loadMovie("prova.swf", "_root.cont");
}
if (rootNode[i].attributes.name == "Shout") {
mc.onRelease = function() {
loadMovie("prova2.swf", "_root.cont");
};
}
//
mc.imgHol.loadMovie(menuArray[v][1]);
mc.imgRef.loadMovie(menuArray[v][1]);
//
}
//
var fakeHolWidth:Number = mwidth*showMax;
hol._x = menuWidth/2-fakeHolWidth/2;
var stPtR:Number = fakeHolWidth+gap;
var stPtL:Number = 0-gap-mwidth;
ico2._x = stPtR;
tip._alpha = 0;
trace("hol x "+hol._x);
//
//define center, left and right army
var cArmy:Array = new Array();
var lArmy:Array = new Array();
var rArmy:Array = new Array();
var inc:Number = 0;
for (v=0; v<totalItems; v++) {
if (v>showMax-1) {
lArmy[inc] = Math.ceil(stPtL-(mwidth*inc));
inc++;
}
}
lArmy.reverse();
trace(lArmy);
var inc:Number = 0;
for (vi=0; vi<showMax; vi++) {
cArmy[vi] = Math.ceil(mwidth*vi);
}
trace(cArmy);
var inc:Number = 0;
for (v=0; v<totalItems; v++) {
if (v<totalItems-showMax) {
rArmy[inc] = Math.ceil(stPtR+(mwidth*v));
inc++;
}
}
trace(rArmy);
//ico1._x = lArmy[0];
//ico2._x = rArmy[0];
if (totalItems<showMax) {
prev._alpha = next._alpha=70;
prev.enabled = next.enabled=false;
} else {
prev._alpha = 70;
prev.enabled = false;
next._alpha = 100;
next.enabled = true;
}
//when arrow is clicked
updateVisArray = function (which) {
//trace(visItems);
if (totalItems>showMax) {
if (which == "R") {
//mv items 1st then update visItem array
if (visItems[0] != 0) {
moveItems(which);
for (v=0; v<showMax; v++) {
visItems[v]--;
}
trace(visItems);
}
if (visItems[0] == 0) {
prev._alpha = 70;
prev.gotoAndPlay("ot");
prev.enabled = false;
}
next._alpha = 100;
next.enabled = true;
}
if (which == "L") {
//mv items 1st then update visItem array
if (visItems[showMax-1] != totalItems-1) {
moveItems(which);
for (v=0; v<showMax; v++) {
visItems[v]++;
}
trace(visItems);
}
if (visItems[showMax-1] == totalItems-1) {
next._alpha = 70;
next.gotoAndPlay("ot");
next.enabled = false;
}
prev._alpha = 100;
prev.enabled = true;
}
}
};
//
//start moving items into place
moveItems = function (which1) {
if (which1 == "L") {
//left mv
for (i=0; i<visItems[0]; i++) {
//trace("@ left items:__" + "item" + i + "__" + lArmy[i]);
var myTween:Tween = new Tween(hol["item"+i], "_x", mvEase, hol["item"+i]._x, lArmy[i], mvSec, true);
}
//center mv
icc = 0;
for (i=visItems[0]; i<visItems[showMax-1]+1; i++) {
if (no1added == 1) {
var myTween:Tween = new Tween(hol["item"+i], "_x", mvEase, hol["item"+i]._x, cArmy[icc], mvSec, true);
//trace("center items:__" + "item" + i + "__" + cArmy[icc]);
icc++;
} else {
var myTween:Tween = new Tween(hol["item"+i], "_x", mvEase, hol["item"+i]._x, lArmy[lArmy.length-1], mvSec, true);
no1added = 1;
//trace("center items:__" + "item" + i + "__" + lArmy[lArmy.length - 1]);
}
}
delete no1added;
//right mv
icc = 0;
for (i=visItems[showMax-1]+1; i<totalItems; i++) {
if (no1added == 1) {
var myTween:Tween = new Tween(hol["item"+i], "_x", mvEase, hol["item"+i]._x, rArmy[icc], mvSec, true);
//trace("right items: " + "item" + i + "__" + rArmy[icc]);
icc++;
} else {
var myTween:Tween = new Tween(hol["item"+i], "_x", mvEase, hol["item"+i]._x, cArmy[cArmy.length-1], mvSec, true);
no1added = 1;
//trace("right items: " + "item" + i + "__" + cArmy[cArmy.length - 1]);
}
}
tip.stat.text = (totalItems-2)-(visItems[showMax-1])+" more";
delete no1added;
}
if (which1 == "R") {
//left mv
icc = 0;
for (i=0; i<visItems[0]; i++) {
if (i != visItems[0]-1) {
var myTween:Tween = new Tween(hol["item"+i], "_x", mvEase, hol["item"+i]._x, lArmy[lArmy.length-icc]._x+mwidth, mvSec, true);
//
icc++;
//trace("left items: " + "item" + i + "__" + lArmy[lArmy.length - icc]);
} else {
var myTween:Tween = new Tween(hol["item"+i], "_x", mvEase, hol["item"+i]._x, cArmy[0], mvSec, true);
no1added = 1;
//trace("left items: " + "item" + i + "__" + cArmy[0] - 1);
}
}
tip.stat.text = visItems[0]-1+" more";
delete no1added;
//center mv
icc = 0;
for (i=visItems[0]; i<visItems[showMax-1]+1; i++) {
if (i<=visItems[showMax-1]-1) {
var myTween:Tween = new Tween(hol["item"+i], "_x", mvEase, hol["item"+i]._x, cArmy[icc+1], mvSec, true);
//trace("center items:__" + "item" + i + "__" + cArmy[icc + 1]);
icc++;
} else {
var myTween:Tween = new Tween(hol["item"+i], "_x", mvEase, hol["item"+i]._x, rArmy[0], mvSec, true);
no1added = 1;
//trace("center items:__" + "item" + i + "__" + rArmy[0]);
}
}
delete no1added;
//right mv
inc = 0;
for (i=visItems[showMax-1]+1; i<totalItems; i++) {
//trace("$ right items:__" + "item" + i + "__" + rArmy[inc + 1]);
var myTween:Tween = new Tween(hol["item"+i], "_x", mvEase, hol["item"+i]._x, rArmy[inc+1], mvSec, true);
inc++;
}
}
};
prev.swapDepths(this.getNextHighestDepth());
next.swapDepths(this.getNextHighestDepth());
prev.onPress = function() {
updateVisArray("R");
};
next.onPress = function() {
updateVisArray("L");
};
prev.onRollOver = function() {
st();
tip.stat.text = visItems[0]+" more";
this.gotoAndPlay("ov");
};
next.onRollOver = function() {
st();
tip.stat.text = (totalItems-1)-(visItems[showMax-1])+" more";
this.gotoAndPlay("ov");
};
prev.onRollOut = next.onRollOut=function () {
nost();
tip.stat.text = "";
this.gotoAndPlay("ot");
};
function bOver() {
st();
tip.stat.text = this.title;
this.gotoAndPlay("in");
}
function bOut() {
nost();
tip.stat.text = "";
this.gotoAndPlay("out");
}
function noce() {
loadMovie("prova.swf", "_root.cont");
}
function mario() {
loadMovie("prova2.swf", "_root.cont");
}
nost = function () {
tip._alpha = 0;
delete _root.onEnterFrame;
};
st = function () {
tip.swapDepths(this.getNextHighestDepth());
_root.onEnterFrame = function() {
tip._alpha = 100;
tip._x += (_xmouse-tip._x)/5;
tip._y += (_ymouse-tip._y)/5;
};
};

Rispondi quotando
