![]() |
возможно
Код AS3:
Добавлено через 1 час 16 минут Код AS3:
то есть...первый клик на другую кнопку работает второй нет... пока другую не нажму. такое ощущение, что блокирует всё. |
Я уже говорил - я не телепат. Я ничего не понимаю, что вы хотите получить. Я не понимаю термины, вроде "переход на другую кнопку", "все блокируется", "убирается сначала". Попробуйте описать без троеточий.
|
Цитата:
Правда ничего не понятно? Нам тоже. |
Извините за непонятные объяснения.
ну есть приложение. в нём несколько (для точности 3 возьмём) кнопки. 1.)кнопка вызов профиля.2.)кнопка вызов контейнера 1. 3.)кнопка вызов другого контейнера 2. так вот, при нажатии на кнопку 2.) появляется контейнер 1. и мне надо сделать так,чтобы при нажатии на кнопку 3) контейнер 1 исчезал, а контейнер 2 появлялся. а при нажатии на кноку 1.) любой из контйнеров исчезал. надеюсь, так более понятно |
Цитата:
По логике - нужно правильно назначить действия для каждой кнопки. Для одной из них - удаление контейнера и добавление другого. для второй - тоже- только наоборот. для третьей - удаление обоих контейнеров (именно так - оба, только проверку на присутствие на сцене не забудьте сделать) |
кнопка №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 минут вопрос решил ) тупанул просто ) создал второе событие на клик ) |
Код AS3:
У меня получилось вставить кнопку в раздвижные блоки. Однако не получается, так чтобы при нажатии на сам блок (он раздвигается), а кнопки остаются на месте. Хочется, чтобы кнопка так же меняла координаты. Подскажите, пожалуйста, как это сделать!? ) (btn_voice) |
Вы уверены что нужно исправлять не в InfoBlock??
|
ну насколько я понимаю, мне надо что-то исправить в InfoBlockCkickHandler, надеюсь, на вашу помощь, господа )
|
Код AS3:
|
Эта кнопка - часть раздвижного блока или всего контейнера с несколькими раздвижными блоками?
В блоке тем, что показывается, управляет режим - свернутый или развернутый. Если кнопка - часть блока, то и добавляться в список/удаляться из списка отображения она должна при смене режима показа блока, а никак не извне. Посмотрите, как сделано с текстовым полем. Точно так же и кнопка. |
Да, она реализуется также как и текстовое поле. просто, я не понимаю, как из InfoBlock.as, ведь кнопка там находится и при нажатии она указывает на функцию из Main.as. Помогите пожалуйста, как это можно реализовать.
получилось кнопки вставить. проблем нет. другая проблема появилась как сделать так, чтобы при нажатии на кнопку в вызываемую функцию из xml таблицы передавалось значение. допустим, вот этот блок, есть кнопка в определённом из блоков. допустим их 5 раздвижных блоков. при нажатии на 3 блок, в функцию передавалось, что это именно 3 блок!? |
Надо завести какой-то идентификатор.. У Вас я так понимаю есть XML в Мейне, и блоки показывают узлы этого XML. Надо определить при нажатии, какой это блок и какой узел XML ему соответствует. Это один вариант. Другой – блок ведь "знает" весь нужный узел, можно просто определить блок как Event#currentTarget, и получить от него весь узел, за который он отвечает. То есть не искать этот узел в полном XML в Мейне, а взять его прямо из блока. Для этого в блоке сделать соответствующий геттер, возвращающий тот узел, который был передан блоку при инициализации.
Так понятно или нужен готовый код? Если нужен, то уточните, на что нужна реакция то – на нажатие на сам блок или всетаки на кнопку в блоке?) |
Есть XML вида :
Код:
<data>Код AS3:
id из XML файла, причем этот id того блока в котором находится кнопка. Код функции CLickHand Код AS3:
Код AS3:
очень важная... Тоесть не получается передать в эту функцию параметр id из XML файла и сделать, чтобы при нажатии на кнопку блок не расширялся.. Помогите пожалуйста, желательно кодом, а то я уже все перепробовал.. Добавлено через 5 часов 49 минут ещё попробовал Код AS3:
видимо надо так же как и parties сделать из него массив, зависящий от i. но как!? или я не правильно думаю!? |
Вложений: 1
Я, уж извините, на своем примере дописал
|
СПАСИБО ОГРОМНОЕ все отлично работает!!!
Только можно еще пару вопросиков: 1.Я изменил infoblock, чтобы кнопка всегда была в закрытом состоянии, но заметил, что первое нажатие на кнопку открывает блок, а только второе вызывает функцию как можно сделать так чтобы, при первом нажатии вызывалась функция и блок не открывался при нажатии на кнопку вот infoblock.as: Код AS3:
необходимо их также объявить как btn_tools и сделать Код AS3:
Код AS3:
а и еще предположим у меня XML файл вида: Код:
<data> |
Цитата:
Код AS3:
Цитата:
|
ну это просто находится в раздвижных блоках. я думаю, многим людям понадобится эта информация.
toFL, как вы предложили не подойдёт, так как Мне нужно вывести наподобие _text.htmlText = _info..message.text(); то есть чтобы их обоих вывести нужно использовать цикл? попробовал ещё так, как раз цикл Код AS3:
исправил ) дописать надо было лишь Код AS3:
|
Цитата:
Код:
\nИ еще: я настоятельно рекомендую Вам, перед вопросом, попытаться, хотя бы попытаться, решить проблему самому. |
Я знаю, что \n - символ следующей строки, но и без него выдает в столбик _text.htmlText += _info..friends.friend[i] ;
Я просто забыл стереть перед тем как написать |
Код AS3:
|
1. Строчку btn_tools.addEventListener(MouseEvent.CLICK, buttonClickHandler); надо было перенести туда, где добавляете btn_tools в контейнер блока, в prepare(). Сейчас у Вас кнопка есть, но слушатель на нее не добавлен, соответственно при первом нажатии выполняется обработчик не кнопки, а всего блока.
2. Цитата:
3. У Вас же перенос строки стоит - \n, потому и в столбик)) Добавлено через 1 минуту опоздал(( |
Цитата:
Код AS3:
Код AS3:
будут вызываться обе функции. Код AS3:
|
Это через другую кнопку всплывает событие клика от самого блока, и, хоть и останавливается кнопкой, но кнопка диспатчит свое событие, как будто кликнули ее. Надо поставить проверку такого вида
Код AS3:
Добавлено через 40 минут Код AS3:
|
Вложений: 1
Вот как-то так.
|
Спасибо большое ! очень помогли ! отличный форум !
|
Вложений: 1
Здравстуйте еще раз ) Опять возникло два вопросика.В data.xml у меня были поля :
Код:
...1)они становятся ссылками, но идут в столбик, как можно сделать в строчку ? или это невозможно? 2)Я пытаюсь сделать, чтобы при нажатии например на "Дмитрий" функция через trace отобразила "Дмитрий", но не понимаю как можно передать ей id того на кого я нажал. просто при функции trace ( block.info.friends.friend) результат будет: Код:
<friend> Дмитрий </friend>И второй вопросик:Так как может быть много блоков, они могут уходить за пределы флешки, поэтому понадобится скролл. Так вот, чтобы его организовать нужно создать текстовое поле с размером самой флешки, и выводить в него блоки ? |
Вложений: 1
Чтож, пришлось таки вернуться к первоначальной идее с редиспатчем события CLICK. То есть Мейн теперь не слушает мышиных кликов по блоку, блок сам сообщает ему, что был кликнут)
|
Спасибо огромное, всё реализовал
а ещё я хотел спросить второй вопросик:Так как может быть много блоков, они могут уходить за пределы флешки, поэтому понадобится скролл. Так вот, чтобы его организовать нужно создать текстовое поле с размером самой флешки, и выводить в него блоки ? |
А при чем здесь текстовое поле то? Не понял логики. Как Вы собираетесь "выводить в него блоки" и как это решит проблему скроллинга?
Раньше был такой компонент, наверное есть и сейчас - ScrollArea, попробуйте его. Ну или пишите свой скроллер/используйте компонент ScrollBar. Для контейнера можно определить свойство scrollRect и подключить какой-нибудь механизм скроллирования, какой Вам нравится - скроллбар или кнопки "перемотки" сверху и снизу, перемотка колесиком мышки. В любом случае, думаю, это отдельная тема. Возникнет главная проблема - изменяющийся размер контента, требующий пересчета скроллера. |
спасибо большое ) буду стараться ) если что ещё напишу, в призывах о помощи )
|
Код AS3:
|
Wolsh
Ещё раз здравствуйте ) все выходные сидел, пытался, совсем с рук сбился. пытался и с маской, и просто ScrollRect и насколько я понял последнее и быстрее и эффективнее, и для контейнера самый лучший подход хотел призвать о помощи, а то совсем...уж ( Правильно ли я объявляю, и вызываю функцию для скролла ошибок не выдаёт, но ничего и не работает ((( Код AS3:
in4core а что не так!? P.S. пытался с механизмом прокрутки, то есть сбоку скроллинг, интересно, а это подразумевает ещё и прокрутку колёсиком мышки. а ещё если это принципиально новая тема, давайте я перенесу туда. просто я считаю, что это именно с раздвижными блоками - контейнерами тесно связано, потому что просто на картинки, мувиклипы, даже textField, кажется, но не в блоках, у меня получалось, я реализовывал прокрутку, а использование контейнера принципиально по-другому, вроде бы, подразумевает использование того же свойства. Добавлено через 25 часов 16 минут ребят!!! помогите пожалуйста ) ! Добавлено через 45 часов 16 минут кому интересно, тема перешла сюда http://www.flasher.ru/forum/showthread.php?t=166131 ! |
| Часовой пояс GMT +4, время: 07:32. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.