Реакция на щелчки мыши
Теперь, когда у вас на сцене есть две кнопки, давайте заставим их работать.
Выберите кадр 2 в слое actions, а затем на панели Actions (Действия) (Windows > Actions (Окно > Действия)) вставьте новую строку ниже существующего кода.
Добавьте слушатели событий для двух кнопок, для чего введите следующий код:
home_btn.addEventListener(MouseEvent.CLICK, goHome); help_btn.addEventListener(MouseEvent.CLICK, goHelp);
He забывайте о значении прописных и строчных букв и обратите внимание на то, что addEventListener и MouseEvent.CLICK будут выделены синим цветом при правильном их наборе. Цветовое кодирование ActionScript позволяет узнать насколько правильно вы набрали код. Ключевые слова и большинство синтаксических элементов ActionScript при наборе по умолчанию выделяются синим цветом. Даже при правильном, как вам кажется, наборе кода, когда текст не стал синим, необходимо перепроверить введенные слова и регистр символов.
После добавления слушателей при нажатии кнопки Ноmе будет осуществляться попытка вызвать функцию под названием goHome, а при нажатии кнопки Flash Support произойдет попытка вызова функции goHelp. Итак, давайте добавим эти две функции, чтобы задать функциональность кнопок.
В кадре 2 под только что добавленными строками кода введите следующее:
function goHome(е:MouseEvent):void { gotoAndStop ("home") ; }
Помните, что при вызове функции выполняется весь код в фигурных скобках. В данном случае, если пользователь щелкнет на кнопке Ноте, с помощью функции goHome(), появится кадр home. Действие goto ничем не отличается от используемого в уроке 1. Единственная разница в том, что оно осуществляется при нажатии кнопки.
Теперь давайте добавим функцию для кнопки Flash Support. Для этого следует добавить следующий код под функцией goHome():
function goHelp(е:MouseEvent):void { navigateToURL (new URLRequest ("http: //www. adobe.com/support/flash") ) ; }
Основной синтаксис функции такой же, как и для кнопки Ноте, единственная разница в том, что происходит в фигурных скобках. В данном случае вызывается метод ActionScript под названием navigateToURL(). Как видно из названия, этот метод используется для открытия URL в используемом по умолчанию браузере пользователя. Ссылка на URL в ActionScript 3.0 хранится в объекте под названием URLRequest. Мы еще будем встречаться с объектами URLRequest в следующих уроках.
Сохраните работу и протестируйте ролик (Control > Test Movie (Управление > Тестировать ролик)). При нажатии кнопки Ноmе воспроизведение перейдет непосредственно на кадр home. При нажатии кнопки Flash Support браузер откроет страницу поддержки Flash.
Если все работает, поздравляем! Вы скоро будете более уверенно себя чувствовать в работе с ActionScript 3.0. При возникновении вопросов с кодом тщательно сверьте его с тем, что приведен в примере. Если в коде есть ошибки, на панели Output (Вывод) можно будет увидеть описание ошибок и строки, на которых они произошли. Обратите внимание на номера строк с ошибками и проверьте правильность ввода всех названий, а также обратите внимание на цветовое кодирование кода ActionScript на данных строках. Тщательно проверьте, совпадают ли регистры символов в именах экземпляров объектов и ссылках на них в слушателях событий.
Вот готовый код для кадра 2:
info_txt.text = String(count); home_btn.addEventListener(MouseEvent.CLICK, goHome); help_btn.addEventListener(MouseEvent.CLICK, goHelp); function goHome(e:MouseEvent):void { gotoAndStop("home") ; } function goHelp(e:MouseEvent):void { navigateToURL (new URLRequest ("http: //www. adobe.com/support/flash") ) ; }
Комментарии