Иллюстрированный самоучитель по Director MX

         

Практическое упражнение 11.4: Работа с MIAW


Этот урок знакомит вас с процессом открытия и закрытия MIAW и описывает некоторые свойства, которые вы можете устанавливать в MIAW. В этом упражнении вы будете создавать простой фильм, показывающий интерфейс на экране. С помощью кнопки Open Movie (Создать Фильм) вы составите скрипт Lingo, открывающий MIAW и определяющий тип окна, имя окна и имя файла фильма, который будет воспроизводиться в окне. Вы также научитесь правильно закрывать окно и стирать его в памяти.

Рассмотрим пример

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

1. Измените расположение различных панелей для того, чтобы было все видно. Вы можете щелкнуть по кнопке Hide/Show Effects Channels в партитуре, чтобы спрятать каналы эффектов и получить больше пространства на экране вашего компьютера.

2. В Control Panel щелкните по кнопке Rewind. Щелкните по кнопке Play.

3. Обратите внимание на следующие особенности завершенного фильма.

а) При воспроизведении фильма вы видите интерфейс типичного стиля.

б) Щелкните по кнопке Open Window, чтобы открыть MIAW.

в) Чтобы закрыть новое окно, щелкните по кнопке Close Window (MIAW будет удален из памяти).

Что должно получиться на экране

На рис. 11.37 показано, как будет выглядеть сцена завершенного вами упражнения.


Рис. 11.37. Сцена завершенного упражнения

Что должно получиться за сценой

На рис. 11.38 показано, как будет выглядеть ваша партитура при завершении этого упражнения.



Рис. 11.38. Партитура завершенного упражнения

Пошаговые инструкции

1. Мы начнем с открытия файла, содержащего нужные нам элементы.

а) Выберите File |New.

2. Выберите File | Save As и поместите ваш новый файл в папку с именем SaveWork на вашем жестком диске. Назовите файл MyMovie.dir.

3. Если окно Cast не открыто, то откройте его, выбрав Window | Cast. В нем находятся элементы, необходимые вам для построения структуры меню.

4. Если партитура не открыта, то откройте ее, выбрав Window | Score.

5. Щелкните по кнопке Open Window на сцене.

6. Behavior Inspector должен быть открыт. Если нет, то выберите Window | Behavior Inspector.

7. Щелкните по кнопке Behavior Popup и в ниспадающем меню выберите New Behavior.

8. В открывшемся диалоговом окне напечатайте имя реакции на событие (Open Window Behavior) и щелкните по кнопке ОК.

9. Щелкните по кнопке Script Window на вкладке Behavior (см. рис. 11.39), чтобы открыть окно Script.



Рис. 11.39. Кнопка Script Window на вкладке Behavior

10. Напечатайте в этом окне следующий скрипт.

Подсказка

Фраза в программе, начинающаяся в восьмой строке сверху, обычно пишется в одну строку. Однако поля книги не позволили нам представить этот код одной строкой. Обратный слэш (\) в конце этой строки показывает в Lingo, что имеется продолжение в следующей строке. Если вы собираетесь напечатать всю эту фразу в одну строку в окне Script, то вы должны опустить обратные слэши ( \ ). Мы вставили обратные слэши (\) из-за формата книги, но если вы печатаете этот код в точности, как показано здесь (в три строки вместо одной), то все в порядке.

on mouseUp me sprite(me.spritenum).member = «up button» global newWindow newWindow = window «New Window» window («New Window»).filename = «SmallWin2.dir» window («New Window»).windowType = 2 window («New Window»).modal = True window («New Window»).rect = rect(the\ stageLeft+100, the stageTop+120, the\ stageRight-100, the stageBottom-80) open newWindow end on mouseDown me sprite(me.spritenum).member = «down button» end

11. Дважды сверьте то, что вы напечатали в окне Script, с образцом скрипта. Когда закончите сверку, щелкните по кнопке Recompile, а затем щелкните по кнопке X, чтобы закрыть окно.

12. Сохраните вашу работу в папке SaveWork.

