Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Раздвижные блоки (http://www.flasher.ru/forum/showthread.php?t=162445)

Drac0Sha 12.08.2011 14:40

возможно
Код AS3:

removeChild(blocksContainer);

не в том месте!? )

Добавлено через 1 час 16 минут
Код AS3:

while (blocksContainer.numChildren)
                        {
                        blocksContainer.removeChildAt(0);
                        _blocksArray.splice(0,1)
                        }
                        removeChild(blocksContainer);

пробовал...работает, убирает...но почему-то глючит...очень сильно...
то есть...первый клик на другую кнопку работает
второй нет...
пока другую не нажму.
такое ощущение, что блокирует всё.

Wolsh 12.08.2011 16:03

Я уже говорил - я не телепат. Я ничего не понимаю, что вы хотите получить. Я не понимаю термины, вроде "переход на другую кнопку", "все блокируется", "убирается сначала". Попробуйте описать без троеточий.

2Sun 12.08.2011 16:21

Цитата:

первый клик на другую кнопку работает
второй нет...
пока другую не нажму.
Вы-ж ее два раза, судя по вашим словам, нажимаете!!! Попробуйте нажать другую кнопку!
Правда ничего не понятно? Нам тоже.

Drac0Sha 15.08.2011 11:44

Извините за непонятные объяснения.
ну есть приложение. в нём несколько (для точности 3 возьмём) кнопки. 1.)кнопка вызов профиля.2.)кнопка вызов контейнера 1. 3.)кнопка вызов другого контейнера 2.

так вот, при нажатии на кнопку 2.) появляется контейнер 1.
и мне надо сделать так,чтобы при нажатии на кнопку 3) контейнер 1 исчезал, а контейнер 2 появлялся. а при нажатии на кноку 1.) любой из контйнеров исчезал.

надеюсь, так более понятно

2Sun 15.08.2011 12:47

Цитата:

Сообщение от Drac0Sha (Сообщение 1020843)

пробовал...работает, убирает...но почему-то глючит...очень сильно...
то есть...первый клик на другую кнопку работает
второй нет...
пока другую не нажму.
такое ощущение, что блокирует всё.

А вот можно это - только в терминах = кнопка №1 , кнопка№2, кнопка№3?
По логике - нужно правильно назначить действия для каждой кнопки.
Для одной из них - удаление контейнера и добавление другого.
для второй - тоже- только наоборот.
для третьей - удаление обоих контейнеров (именно так - оба, только проверку на присутствие на сцене не забудьте сделать)

Drac0Sha 15.08.2011 13:14

кнопка №1-вызов профиля
кнопка №2-вызов контейнера 1
кнопка №3- вызов контейнера 2
кнопка №4-вызов чужого профиля
изначально загружается приложение.
и я сделал так, чтобы контейнер (контейнер3) на главной был, то есть сразу при входе.
дальше нажимаю на кнопку №1
убирается контейнер и сцена. всё отлично работает.
нажимаю на кнопку №2
контейнер 1 накладывается на контейнер 3. сразу оба видно.
нажимаю на кнопку №4
опять же всё отлично работает. показывает то что нужно, убирает контейнер.
а если после этого нажать на кнопку №1
не появляется ничего. как будто это не кнопка.
насколько я понял
кнопка №1, кнопка №4 происходит так, что он проверяет есть ли контейнер, и если есть удаляет.
а вот если нет, он вообще ничего не делает.
то есть две проблемы.
1.как сделать так чтобы кнопка №1, кнопка №4 работали (и без контейнера)
2.как сделать так чтобы не накладывались друг на друга сами контейнеры, то есть выводились тогда когда нужно, тот что нужен.

надеюсь, более менее внятно написал )

Добавлено через 2 часа 26 минут
по 1 пункту я разобрался, тупанул, просто добавил контейнер в сцену.
scene.addChild(blocksContainer)
по 2 не понятно, как убрать наложение.


может быть использовать маску!? я просто вообще не разбираюсь...помогите

Добавлено через 26 часов 28 минут
вопрос решил )
тупанул просто )
создал второе событие на клик )

Drac0Sha 18.08.2011 16:03

Код AS3:

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();
                        scene.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]);
                                var btn_voice : voice = new voice();
 
                                //btn_voice.x=200;
                                btn_voice.y=blockHeight;
                                //blockHeight += btn_voice.height + 1;
                                btn_voice.addEventListener(MouseEvent.CLICK, profiles);
 
                                block.y = blockHeight;
                                blockHeight += block.height + 1;
                                block.addEventListener(MouseEvent.CLICK, infoBlockClickHandler);
                                blocksContainer.addChild(block);
                                blocksContainer.addChild(btn_voice);
 
                                _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;
                        }
                }

Здравствуйте снова.
У меня получилось вставить кнопку в раздвижные блоки.
Однако не получается, так чтобы при нажатии на сам блок (он раздвигается), а кнопки остаются на месте.
Хочется, чтобы кнопка так же меняла координаты.
Подскажите, пожалуйста, как это сделать!? )
(btn_voice)

kaploson 18.08.2011 17:00

Вы уверены что нужно исправлять не в InfoBlock??

Drac0Sha 19.08.2011 14:06

ну насколько я понимаю, мне надо что-то исправить в InfoBlockCkickHandler, надеюсь, на вашу помощь, господа )

2Sun 19.08.2011 15:25

Код AS3:

blocksContainer.addChild(block);
block.addChild(btn_voice);



Часовой пояс GMT +4, время: 03:07.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.