Важно создать интерфейс, который будет
Важно создать интерфейс, который будет удобным в применении и дружественным к пользователю. Но каким бы интуитивно-понятным вы ни сделали ваш проект, для некоторых пользователей все равно останется непонятным, как работает ваша программа. Простым решением в этой ситуации будет создание справочного файла с подробными инструкциями, как проводить выбор в вашем проекте, и как перемещаться по нему.
Прикладное упражнение 15.1: Построение файла Help (Справка)
В этом прикладном упражнении вы создадите справочный файл. Он будет отображаться в виде всплывающего окна, накладывающегося на интерфейс. Пользователь будет иметь доступ к этому справочному файлу на протяжении всей программы.
Рассмотрим пример
Давайте взглянем на завершенное упражнение.
1. Внимательно ознакомьтесь с окнами партитуры, сцены и труппы.
2. Щелкните по кнопке Rewind, а затем по кнопке Play на Control Panel.
3. При запущенной программе, щелкните по кнопке « ? » (Справка), расположенной в правом верхнем углу сцены, и наблюдайте открывшийся фильм в фильме (файл
Help). Вы добавите этот файл Help в этом упражнении. После просмотра щелкните по кнопке
Close, чтобы закрыть справочное окно.
Что должно получиться на экране
На рис. 15.1 показано, как будет выглядеть сцена завершенного упражнения.
Рис. 15.1. Окна сцены и справки завершенного упражнения
Что должно получиться за сценой
На рис. 15.2 показано, как будет выглядеть партитура после завершения упражнения.
Шаги по созданию приложения
Внимание
Последующие шаги (включая и конкретные номера кадров) задают общее направление. Это - ваш проект, поэтому чувствуйте себя свободно и вносите в него любые изменения, какие сочтете нужными.
Прикладные упражнения являются для вас средством применения знаний, полученных в предыдущих главах. Упражнения дают «идею» для понимания того, что вы должны создать и какие исходные материалы при этом должны использовать. Как вы будете осуществлять каждый проект, зависит большей частью от вас.
Рис. 15.2. Партитура и скрипт в кадре 150 завершенного упражнения
Последующие шаги (а также и номера конкретных кадров) предназначены только для общего направления. Они служат справочным материалом и указывают, какие задачи вы должны решать. Вместе с тем вам предоставлена некоторая свобода выбора того, как в точности должен выглядеть ваш результат, и как вы его будете получать. Это - ваш проект, поэтому творите свободно в пределах общей структуры упражнения. Занимаясь этим, вы можете получать консультации из завершенного примера, который вы видели в разделе упражнения «Рассмотрим пример».
1. Используйте результат работы, которую вы проделали в последнем прикладном упражнении.
а) откройте §wnApplication_13.dir
в папке Save Work вашего компьютера.
2. Сохраните файл под именем Application_15 в вашей папке SaveWork.
3. Создайте реакцию на событие, которая открывает фильм в окне с именем файла
Help_B.dir. В кадре 150 добавьте к спрайту Help следующий скрипт. После написания скрипта изучите его с помощью следующих за ним примечаний.
on mouseUp me
sprite(me.spritenum).member = «help up»
updateStage
global helpWindow"
helpWindow = window «New Window»
window («New Window»).filename = «Help_B.dir»
window («New Window»).windowType = 4
window («New Window») .modal = True
window («New Window»).rect = rect(100, 100, 385r \
385)
open helpWindow
end
on mouseDown me
sprite(me.spritenum).member = «help down»
end
on mouseEnter me
sprite(me.spritenum).member = «help roll»
end
on mouseLeave me
sprite(me.spritenum).member = «help up»
end
а) Переменная helpWindow связана с новым окном.
б) windowType установлен в 4.
в) modal установлен в True (Истина), что является признаком перемещаемого окна без поля изменения размеров или масштаба.
г) rect установлен в rect(100, 100, 385, 385). Это помещает всплывающее окно на удобное место на экране.
Подсказка
Обратите внимание, что мы используем Help_B.dir в качестве имени файла, для того чтобы отличить его от файла
Help.dir, используемого в завершенном варианте упражнения.
4. Выполнив операцию в шаге 3, вы создали скрипт, содержащий обработчик событий
mouseUp, mouseEnter, mouseLeave и mouseDown, который обновит, соответственно, кнопку Справка ( « ? » ). Посмотрите приведенные в главе 11 реакции на события, если вам нужно понять этот процесс.
5. Сохраните файл как Applicaton_15.dir в папке SaveWork на вашем жестком диске.
6. Откройте файл Help_B.dir , выбрав File | Open.
7. Создайте скрипт фильма, который будет реагировать на событие on hyperlink-Clicked. Он будет считывать имя маркера, передаваемого из гиперссылки.
8. Выберите Window | Script. Добавьте следующий скрипт.
on hyperlinkClicked me, newMarker
go label(newMarker)
end
9. С помощью Text Inspector добавьте гиперссылки в элемент труппы Index List, который будет обеспечивать переход по каждой ссылке к соответствующему маркеру, следующим образом.
а) Дважды щелкните по элементу труппы 8 со списком индексов.
б) Выделите заголовок Main Menu.
в) Выберите Window | Text Inspector.
г) В Text Inspector напечатайте имя маркера из партитуры: main menu.
д) Добавьте гиперссылки к другим заголовкам.
Подсказка
С помощью вашего обработчика события on hyperlinkClicked вы направляете любой «щелчок по гиперссылке» в ваш обработчик события и просто используете информацию гиперссылки для указания на маркер с соответствующим именем.
Данная подсказка дает изящный и простой способ моделирования хорошо известного навигационного дизайна в Интернете. Альтернативой было бы создание скриптов для каждой ссылки и для выполняемых при этом операций. Это отняло бы больше времени без всякой необходимости. Такой метод обработки информации может использоваться при многих других обстоятельствах создания интерактивных программ. Вам представится возможность упростить задачи и подумать, как и где этот метод может быть применен.
10. Добавьте гиперссылку в элемент труппы Index, который будет осуществлять переход обратно к маркеру
Index. Используйте ту же процедуру, чтобы добавить гиперссылку в элемент труппы списка индексов.
11. Добавьте реакцию на событие, закрывающую окно. Используйте команды close
m forget в скрипте для этой реакции следующим образом.
on mouseUp me
global helpWindow
close helpWindow
forget helpWindow end
Важно заметить о том, что фильм в окне может создавать некоторое замешательство у начинающего разработчика. При работе с файлом Help вы запускали его в среде вне его применения, так как он предназначен для обращения к нему из другого фильма. Примером может служить кнопка Close. Если вы сейчас щелкнете по кнопке Play, а затем щелкнете по кнопке Close, то получите сообщение об ошибке скрипта. Реакция на событие help, открывающая окно справки, сохраняет имя окна в глобальной переменной.
Реакция close, которую вы только что создали, подключена к той же самой глобальной переменной (helpWindow) и использует ее значение для закрытия окна с этим именем. Так как вы запускаете файл Help автономно, то эта переменная еще не определена (и MIAW еще не создан). Поэтому реакция close не может найти окно, которое нужно закрыть. Единственным способом реально протестировать вашу работу является сохранить этот файл с правильным именем и запустить его из основного фильма, из которого поступит запрос (это именно тот способ, каким такие файлы должны использоваться).
12. Сохраните вашу работу в папке Save Work на вашем жестком диске, оставив прежнее имя Help_B.dir.
13. Откройте файл с именем Application15.dir в папке SaveWork.
14. Протестируйте ваш фильм, воспроизведя его, а затем щелкните по кнопке Справка (« ? ») и проверьте правильность работы фильма в окне.