Рефераты. Macromedia Flash MX

Создание кнопок

Чтобы создать образец-кнопку, сделайте следующее. Выберите пункт New Symbol в меню Insert или нажмите комбинацию клавиш <Ctrl>+<F8>. Если у вас открыто окно библиотеки, вы также можете выбрать пункт New Symbol в дополнительном меню этого ок,.а или нажать кнопку, показанную на рис. 10.4, эта кнопка находится в нижнем левом углу окна библиотеки. На экране появится диалоговое окно Create New Symbol, показанное на

Объект Button

Объект Button "отвечает" за доступ к кнопке из сценариев ActionScript. Этот объект предоставляет набор свойств и методов, с помощью которых и осуществляется управление кнопкой.

Экземпляры объекта Button создаются самим Flash для каждой кнопки, для которой вы задали имя. Вам самим создавать их не нужно.

Во многом объект Button похож на объект -novieciip. Эти два объекта имеют весьма схожий набор свойств и методов и зачастую ведут себя одинаково. В частности, объект Button поддерживает свойства _х, _у, xmouse, ymouse, _height, _width, _alpha И _rotation, уже знакомые вам ПО объекту movieciip. Однако объект Button не поддерживает методы play, stop, gotoAndPiay, gotoAndstop и подобные им, т. к. назначение его все же иное, чем у объекта movieciip. Так что вы можете рассматривать кнопку как сильно специализированный, "урезанный" вариант клипа.

Ниже будут рассмотрены свойства, которые обязательно пригодятся вам в работе с экземплярами объекта Button. (Многие из них поддерживаются и объектом movieciip.)

Свойство enabled позволяет разрешить или запретить доступ пользователя к кнопке. Оно имеет логический тип: значение true разрешает доступ к кнопке, а значение false - запрещает.

Свойство visiо позволяет сделать кнопку видимой или невидимой. Оно имеет логический тип: значение true делает кнопку видимой, а значение false - невидимой.

Свойство useHandCursor позволяет вам сменить курсор мыши, отображаемый, если мышь поместить над кнопкой. Если задано значение true, то отображается курсор в виде "указующего перста", как над гиперссылкой. Если же задано значение false, то отображается обычная стрелка.

Свойство tabindex задает порядок обхода элементов управления при последовательных нажатиях клавиши <ТаЬ>. (При нажатии комбинации клавиш

<Shift>+<Tab> обход выполняется в обратном направлении.) Значением этого свойства может быть любое целое неотрицательное число, оно задает порядок в очереди элементов управления. Так, сначала фокус ввода переместится на элемент управления со значением порядка обхода - 0, потом - со значением 1 и т. д.

Если ни для одного элемента управления в приложении не задан порядок в очереди обхода (то есть, свойство иох равно undefined), Flash будет применять порядок обхода по умолчанию. Если же вы собираетесь задать порядок обхода, имейте в виду, что значение undefined меньше любого числового. Поэтому элементы управления, для которых свойство tabindex не было задано, будут в очереди обхода первыми.

Свойство tabEnabled позволяет убрать кнопку (и вообще любой элемент управления) из порядка обхода, сделать его недоступным для выбора с клавиатуры, но все же доступным для выбора мышью. Это свойство имеет логический тип: значение true или undefined делает элемент управления доступным для выбора с клавиатуры, а значение false - недоступным.

Объект Button поддерживает большое количество событий, которые вы можете использовать для написания обработчиков.

Форматирование текста

Как вы помните из главы 7, имеется возможность форматировать текст, по-мещаемый в поля ввода и динамические текстовые блоки. Вы можете выде-лять текст различными шрифтами, цветом, устанавливать различные виды выравнивания для абзацев, задавать отступы текста и красной строки. Все это можно выполнять как в среде Flash, так и с помощью сценариев.

Управление форматированием текста осуществляется с помощью объекта TextFormat. Он содержит ряд свойств, с помощью которых и задаются параметры форматирования текста.

Объект Selection

Flash также предоставляет возможность управления текстовым курсором и выделением текста в полях ввода и динамических текстовых блоках. Для этого предназначен объект Selection, единственный экземпляр которого по имени selection создается самим Flash.

С помощью объекта selection вы можете получить позицию текстового курсора в поле ввода. Для этого вам нужно воспользоваться методом getcaretindex. Если же ни одно поле ввода не имеет фокуса, возвращается -1.

Методы getBeginindex и getEndindex возвращают номера соответственно начального и конечного символа выделенного фрагмента текста. Если ничего не выделено, опять же возвращается -1.

Вы можете выделить нужный фрагмент текста, воспользовавшись методом setselection. Первым параметром этого метода должен быть номер первого символа выделяемого фрагмента, а вторым - номер последнего символа. Запомните, что нумерация символов текста начинается с нуля.

Selection.setselection(10, 30);

