Просмотр полной версии : Как сделать многофункциональную кнопку?
Hardander
02.05.2010, 15:22
Есть клип. К нему хочу приклеить одну кнопку, которая работала бы так: нажимаю "Плей" (клип начинает играть), а вместо нее появляется "Пауза". При нажатии на "Паузу" - клип застывает и вместо "Паузы" появляется снова кнопка "Плей". Как это технически организовать? Стоит ли для этого использовать объект "кнопка"? И какие сценарии крепить к этим кнопкам?
Eric Gurt
02.05.2010, 15:35
Пустая кнопка без иконки, над ней висит мувик с двумя кадрами: "плей" и "стоп". При нажатии на кнопку кадры на мувике меняются в зависимости от номера показываемого кадра в момент нажатия. И естественно при этом останавливается или проигрывается третий клип с какой-то анимацией.
Добавлено через 2 минуты
События назначаются через addeventlistener.
Hardander
02.05.2010, 16:20
Что имеется ввиду под "пустой кнопкой"? - я так понял, что это клип из двух кадров... в одном кадре - картинка кнопки "плей", в другом - "пауза"... так?
Пустая кнопка - кнопка без надписей, просто оболочка-форма. Над ней клип из двух кадров с надписями. Затем проверять, какой кадр у клипа сейчас, и из-за этого запускать или останавливать воспроизведение.
Hardander
02.05.2010, 16:43
Так... хорошо... создал новый символ "кнопка" (этот символ содержит 4 кадра для разных состояний кнопки). Что значит "над ней клип из двух кадров" тоесть, как этому символу прибить новый клип?
Разве не понятно? Поместить сверху клип и сделать ему свойство mouseEnabled = false, дабы он не перекрывал область нажатия кнопки снизу.
Hardander
02.05.2010, 16:58
Я, конечно извиняюсь за вопросы, которые задаю... но я только начинаю разбираться с флешем, поэтому мне ооочень многое не понятно. Особенно с правилами составления сценариев.
Вы пишете во FlashIDE (Flash CS3/CS4)? Задавайте вопросы, я отвечу. И еще желательно, чтобы вы код приводили, проще указать на что-то конкретное.
Hardander
02.05.2010, 17:32
Работаю в Adobe Flash CS4. Кода еще вообще нету... только на первом кадре stop(); написано (чтобы фильм сам не воспрозводился). Создал пустой символ "Кнопка"...затем, создал в новом слое символ "Фрагмент ролика". Этот фрагмент состоит из двух кадров (рисунок кнопки "плей" и кнопки "пауза")... Вышел из режима редактирования фрагмента и в общей сцене на первом кадре прибил сценарий mouseEnabled = false; ... вот и весь код. Теперь нужно все это связать в логическую цепочку... Я бы мог купить у вас скрипт, если есть такой
2 Hardander:
Зачем покупать, это ведь простая вещь, которую можно бесплатно сделать тут.
Эм, я немного не понял. Но должно быть так:
на сцене кнопка, сверху нее клип. То есть не один в другом, а друг над другом (можно и по слоям разбить) и все это на сцене. Вложенности никакой не должно быть вообще. В кадре пишете? В общем, не важно. Делаем клипу mouseEnabled = false, а кнопке присобачиваем обработчик события onClick. Вот, собственно, и все.
Hardander
02.05.2010, 20:54
Хорошо... вот такой вопрос: есть компонент "кнопка", а есть символ "кнопка". Если рассматриваем компонент - то это просто картинка (которую потом можно конвертировать в клип, кнопку, и т. д.)... А если рассматриваем символ - то это полноценная заготовка кнопки (в разных состояниях)... Но если в кадрах символа "кнопки" ничего не рисовать, то ее не вытащить на клип - ее не видно. Поэтому не понятно, что именно мне выбрасывать на сцену с клипом.
Я же сказал, что клип с надписями должен быть поверх кнопки. Сама кнопка должна представлять из себя нарисованный каркас без надписей. Нарисованный, а не пустой.
Hardander
02.05.2010, 21:20
Тээк... А как правильно описать обработчик события для разных функций одной кнопки?
Можно сделать все в одной функции, просто проверять в ней:
если клип.currentFrame === 1, то воспроизводить, иначе остановить.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.