у меня аналогичная ситуация. Однако, если взять пример из приложения (ball_motion_04_click for trial.fla) то след остается. при этом заметил, что в моем проекте в поле "One item in library" виден кружок, в то время как в приложенном примере такого кружка нет. Вопрос знатокам, что не так? |
Интеграция динамических данных
Обновляемая панель перехода
Первое из двух приложений создает средства навигации. Для обеспечения гибкости я остановился на вертикальной полосе перехода в левой части экрана, что даст достаточно места для большого количества опций, если это понадобится. Для второго приложения каждый элемент навигации будет являться инстансом фильма.
Фильм начинается с одного инстанса фильма в левой верхней части экрана (см. файл dynamictext5.fla ). Инстанс фильма имеет имя mc_navItem1. Фильм будет осуществлять доступ к текстовому файлу, в котором есть ряд переменных, каждая из которых содержит название ссылки (menu.txt).
titlel=Home&title2=Products&title3=Services& title4=Contact+Us&title5=About+Us
Фильм будет автоматически выводить список этих названий вертикально, независимо от числа переменных в текстовом файле. Итак, приступим.
- Откройте новый проект Flash и создайте в нем два слоя с именами Actions и Menu. Затем создайте текстовое поле в правом верхнем углу.
- Установите Var: на varTitle, инстанс на имя navtitle и поле на Multiline no wrap.
- Теперь преобразуйте поле в фильм с именем mcNavItem.
- Назовите инстанс, имеющийся на рабочем месте, именем mc_navItem1 и введите в него текст Loading:
- Все, что осталось сделать во Flash, это добавить ActionScript в слой Actions. Просто вводите код в ваш файл по мере его рассмотрения. Начните с присвоения messageURL имени вашего текстового файла.
messageURL = "menu.txt"
- Далее мы создадим функцию с именем setUpMenus, которая использует аналогичный первому приложению метод для проверки того, установлена переменная или нет. На этот раз мы используем цикл while для прохода через все переменные title1:title5.
setUpMenus = function() { counter=1 while (typeof(myNavVars["title"+counter]) == "string") {
- Если counter = 1, мы используем уже имеющийся фильм. Нам не нужно создавать еще один или беспокоиться о том, где его разместить. Поэтому введите следующий код.
if (counter>1) {
- При каждой последующей итерации нужно сначала создать новый инстанс фильма с элементами перехода с помощью метода duplicateMovieClip для первого элемента навигации. Функция duplicateMovieClip возвращает ссылку на вновь созданный фильм. Мы будем хранить ее в переменной, чтобы можно было легко осуществлять доступ к параметрам нашего нового фильма.
var theClip = _root.navlteml.duplicateMovieClip ("navltem"+counter,counter)
Фильм, дубликат которого мы создаем, является первым элементом навигации _root.navItem1. Мы используем переменную-счетчик для создания нового инстанса для дубликата фильма: "navItem"+counter. Мы также используем значение counter для установки глубины фильма.
- Теперь нужно куда-то поместить наш новый элемент навигации. В данном случае мы расположим его прямо под последним созданным нами navitem. Мы сделаем это, установив y-координаты нового navitem (определяются theClip ) на y-координаты предыдущего navitem (определяется this["navitem" + (counter-1)]) плюс 30.
theClip._y = this ["navitem"+ (counter-1)]._y + 30 }
- Мы сохраняем ссылку на текущий navitem в переменной theClip только в том случае, если был создан дубликат фильма из первого navitem, и не делаем этого, если фильмом является первый navitem. Теперь нужно установить theClip на работу с первым инстансом.
else { theClip = _root.navItem1 }
- Далее нужно установить текст для каждого из элементов навигации.
theClip.varTitle = myNavVars ["title"+counter]
- После этого переходим к следующему элементу.
counter++ } }
- Осталось инициализировать наш объект вне функции.
myNavVars = new loadVars ()
- Присвойте функцию управляющему элементу onLoad, чтобы загружались все переменные одновременно.
myNavVars.onLoad = function() { _root.setUpMenus() }
- Также, разумеется, нужно загрузить переменные.
myNavVars.load(messageURL)
- Выполнение этого фильма сгенерирует вертикальную область перехода, в которой каждый элемент навигации будет размещен на 30 пикселей ниже, чем предыдущий элемент. Вы можете просмотреть полный код в файле dynamictext5.fla.