Вы также можете просто поставить текстовый курсор в требуемую позицию, передав методу setseiection номер нужного символа и в первом, и во втором параметре:

Selection.setselection(10, 10);

Метод getFocus возвращает имя переменной, привязанной к полю ввода, имеющему в данный момент фокус ввода. Если ни одно поле ввода не имеет фокуса, возвращается null.

Вы можете дать фокус ввода какому-либо полю. Для этого передайте имя переменной, привязанной к этому полю, в качестве параметра методу setFocus:

Selection.setFocus("Name");

Selection.setFocus("_root.id");

Точно таким же образом вы можете дать фокус ввода кнопке, передав этому методу путь кнопки:

Selection.setFocus("_root.btnOK");

Чтобы снять фокус ввода со всех элементов управления, передайте методу setFocus значение null.

Вы можете обрабатывать событие onSetFocus, наступающее, когда поле ввода или динамический текстовый блок получает фокус ввода. Для этого вам будет необходимо использовать объект-перехватчик.

Элементы управления

Все, что мы проходили ранее, суть простейшие элементы пользовательского интерфейса, предоставляемые Flash разработчикам. С их помощью вы можете создавать только самые простые приложения, которые и приложениями-то назвать можно с трудом: формы ввода, элементы оформления Web-страниц и пр. Конечно, никто не спорит, что и формы ввода данных, и элементы оформления Web-страниц нужны и важны. Но для их создания достаточно зачастую хватит обычных кнопок, можно обойтись даже без полей ввода.

Высший пилотаж Flash-программирования - это создание полноценных приложений, сходных с приложениями Windows. Это могут быть игры, утилиты, калькуляторы, даже текстовые редакторы. Для создания пользовательского интерфейса таких приложений применяются настоящие элементы управления: флажки, переключатели, списки, меню и т. п.

Что такое элементы управления Flash? Ничего особенного - обычные клипы, только ведущие себя особым образом, благодаря соответствующим сценариям ActionScript. Элементы управления имеют набор особых свойств и методов, позволяющих задавать и получать их состояние и управлять ими. Задавать начальные значения свойств вы можете как в среде Flash, так и в сценарии.

Глава 20. Работа с внешними приложениями

Flash MX привносит в создание приложений кое-что новое, а именно, компоненты. Компонентом называется специальный клип, имеющий набор свойств и методов и ведущий себя особым образом. Такие компоненты представляют собой отдельные, независимые графические элементы и фрагменты кода ActionScript, которые можно использовать в любом Flash-приложении. Таким образом, компоненты - это особый вид пользовательских объектов.

Типичный пример компонента - любой встроенный элемент управления Flash. Но компоненты не обязательно должны представлять элементы пользовательского интерфейса. Они могут быть обычными графическими элементами, которые используются в фильмах, или вообще быть невидимыми и служить только для целей программирования. Примерами такого рода компонентов могут быть фигурный курсор мыши и невидимый компонент, отслеживающий нажатия клавиш клавиатуры и перемещающий заданный клип по рабочему столу.

Как правило, любой компонент делается независимым от его окружения. Это значит, что вы можете поместить в свой фильм или приложение некоторый компонент, и он будет работать нормально все зависимости от других компонентов фильма или приложения. Если же один компонент требует наличия на листе других компонентов, то об этом особо указывается в его описании.

Работа с внешними приложениями

Когда-то давно, лет двадцать назад, компьютеры были однозадачными. Это означало, что на одном отдельно взятом компьютере в данный момент времени могла выполняться только одна программа. Пользователь запускал эту программу, работал в ней, сохранял результат, завершал программу, запускал другую, опять работал в ней, опять сохранял результат, опять выходил и. т. п. Конечно, это было неудобно, но так в то время работали. И, надо сказать, не очень-то жаловались.

Почему? Во-первых, компьютеры двадцатилетней давности были бесконечно слабее современных и просто не могли потянуть даже две одновременно работающих более-менее серьезных программы. Во-вторых, программное обеспечение было принципиально однозадачным, оно просто не могло Позволить пользователю запустить две программы, за редкими исключениями. В-третьих, кому это было нужно: техника делает вид, что работает, пользователи делают вид, что довольны, а значит, зачем напрягаться...

Конечно, существовали способы запускать на тогдашней технике сразу несколько программ, но они налагали на программы очень серьезные ограничения. Было даже что-то подобное настоящим многозадачным операционным системам (например, первая версия Microsoft Windows). Но все это так и не получило широкого распространения. Почему? Ответ на этот вопрос содержится в предыдущем абзаце.

Потом появилась Windows 3.0, за ней - 3.1, 3.11, 95... Компьютеры существенно прибавили в мощности, а программисты наконец-то поняли, что принцип "один компьютер - одна программа" не так уж и хорош. Многозадачная операционная система MS Windows вытеснила старую однозадачную MS-DOS. И каждый пользователь достаточно мощного компьютера смог уподобиться Юлию Цезарю.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.