Цитата:
Сообщение от Wolsh
Вы не ответили на вопрос.
 Код AS3:
btn_hide.addEventListener(MouseEvent.CLICK, hideGallery);
Есть некая одна кнопка btn_hide, при нажатии на которую выполняется хендлер
 Код AS3:
function hideGallery(e:MouseEvent):void
{
removeChild(container);
}
Что именно Вы имели в виду здесь под "container"? Какой из множества?
Другими словами, знает ли кнопка, или ее обработчик, какой именно контейнер имеется в виду? (речь сейчас не о коде, не о значении переменной container, а просто о логике).
Эта кнопка — одна на всю галерею из множества контейнеров? Или она сама находится в контейнере? Вы скрыли наиболее важную информацию.
|
я наверное неправильно понял как это работает. Не будете ли Вы так любезны указать в чем моя ошибка и в каком направлении двигаться к решению задачи?
код целиком:

Код AS3:
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.display.MovieClip;
import flash.ui.Mouse;
btn_show.addEventListener(MouseEvent.CLICK, showGallery);
btn_show2.addEventListener(MouseEvent.CLICK, showGallery2);
btn_hide.addEventListener(MouseEvent.CLICK, hideGallery);
var urlLoader:URLLoader = new URLLoader();
var xml:XML;
var xmlList:XMLList;
var loaderBig:Loader = new Loader ;
var imgShowBig:Boolean = false;
//скрывает галлерею
function hideGallery(e:MouseEvent):void
{
removeChild(container);
}
//показывает 1-ю галлерею
function showGallery(e:MouseEvent):void
{
urlLoader.addEventListener(Event.COMPLETE,textLoaded);
urlLoader.load(new URLRequest("xml/bassein.xml"));
if (imgShowBig == true)
{
removeChild(loaderBig);
imgShowBig = false;
}
}
//показывает 2-ю галлерею;
function showGallery2(e:MouseEvent):void
{
urlLoader.addEventListener(Event.COMPLETE,textLoaded);
urlLoader.load(new URLRequest("xml/sanuzel.xml"));
if (imgShowBig == true)
{
removeChild(loaderBig);
imgShowBig = false;
}
}
loaderBig.addEventListener(MouseEvent.CLICK, hideBigLoader);
function textLoaded(e:Event):void
{
xml = XML(urlLoader.data);
xmlList = xml.image;
initGallery();
}
function initGallery():void
{
var numOfItems:Number = xmlList.length();
var counter:Number = 0;
for (var i:int = 0; i<numOfItems; i++)
{
var container:MovieClip = new MovieClip();
var item:Loader = new Loader();
item.x = (55 + 5) * i;
container.big = (xmlList[counter].imgURL);
container.mouseChildren = false;
item.load(new URLRequest(xmlList[counter].imgSmallURL));
container.addChild(item);
container.addEventListener(MouseEvent.CLICK, showBig);
addChild(container);
counter++;
}
}
function showBig(e:MouseEvent):void
{
loaderBig.load(new URLRequest(e.target.big));
loaderBig.y = 55;
loaderBig.x = 27;
addChild(loaderBig);
imgShowBig = true;
}
function hideBigLoader(e:MouseEvent):void
{
if (imgShowBig == true)
{
removeChild(loaderBig);
imgShowBig = false;
}
}