Hello All.
Im new here and I’m trying to program a drawer style image
viewer.
I attached the file because it’s really complicated to explain.
What I want to do is when theres already a “drawer” open and you click on another images it close the other drawer.
heres the code
import fl.transitions.Tween;
import fl.transitions.easing.*;
var itemVar:Array = new Array();
var active = 0;
var var_open:Number = 1;
var itemClick:Number;
var somethingopen = "Close";
// chargement du xml
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest("items.xml"));
function LoadXML(e:Event):void {
xmlData = new XML(e.target.data);
ParseBooks(xmlData);
}
// création des items à partir du xml
function ParseBooks(bookInput:XML):void {
var bookAttributes:XMLList = bookInput.item.attributes();
var i:Number = 0;
for each (var bookSRC:XML in bookAttributes) {
var itemMovieClip:item = new item;
itemVar.push(itemMovieClip);
this.addChild(itemMovieClip);
itemMovieClip.x = 30*i;
itemMovieClip.itemName = bookSRC;
itemMovieClip.itemNum = i;
itemMovieClip.addEventListener(MouseEvent.CLICK, onClick);
i++;
}
}
function onClick(event:MouseEvent) {
if (event.currentTarget.var_open == 1) {
trace ('test1');
somethingopen = "Close";
trace (somethingopen);
for (var kk:int = event.currentTarget.itemNum+1; kk < itemVar.length; kk++) {
trace ("move1 ->" + kk)
trace ("kk="+kk);
new Tween(itemVar[kk], "x", Strong.easeOut, itemVar[kk].x, 30 * kk, 1, true);
}
} else if (event.currentTarget.var_open == 2) {
trace ('test2')
active = event.currentTarget.itemNum+1;
somethingopen = "Open";
trace (somethingopen);
for (var z:int = 0; z <= itemVar.length; z++) {
if (z == active) {
trace (z);
new Tween(itemVar[z], "x", Strong.easeOut, itemVar[z].x, 30 * z, 1, true);
}
}
for (var k:int = event.currentTarget.itemNum+1; k < itemVar.length; k++) {
trace ("kk= "+kk);
trace ("move2 ->" + k)
new Tween(itemVar[k], "x", Strong.easeOut, itemVar[k].x, (30 * k) + event.currentTarget.width - 30, 1, true);
}
} else if (event.currentTarget.var_open ==3) {
somethingopen = "Open";
trace (somethingopen);
trace ('test3')
active = event.currentTarget.itemNum+1;
for (var z:int = 0; z <= itemVar.length; z++) {
if (z == active) {
trace (z);
new Tween(itemVar[z], "x", Strong.easeOut, itemVar[z].x, 30 * z, 1, true);
}
}
for (var kkk:int = event.currentTarget.itemNum+1; kkk < itemVar.length; kkk++) {
trace ("move 3->" + kkk)
trace ("kkkk="+kkkk);
new Tween(itemVar[kkk], "x", Strong.easeOut, itemVar[kkk].x, (30 * kkk) + event.currentTarget.width - 30, 1, true);
}
} else if (event.currentTarget.var_open ==4) {
somethingopen = "Close";
trace (somethingopen);
for (var kkkk:int = event.currentTarget.itemNum+1; kkkk < itemVar.length; kkkk++) {
trace ("move4 ->" + kkkk)
trace ("kkkkk="+kkkk);
new Tween(itemVar[kkkk], "x", Strong.easeOut, itemVar[kkkk].x, 30 * kkkk, 1, true);
}
}
}
thx in advance