13. Давайте взглянем поближе на то, что вы только что напечатали.

а) Первая строка является обработчиком события on mouseUp. Эта первая строка просто меняет элемент спрайта кнопки Open на элемент состояния Down.

б) Затем вы объявляете глобальную переменную newWindow. Она будет использована для создания объекта MIAW. Вы хотите поместить свойства нового окна в глобальную переменную так, чтобы вам можно было обращаться к этой переменной в других скриптах.

в) Затем вы создаете объект окна, присваивая переменной newWindow значение window «New Window». Это по существу создает имя окна. Вам затем нужно добавить некоторые свойства.

г) Следующие четыре строки в скрипте Lingo будут добавлять свойства в объект окна. Во-первых, вы присваиваете окну имя («New Window»), то есть имя файла фильма, который будет воспроизводиться в окне. Затем вы определяете тип окна. В данном случае окно является модальным. Следующая строка устанавливает свойство modal в True (Истина). Это предотвратит взаимодействие с любым другим элементом, когда новое окно будет открыто. Затем вы устанавливаете для окна rect. Вы можете ввести любое значение. Проследите, чтобы новое окно на сцене открывалось с теми же размерами, что и файл фильма. Это не обязательно, но является хорошей практикой.

д) Вы хотите поместить новое окно в определенное место сцены основного фильма. Вследствие этого вы используете свойства stageLeft, stageTop, stageRight и stageBottom, а затем производите соответствующие операции сложения и вычитания (чтобы обеспечить размеры нового окна 200x200 пикселов и поместить его немного ниже и в центре текущей сцены).

е) Последняя команда открывает объект фильма. Это выполняется обращением к глобальной переменной newWindow.

ж) Последний шаг в скрипте устанавливает кнопку Open Window в состояние Down no on mouseDown.

14. Важная операция: Выберите File | Save As и сохраните файл, используя текущее имя (SmallWin2.dir) в папке SaveWork, в которой также находится ваш файл MyMovie.dir. Эти два файла (MyMovie.dir and SmallWin2.dir) должны быть в одной папке, иначе Director не найдет вызываемый фильм MIAW.

15. Щелкните по кнопке Close Window на сцене.

16. Откройте Behavior Inspector, выбрав Window | Behavior Inspector.

17. Выберите New Behavior во всплывающем меню Behavior.

18. Назовите реакцию на событие Close Window Behavior и затем щелкните по кнопке ОК.

19. Щелкните по кнопке Script, чтобы открыть окно Script.

20. Напечатайте следующий скрипт.

on mouseUp me global newWindow close newWindow forget newWindow end

Подсказка

Если вы увидите открытое диалоговое окно, сообщающее об ошибке в скрипте, то, вероятнее всего, вы допустили ошибку при печатании кода. Ошибку можно найти, внимательно сверяя строку в этом окне с кодом, приведенным в шаге 10, если ошибка возникла в файле MyMovie, или с кодом, приведенным в шаге 21, если ошибка возникла в SmallWin2.dir. Наиболее часто ошибки происходят из-за неправильного написания слов команд (в том числе заглавных букв, т.к. нужно учитывать регистр) и лишних пробелов.

а) Первая строка под обработчиком события mouseUp вызывает глобальную переменную newWindow из памяти. Эта переменная содержит объект окна. Глобальные переменные доступны всем окнам, открытым из основного фильма.

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

в) Команда forget window уберет экземпляр окна и сотрет его в памяти.

22. Дважды сверьте то, что вы напечатали в окне Script, с образцом скрипта. Когда закончите сверку, щелкните по кнопке Recompile, а затем щелкните по кнопке X, чтобы закрыть окно.

23. Сохраните файл под именем SmallWin2.dir в папке SaveWork.

24. Откройте файл MyMovie.dir в папке SaveWork.

25. Щелкните по кнопке Play в Control Panel. Щелкните по кнопке Open Window на сцене. В новом открывшемся окне щелкните по кнопке Close Window.



Содержание  Назад