Показать сообщение отдельно
Старый 03.12.2012, 03:03
mheha вне форума Посмотреть профиль Отправить личное сообщение для mheha Найти все сообщения от mheha
  № 7  
Ответить с цитированием
mheha

Регистрация: Jun 2012
Сообщений: 16
Цитата:
Сообщение от 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;
	}
}