Итак, я собираюсь сделать пока одну страницу
будущего автоплей-меню, для одной категории программ. А
остальные страницы будут сделаны "под копирку", так как будут
содержать те же объекты, просто с другим содержанием
(изменятся надписи, содержание текстовых блоков, ссылки на
файлы и т.п.). Пусть это будет страница с антивирусными
программами. Остальные категории программ, которые я взял для
примера, вы можете увидеть на рисунке ниже.
Сразу договоримся, что не будем делать
навороченный дизайн. Наша задача сегодня - это конструктив, а
уж когда все будет работать, вы и сами сможете позаботиться об
эстетике. Поэтому свою страницу я оформил так же, как оформлял
мр3-плеер, сделанный на втором
уроке - с помощью цветных
прямоугольников создал нехитрый дизайн. Цвет фона выбрал
что-то типа "какао с молоком".
Общий заголовок меню и подзаголовок группы
написаны шрифтом Times коричневого и
белого цвета. Здесь уместно будет напомнить, что одни и те же
шрифты не всегда будут одинаково отображаться на всех
компьютерах, а при использовании оригинальных шрифтов, которых
не окажется на другом компьютере, и вовсе нельзя предугадать
результат. Поэтому выхода здесь по крайней мере видится два:
первый - внедрить нужный шрифт в проект и использовать команду
InstallFont(""), которая при старте проекта будет
инсталлировать шрифт во временную папку компьютера
пользователя, и второй, более простой - преобразовать текст в
рисунок.
Делается это так: выделяете надпись и в меню
"Объект" выбираете пункт "Преобразовать в рисунок". После
этого у вас в проекте появляется битмап вместо текста, а сам
текст не удаляется, а делается скрытым и ему присваивается имя
Текст_BAK. Что очень мудро, поскольку
дает возможность вернуться к редактированию исходного текста.
Так что вам решать, преобразовывать ли текст в рисунок или нет
(я думаю, что заголовки преобразовать уместно, а текстовые
блоки нет никакой необходимости, если выбирать для них
системный шрифт типа MS Sans Serif.
Саму страницу проекта я сразу назвал Antivir, а заодно создал еще семь пустых
страниц (нажатием кнопки "Добавить страницу" на нижней
инструментальной панели). Им также дал названия сообразно
категориям программ (Commander, Viewer, Utils, Media, CDROM,
Internet и Screen). И хотя на этих страницах пока ничего еще
нет, на них уже нужно будет ссылаться из первой страницы,
назначая команды перехода к ним.
Кнопки создайте обычным инструментом "Текстовая
кнопка" и выберите для них цвет, как у фона. Кстати,
стандартную кнопку можно растягивать в любую сторону, поэтому
я сделал их вытянутыми. Таким же образом создал кнопки выхода
и сворачивания окна (см.рисунок), но превратил их в маленькие
квадратные, а в качестве надписей выбрал знак тире и букву "Х"
(маленькая хитрость!). Эти две последние кнопки можно сразу же
убрать на страницу Master Top Layer.
Создав первую кнопку "Антивирусы", не торопитесь
копировать ее, чтобы размножить для получения остальных!
Сначала лучше прописать в ней все действия, чтобы не пришлось
похожие действия вручную прописывать для остальных кнопок.
Итак, нажатие на кнопку "Антивирусы" должно
приводить нас на страницу с именем Antivir. И хотя
мы и так находимся на этой странице, но кнопка-то эта
будет и на других страницах! Значит, надо назначить ей
действие перехода к нужной странице. Поэтому в окне сценария я
написал: Page("Antivir") (это можно было сделать и в
окне назначения внешних команд, однако, зная о том, что любую
команду можно написать и в окне сценария, скоро вы станете
пользоваться только этим одним окном). Неплохо назначить
кнопке также звуковое действие (типа щелчка). В своем проекте
я внедрил три звуковых файла - различные для кнопки "Меню",
для кнопок выбора категории, и для кнопок инсталляции.
Внедрите в проект нужные звуковые файлы (их можно "стащить",
например, из стандартного набора звуков Windows) и назначьте кнопке нужный звук.
Но это еще не все действия. Взглянув на картинку
в начале этой страницы, вы можете задаться вопросом: а где же
будут размещаться названия самих программ? Слева место занято
кнопками меню, справа поле предназначено для информации о
программах... Дело в том, что я решил сделать "убирающееся"
меню. Скажем, щелкнули вы по кнопке "Утилиты", меню
"отъехало", а вы попали на нужную страницу с
программами-утилитами. И список их будет располагаться как раз
на месте бывших кнопок меню. Надо попасть на другую страницу?
Щелкнули кнопку "МЕНЮ" внизу страницы (для того я ее и
сделал), и меню снова "приехало" на место, закрыв собой список
программ. Заманчиво? А это на самом деле очень просто.
Предположим, что "отъездом" и "приездом" меню
будут управлять два разных скрипта. И если приезд меню будет
осуществляться щелчком по кнопке "МЕНЮ", то "отъезд" как раз
должен происходить по щелчку на любой из кнопок категорий
программ. Поэтому давайте создадим в проекте два нужных нам
скрипта с названиями ShowMenu и
HideMenu. Который для чего,
надеюсь, и так понятно. И ничего, что пока эти скрипты
"пустые", содержание их мы напишем чуть позже, главное - чтобы
они были в проекте.
Итак, в сценарии кнопки "Антивирусы" нужно
добавить строку RunScript("HideMenu"). Причем расположить эту
строку ПЕРЕД строкой перехода на другую страницу, иначе
программа может сначала перейти на указанную страницу, а на
ней уже запустить скрипт с этим названием. Теперь после
нажатия на кнопку запустится скрипт, который скроет меню, а уж
затем мы перейдем к нужной странице.
Теперь можно скопировать кнопку и вставить нужное
число раз. Затем останется изменить надписи на кнопках, и
поменять имя страницы в скрипте Page("Antivir") на
соответствующие. Расположив все кнопки вертикально одна под
другой и тщательно выровняв, сглуппируйте все эти кнопки и
назовите группу Menu.
Кнопке "МЕНЮ" (я назвал этот объект Показ
меню), что в самом низу страницы, назначьте команду
RunScript("ShowMenu").
Скрипты, управляющие показом и скрытием меню,
будут основаны на уже известной вам команде плавного
перемещения объекта. Перемещать будем, естественно, объект
Меню. Сначала замерим его
координаты на том месте, где оно сейчас находится (забыли, как
это делается? А ну бегом на предыдущие уроки!). Затем с
помощью клавиши со стрелкой опустим этот объект вниз, чтобы он
оказался за пределами окна проекта. Там теперь меню и будет
находиться всегда. Замерим его координаты на новом месте. И
вот уже можно написать содержание скриптов ShowMenu и HideMenu. В первом из них у меня
написано:
MoveTo("Меню","8,90,95")
А во втором -
MoveTo("Меню","8,360,65")
Первые две цифры в параметрах - это координаты, а
третья - скорость перемещения (подбирается
экспериментально).
Конечно, можно обойтись и без этих двух скриптов,
просто написав указанные строки в окне сценария кнопок. Но
представьте, что вы что-то захотите изменить в сценарии
перемещения меню. И придется вам тогда открывать свойства всех
кнопок и вносить изменения! А так просто подправите один
скрипт - и всё!
После этого запустите проверку страницы. Нажмите
кнопку "МЕНЮ". Оно должно плавно выехать снизу. Нажмите кнопку
"Антивирусы" (других-то страниц у нас пока еще нет!) - и меню
должно так же плавно "уехать" обратно. После проверки вы
увидите, что, во-первых, кнопка "МЕНЮ" должна лежать в проекте
выше остальных, а во-вторых, надо чем-то прикрыть плавающее
туда-сюда меню, чтобы его не было видно между этой кнопкой и
низом страницы. Но это вы уже сделаете
самостоятельно.
Назад
Дальше