суббота, 26 января 2013 г.

13.4. Активная кнопка

Очень часто, особенно в игровых приложениях, кнопка показывает, что она кнопка, не только изменением вида указателя при наведении его на кнопку, но и изменением вида самой кнопки (изменяется надпись, цвет, размеры кнопки, а иногда и вся кнопка перерисовывается до неузнаваемости). такую активность кнопки мы сейчас и реализуем.
  • В клипе-кнопке создай второй кадр, в котором нарисуй такой вид кнопки, который она будет принимать при наведении на неё. Я просто перекрасила кнопку в жёлтый цвет:

  • Если ты сейчас запустишь ролик, то увидишь, что кнопка мигает (и правильно, внутри кнопки же теперь два кадра, и плеер считает, что это анимация). Как остановить анимацию, ты уже знаешь: команда stop();. Только дадим мы её теперь не основной временной диаграмме, а диаграмме клипа (записав имя клипа перед командой через точку):
  • Буквально команда btnFd.stop(); означает «остановить анимацию в клипе btnFd».
  • В 28 строке ты видишь комментарий. Так называют подсказки, которые программист пишет для себя. Зачем? Чтобы не запутаться в коде и быстро находить нужные блоки. Ведь уже сейчас, в маленькой программе, наш код достаточно большой, а представь, каким он будет в полноценной игрушке! Поэтому не пренебрегай комментариями — потом сам себе скажешь огромное спасибо.
  • Чтобы при наведении кнопка показывала второй кадр, создадим ещё один слушатель. Событие, которого теперь будет дожидаться наша кнопка, называется MouseEvent.MOUSE_OVER (наведение, наползание указателя на объект). Команда же, переводящая клип в указанный кадр, выглядит так: btnFd.gotoAndStop(2);. Такой у нас получится код:
  • При уведении указателя с кнопки она должна возвращаться в первый кадр — значит, создаём ещё один слушатель:
  • Запиши такие же слушатели для кнопки листания назад.
  • Результат:


Комментариев нет:

Отправить комментарий