![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Aug 2011
Сообщений: 52
|
Пробовал, removeChild ... Проблема в том что я не знаю, куда именно его нужно поместить ( Так как, если я пишу в функции, где вызываю, то у меня сразу удаляются блоки, а если в другой, то выдает ошибку, потому что не может найти, что я его вызываю...
=( Вот так вот =( |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 101
|
Так вы же вроде и хотели удалить блоки? Ничего не понял. Какие блоки удаляются, а какие добавляются?
|
|
|||||
|
Регистрация: Aug 2011
Сообщений: 52
|
Прости за непонятное объяснение( Суть вот в чем:
1.при нажатии на кнопку выходит дисплейный объект-контейнер из xml файла 2.при нажатии на другую кнопку (вне контейнера) дисплейный объект-контейнер пропадает а то у меня сейчас накладывается друг на друга. вот так вот как-то =) Надеюсь так грамотнее объяснил) |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 101
|
ну так а что мешает по нажатию на вторю кнопку запустить процесс обратный нажатию на первую?
Чым тэбе породыв - тым и вбью! (с) Тарас Бульба. |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 52
|
Проблема в том что, при нажатии на другую кнопку я уже очищаю сцену removeChildAt, но убирается все кроме именно блоков (контейнер) если я добавляю везде removeChild(BlockContainer), то ничего не работает((
Но и ошибок не выдает( В чем тут может быть проблема? |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 101
|
Мощнейшая вспышка на Солнце заблокировала мой телепатический канал к вашему жесткому диску. Код покажите как создаете и как удаляете.
У Вас на блоках слушатели не стоят? Вы их удалять не забываете предварительно? |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 52
|
private function dataCompleteHandler(event:Event):void { var data:XML = new XML( (event.currentTarget as URLLoader).data ); var parties:XMLList = data.party; var blocksContainer:Sprite = new Sprite(); addChild(blocksContainer); blocksContainer.x = blocksContainer.y = 130; var blockHeight:Number = 0; for (var i:uint = 0; i < parties.length(); i++) { var block:InfoBlock = new InfoBlock(parties[i]); block.y = blockHeight; blockHeight += block.height + 1; block.addEventListener(MouseEvent.CLICK, infoBlockClickHandler); blocksContainer.addChild(block); _blocksArray.push(block); } } private function infoBlockClickHandler(event:MouseEvent):void { var blockC:InfoBlock = event.currentTarget as InfoBlock; blockC.hiden = !blockC.hiden; var blockHeight:Number = 0; for (var i:uint = 0; i < _blocksArray.length; i++) { var block:InfoBlock = _blocksArray[i]; if (block !== blockC) { if (!block.hiden) block.hiden = true; } block.y = blockHeight; blockHeight += block.height + 1; } } Здесь происходи вызов InfoBlock. |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 101
|
Так здесь то понятно , что работает. А удаляете чем? Можно код кнопки?
Запустите по нажатию кнопки такую процедуру Должно все обнулится и исчезнуть |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
В моем коде ссылка на blocksContainer есть только в хендлере загрузки XML. Естественно, что Вы не сможете достучаться до него. Вынесите эту ссылку в поле класса
(cоответственно уберите строку var blocksContainer:Sprite = new Sprite(); из функции dataCompleteHandler) И когда надо убрать контейнер с блоками со сцены, в хендлере кнопки удаления пишете просто
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 52
|
Спасибо огромное!!! =) Теперь все наконец-то заработало)) слепой я просто не много видать =))
Все похоже делал, немного ошибся просто)) Добавлено через 17 часов 12 минут Вот я сделал =) так =) if (listbool==1) { removeChild(blocksContainer); var temp=scene.numChildren for(var i=0;scene.numChildren!=0;) { scene.removeChildAt(i); //list.removeAll(); } } else { listbool=1; } а потом все блокируются... И я вновь не знаю в чем дело =( |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:58. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|