![]() |
XML меню аккордеон
Всем привет,
Подскажите можно ли сделать меню типа аккардион (раскрывающееся) средствами AS 2.0 (без Tween анимации)? Например гружу из XML Имена пунктов меню + ссылки к ним вот так. Код AS1/AS2:
PHP код:
анимацию для раскрывающегося списка подменю с помощью AS 2.0? Была у меня идея создать отдельные XML для каждого пункта меню и грузить их по порядку но это думаю неправильно? И пожалуйста не отправляйте меня Гуглить или Читать учебник. Лучше направьте в нужное русло подсказками. |
Есть стандартный компонент Accordion (кстати, по русски все-таки правильно писать "аккордеон")
Adobe Flash, Ctrl + F7, выбираете Accordion и программно настраивайте в соответствии с вашими данными, полученными из XML. Что и как, есть в хелпе, статья "Accordion component". |
http://wedding-tur.ru/
Меню-книжка с аккордеоном. рассмотрю коммерческие предложения :) ХМЛ также содержит следующие настройки. // speed - скорость раздвигания. Сдивгание - в 2 раза быстрее (сек) // flipspeed - скорость перелистывания (миллисек) // X0, Y0 - позиция первой строки осн.меню // mainSpace - - интервал между строками осн.меню // spacing - интервал строк субМеню // delay - задержка перед переходом на ссылку (сек) При желании сама листалка легко отламывается. |
dark256 Мне книжка эта не нужна, причем исходников подобных куча бесплатно нагуглить можно. Помоги лучше если можешь по доброте душевной, а это предложение в вакансии )))
Добавлено через 3 минуты Цитата:
|
Не хотите готовые... Наверное тогда у вас это уже будет не "компонент" в строгом смысле, если полученный модуль не будет соответствовать определенным требованиям, предъявляемым к "компонентам", как то - переносимость, наличие пользовательских свойств и методов. Получится просто необходимая вам разработка. Ну это так, терминологическое отступление.
Готового такого у меня нет, нужно просто сесть и написать, используя весь свой опыт. :) Единственное, что могу посоветовать, для анимаций можно использовать класс TweenLite от Greensock. |
Цитата:
Литературным языком рассказать ВСЕ от начала и до конца? Это малоконструктивно. Не говоря уже о том, что толку будет мало. 1. Хмл - сделайте со вложенными узлами 2-го уровня. 2. Двигать - можно так, как сказал mooncar, а можно самому по onEnterFrame 3. код на кнпках не писать. все ;) |
Цитата:
1. Насчет сделать XML с вложенными узлами я не смог прописать условие по которому будут извлекаться подменюшки. Единственное до чего пока допер это сделал XML с узлами 1 уровня но прописал параметр показывающий что это пункт меню или пункт подменю (при pmenu="0" - меню при pmenu="1" - подменю)... В подменю прописал переменную которая говорит к какому пункту меню енто подменю относится (NumMenu). Примерно так. PHP код:
|
Неверный подход к XML...
Много избыточного и вы совершенно не используете вложенность узлов, отражая ею структуру меню. Теряется сам смысл XML. Например, нет необходимости указывать, к какому меню относится подменю. Это и так следует из структуры XML. Так лучше: Код:
<?xml version="1.0" encoding="utf-8"?> |
во. именно. далее читаем про childNodes
|
Цитата:
Цитата:
Код AS1/AS2:
делать примерно так Код AS1/AS2:
|
Для вышеприведенного XML загрузка и парсинг:
Код AS1/AS2:
2. Что и когда делать с полученными данными - тоже на ваше усмотрение: можно в цикле загонять в многомерные массивы для последующего использования (правда это тоже избыточно, ведь экземпляр XML с полученными данными - это тоже своего рода массив, по ходу прямо его и использовать), а можно тут же и использовать даннные, в процессе парсинга. 3. parseInt для id - ну это чтобы как-то вычислять можно было, например, или для удобства создания и использования многомерного массива, чтобы по номерным индексам обращаться к элементам, причем эти индексы были бы равны id. Факультативно, можете убрать это приведение к числу. 4. Запись вида attributes['name'] - я так привык просто, строковое имя атрибута выделяется лучше в редакторе кода. |
Всем привет. Спасибо за помощь. Благодаря вам кое что начинает получаться.
Код AS1/AS2:
Думаю сделать это так. Способ 1. Аттачить мувики Подменюшек в отдельный мувик (например в какой-нибудь listSubMenu) расположенный в мувике пунктов Меню, который по умолчанию будет скрыт (_visible=false) а потом на пункт Меню повесить: Код AS1/AS2:
Код AS1/AS2:
Вот ссылка на текущий исходник.menu |
Спрашивать "как лучше" - не имеет ровно никакого смысла. Ибо вам тут сейчас предложат 100 вариантов и вы утонете во вводных.
Надо просто сесть и делать. На это может уйти час, день, неделя, месяц. В любом случае чужой опыт Вам не пригодится. Каждый сам, лично должен наступить на все грабли, чтобы ориентироваться в процессе в дальнейшем. |
Цитата:
Задача 1 решена, меню парсится из xml и все данные грузятся. Приступил к тому о чем собственно тема, к созданию вертикального разъезжающегося меню (а ля аккордеон). Мучаюсь над написанием функции которая будет "раздвигать" менюшки. Сново взываю о помощи ))) Итак я вижу это так в функцию должны передаваться 1. Имя "активного" меню 2. Кол-во пунктов подменю этого меню (чтоб знать на сколько опустить/поднять ниже расположенные пункты меню Добавлено через 23 часа 23 минуты Сломал мозг слегка но что то родилось, правда опять как то криво работает ((( Код AS1/AS2:
Вот исходник Меню |
А зачем вводить переменную?
Код AS1/AS2:
|
Цитата:
Вот так будет лучше. Код AS1/AS2:
Добавлено через 2 часа 19 минут УРА У МЕНЯ ВСЕ ПОЛУЧИЛОСЬ! Вертикальное и горизонтальное XML меню на AS 2.0 готово! МОжет конечно код кривоват + кое-где он размещен на мувиках (знаю, знаю, что это плохо, но не смог сделать по другому) но в конце концов все работает и я счастлив ))) Выкладываю работающие исходники, может кому пригодится. Горизонтальное и вертикальное XML меню |
| Часовой пояс GMT +4, время: 19:01. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.