Учимся создавать кнопки, обрабатывать их и переходить с их помощью на другие кадры. Используем язык Action Script.
Рисовать мы уже немного научились, поэтому хочу предоставить возможность вам ознакомиться с очень интересной областью Flash - содание кнопок (button). Меня просто таращит от применения этих волшебных символов для своих целей. В отличие от других сред, что меня собственно и завараживает во flash, создание кнопок подразумевает не только задать алгоритм работы но кнопки, но и ее создание. Т.е. мы сами прорисовываем и придумываем, как наша кнопка будет работать, что с ней будет происходить при нажатии, при наведении курсора и много другое. Уверяю вас, такой разброс фантазии сподвигает вас на новые открытия и ++ в ваш очаг удовольствия от проделанного :)
Как же создается кнопка и для чего она вообще нужна? Кнопка используется практически везде и всегда. Смысл кнопки в том, что при использовании ее каким-то образом (не ISO, не святым) происходят события, заданные содержимым этим кнопки или ее влиянием. Банально она может применяться, начиная от перехода к другому фрейму по нажатию на нее до невероятных алгоритмических вычислений или происхождения всевозможного рода событий. Тут фантазии нет предела. При нажатии на кнопку, которая имеет в себе набор команд, создается некое событие, которое используется в дальнейшем.
В данной статье я хочу рассмотреть применение кнопки в качестве перехода на новый кадр. То есть: имеется несколько кадров, но они не сменяют друг друга поочередно, так как на первом кадре мы установили команду stop () (о ней я рассказывал в командах для фрейма). Итак представим: у нас имеется два кадра, на каждом из которых расположена надпись, информирующая о номере данного кадра для видимости и легкого восприятия. На первом и втором кадре у нас содержится кнопка. Я взял готовую кнопку из библиотеки Adobe Flash CS4 (чтоб красиво было), но вам рекомендую самим сделать кнопку. Как она делается?
Рисуется объект на ваш вкус и цвет, похожий на кнопку (если мы хотим из нее сделать кнопку), потом выделяем нарисованный объект целиком и нажимаем клавишу F8. Выскочит запрос о том, что мы хотим сделать из выделенного нами объекта. Нам предстоит выбрать один из вариантов:
- Кнопку (button) - будет иметь свою структуру, а также предназначения для программирования ее на выполнение различных команд. То есть при совершении с кнопками различных манипуляций: нажатие, наведение курсора, отвод курсора и другое - будет совершаться какой-то скрипт, установленный и определенный нами.
- Клип (movie) - клип, имеющий внутреннюю анимацию (расскажу об этом позже)
- Графику (Graphic) - графика, статичная и неподвижная, как картинка будет находиться на нашем поле деятельности.
Поэтому при возделывании кнопки из объекта ей наделяются некоторые возможности: при двойном нажатии мыши на созданную вновь кнопку откроется внутрення структура нашей клавиши, которую я сейчас опишу, постараюсь в деталях. Для начала представлю вид по совершению двойного щелчка левой кнопкой мыши по сделанной кнопке:
Видим, что мы находимся внутри кнопки, и тщательно рассматриваем ее структуру в области кадров: она имеет 4 пункта:
Видим, что мы находимся внутри кнопки, и тщательно рассматриваем ее структуру в области кадров: она имеет 4 пункта:
- Up - все, что находится под данной меткой, это вид нашей кнопки в обычном режиме, т.е. как кнопка будет выглядеть, если она просто расположеная на экране (мы не совершаем с ней никаких действий). Так мы будем видеть ее при первой встрече.
- Over - вид кнопки, когда курсор мыши находится над ней. Т.е. мы наводим на нее наш курсор, и наша кнопочка меняет свой вид, чтобы дать нам понять, что мы навели на нее и, возможно, хотим ей воспользоваться. Очень удобная функция во Flash, мне очень нравится :)
- Down - вид кнопки, когда мы нажимаем на нее, т.е. в момент нажатия курсором мыши на кнопку мы будем видеть ее именно такой, как определяет данный маркер
- Hit - признаюсь, что не знаю, зачем этот пункт, но я обычно рисую здесь вид кнопки в нейтральном режиме, как при метке Up.
С кнопкой немного разобрались, давайте теперь пройдемся по плану, по которому мы хотим реализовыть нашу мысль. У нас два кадра, на каждом из которых имеется своя надпись, говорящая нам о номере проигрываемого кадра, плюс мы добавили в каждый кадр одну и ту же сделанную кнопку (ее можно выбирать в библиотеке наших компонентов):
Итак, у нас уже есть два кадра со своим текстом и одной и той же кнопкой. Теперь давай пройдемся по коду, который мы внедрим в наши кадры и кнопку. В первом кадре, как я уже писал выше, мы прописываем stop(), на этом команды кадра, собственно и заканчиваются :)
Итак, у нас уже есть два кадра со своим текстом и одной и той же кнопкой. Теперь давай пройдемся по коду, который мы внедрим в наши кадры и кнопку. В первом кадре, как я уже писал выше, мы прописываем stop(), на этом команды кадра, собственно и заканчиваются :)
Все остальные операции мы будем совершать с применением кода в кнопке, причем сразу стоит уяснить, что команды для кнопки в каждом кадре будут свои, то есть они не переносятся с предыдущего кадра. Выбираем активным первый кадр и выделяем одним кликом нашу кнопку. В окне Actions мы теперь можем прописывать для кнопки свой код. Вот, что нам нужно вписать в код кнопки, находящейся в первом кадре:
on (release) { gotoAndStop(2); }
Сейчас все объясню: on (release) - данная операция определяет нам, что дальше в квадратных скобках пойдет код, который будет выполняться при нажатии на данную кнопку. То есть мы жмякаем на кнопку и свершается чтение данного кода внутри него. Что же будет внтури? Внутри квадратных скобок мы пропишем, уже известную нам команду gotoAndStop(2);
Что у нас получилось: при нажатии на кнопку мы переходим к проигрыванию кадра номер 2. Хотя изначально мы останавливаемся на кадре номер 1, так как в нем прописана команда stop(). Теперь по нажатию на кнопку с первого кадра мы переходим к проигрыванию второго.
Второй кадр не имеет команд внутри себя для выполнения, но мы останавливаемся на нем, так как при переходе с 1 кадра нам было приказано остановиться на данном кадре (так как gotoAndStop(2)). Поэтому мы замираем на данном кадре и видим как бы статическую картинку.
Как нам вернутся теперь на 1 кадр? Я думаю вы уже догадались - для кнопки второго кадра мы пропишем ранее использованный набор команд, лишь изменив номер кадра, к которому мы собираемся перейти:
Что у нас получилось: при нажатии на кнопку мы переходим к проигрыванию кадра номер 2. Хотя изначально мы останавливаемся на кадре номер 1, так как в нем прописана команда stop(). Теперь по нажатию на кнопку с первого кадра мы переходим к проигрыванию второго.
on (release) { gotoAndStop(1); }Мы и не ошибемся если вместо gotoAndStop(1) пропишем gotoAndPlay(1), так как в любом случае мы остановимся на 1 кадре, ведь он содержит в себе команду stop(), которая свершит остановку проигрывания на 1 кадре в любом случае, ведь код первого кадра будет считываться только после команд второго кадра, с которого мы совершили скачок. Давайте взглянем, что у нас должно было получиться на flash:
Спасибо
ОтветитьУдалитьСпасибо!
ОтветитьУдалитьЯ Абрам Александр, бизнесмен, который смог возродить свой умирающий лесозаготовительный бизнес с помощью отправленного Богом кредитора, известного как Бенджамин Ли, Кредитный Консультант. Проживаю в Екатеринбурге Екатеринбург. Вы пытаетесь начать бизнес, погасить свой долг, расширить свой существующий, нуждаетесь в деньгах для покупки расходных материалов. Если у вас возникли проблемы с попыткой получить хорошую кредитную линию, я хочу, чтобы вы знали, что мистер Бенджамин проведет вас до конца. Это правильное место для вас, чтобы решить все ваши финансовые проблемы, потому что я живое свидетельство, и я не могу просто оставить это при себе, когда другие ищут способ быть финансово поднятым .. Я хочу, чтобы вы все связались с этим Богом, посланным кредитором используя детали, как указано в других, чтобы принять участие в этой прекрасной возможности Электронная почта: lfdsloans@outlook.com Или WhatsApp / Text + 1-989-394-3740.
ОтветитьУдалить