Расширение возможностей компонентов
Вы создали сетку и поле для показа текста. Теперь вы должны воспользоваться языком ActionScript, чтобы сделать всю эту работу. Обработчик события инициирует действие в ответ на щелчок мышью на эскизе минерала; ответным действием станет показ соответствующего текста. При записи сценария ActionScript помните, что вы назвали образец компонента TileList (Мозаичный список) — thumbnails_tl и образец компонента TextArea (Область текста) — mineral_ta. Также обратите внимание на путь к эскизам; они находятся в папке Thumbnails.
Выберите кадр 1 в слое Actions (Команды).
ПРИМЕЧАНИЕ: В языке ActionScript 3.0 действия могут быть применены только к кадрам, а не клипам. Поэтому перед применением действий вы должны выбрать кадр.
Чтобы открыть панель Actions (Команды), выберите команду меню Window ♦ Actions (Окно ♦ Команды).
Если вы не уверены в расположении интервалов или пунктуации языка ActionScript, обратитесь к файлу 08End.fla, открытому вами ранее. Выберите первый кадр в слое Actions (Команды), чтобы увидеть окончательный вариант сценария ActionScript на панели Actions (Команды).
Создайте обработчик события для списка в виде ячеек таблицы, введя следующую строку:
thumbnails_tl. addEventListener (Event. CHANGE, thumbnailClicked);
В этой строке элемент thumbnails_tl, сетка, является объектом события; вы добавляете обработчик события, который отреагирует на событие изменения, когда произойдет щелчок мышью на эскизе в таблице, и вызовет ответное событие thumbnailClicked.
ПРИМЕЧАНИЕ: Применение заглавных букв очень важно в языке ActionScript.
В строке выше удостоверьтесь, что имя образца написано буквами нижнего регистра и что другие символы напечатаны точно так же, как они представлены в тексте.
Создайте функцию, или ответное событие, названную thumbnailClicked, введя следующее:
function thumbnailClicked (event: Event): void { mineral_ta. text = event, target, selectedltem. data; }
Функция thumbnailClicked является ответным событием и вызвана в первой введенной вами строке. Объектом функции является событие event, которое имеет тип данных Event. Это может показаться немного запутанным, но в сценарии ActionScript 3.0 каждый объект должен быть идентифицирован типом данных, и вы просто объявляете в сценарии ActionScript, что объект event имеет тип Event.
Функция всегда определяется в фигурных скобках. Эта функция назначает переменный текст текстовому полю, которое вы назвали mineral_ta. После знака «=» вы могли бы ввести точный текст, заключенный в кавычки, но для этого проекта текст меняется в зависимости от изображения минерала, на котором был сделан щелчок мышью. Текст — это данные для выбранного элемента списка в заданном событии.
В меню панели Actions (Команды) выберите пункт меню Word Wrap (Перенос слов). Программа Flash перенесет по словам текст в пределах панели, так что вы сможете увидеть весь текст, даже если длина строки превышает ширину окна.
Добавьте информацию для первого изображения в списке в виде таблицы, включив метку и источник данных. Введите следующую строку кода:
thumbnails_tl. addltem ({label: «OBSIDIAN», source: «thumbnails/Obsidian, jpg», data: ».«});
Для каждого элемента в списке вы идентифицируете сетку (thumbnails_tl) и используете метод addltem (). Все остальные свойства заключены в круглых и фигурных скобках. Метка (label) появляется в виде текста в верхней части текстового поля; чтобы этот текст был написан заглавными буквами, заключите метку в кавычки и введите текст метки, используя заглавные буквы. После запятой следует источник (source), который представляет собой путь к изображению, которое вы хотите отобразить. Третье свойство называют данными (data); это — текст, который появится в текстовом поле mineral_ta. Вы вставите этот текст позже.
Выберите команду меню Control ♦ Test Movie (Управление ♦ Тестирование фильма). Эскиз обсидиана должен появиться слева. Если вы щелкнете мышью на изображении минерала, точка появляется в текстовомполесправа. Если фильм не воспроизводится должным образом, проверьте сценарий на наличие опечаток, отступов или любых других ошибок. Вы можете сравнить ваш файл с кодом ActionScript в файле 08End.fla.
Скопируйте строку, которую вы только что ввели, и вставьте ее 14 раз подряд, чтобы создать строки кода для остальных минералов.
Замените названием соответствующего минерала метку и исходный файл в каждой строке: Granite, Basalt, Scoria, Rhyolite, Shale, Breccia, Sandstone, Conglomerate, Limestone, Slate, Marble, Quartzite, Gneiss, Schist.
Откройте текстовый документ Minerals.txt в любом текстовом редакторе. Скопируйте текст из раздела документа, посвященного обсидиану.
Ha панели Actions (Команды) в программе Flash, в первой строке, где используется метод addltem () выберите точку между кавычками после слова data и нажмите сочетание клавиш ctrl+v (Windows) или Command+V (Mac OS), чтобы вставить текст.
Удалите знаки окончания строки из текста об обсидиане. Добавьте символы \n в конце каждого абзаца. Если вы ходите создать отступ между абзацами, используйте символы\n\n. Между символами \n и словами, которые следуют за этими символами, не должно быть пробелов.
Выберите команду меню Control ♦ Test Movie (Управление ♦ Тестирование фильма). Щелкните мышью на изображении обсидиана. Должен появиться текст об обсидиане. Если при воспроизведении фильм мигает или возвращает ошибку, вернитесь на панель Actions (Команды) и удостоверьтесь, что вы ввели текст правильно и удалили из текста все знаки перехода на новую строку.
Скопируйте и вставьте текст для каждого минерала, удаляя из текста все знаки перехода на новую строку.
Чтобы увидеть окончания строк, которые вы, возможно, пропустили, измените размеры панели Actions (Команды). Когда текст переформатируется, знаки перехода на новую строку становятся более очевидными.
Выберите команду меню Control ♦ Test Movie (Управление ♦ Тестирование фильма). Пощелкайте на эскизе каждого минерала, чтобы увидеть соответствующий текст в текстовом поле. Если вы столкнетесь с какими-либо ошибками, вернитесь в панель Actions (Команды), чтобы убедиться, что вы удалили все знаки окончания строки в тексте. Помните также, что вы можете обратиться к файлу 08End.fla для сравнения.
Используя два различных типа компонентов, вы создавали интерактивный показ. Вы можете таким же образом использовать другие компоненты в ваших собственных проектах.
Комментарии