Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не вешается Action для кнопки (http://www.flasher.ru/forum/showthread.php?t=130817)

LEADART 06.10.2009 13:38

Не вешается Action для кнопки
 
Добрый день уважаемые участники форума!

Давненько ни чего не делал во флеше, сейчас появилась нужда.

Создаю кнопку следующим образом:

Делаю клип с двумя слоями, в верхнем находится мувик с анимацией текста, в нижнем находится кнопка с фоном. Соответсвенно на первый кадр ставлю стоп, на последний возвращение ко второму кадру для цикличности. На саму кнопку хотелось повесить код, который бы управлял перемещениями по презентации. Но почему то когда захожу в экшенс он мне пишет (Current selection cannot have actions applied to it). Хотя раньше я так делал и все было отлично.
И еще заметил раньше если я выбирал кнопку для того что бы повесить ей экшен то раздел Actions сразу менял название на Actions - Button, а сейчас просто Actions.

Подскажите что не так делаю? Очень срочно нужно :(

Заранее очень благодарен!!!

Извиняюсь, перепутал раздел, переместите если не сложно в "Общие вопросы"

Gal4enochek 06.10.2009 14:47

В AS3 код на кнопках писать нельзя. Или переходите на более ранюю версию или пользуйтесь addEventListener() и пишите код в кадрах.

LEADART 06.10.2009 14:57

Ясно, Вас понял. Спасибо за ответ!

Т.е. в АС3 нету кода на объектах, все идет непосредственно в шкале?

Нужно почитать про это подробней.

Может посоветуете какие-нибудь экзамплы глянуть? Интересует имено манипуляция шкалой через кнопки, для создания презентации.

Цитата:

Сообщение от Gal4enochek (Сообщение 855792)
В AS3 код на кнопках писать нельзя. Или переходите на более ранюю версию или пользуйтесь addEventListener() и пишите код в кадрах.


Neirol 06.10.2009 16:01

Ну здесь ничего сложного нет, на слое, который ты выделил для ActionScript'а, вызываешь дочерний метод addEventListener у символа кнопки, и задаешь функцию для определенного события.

Скажем у тебя есть кнопка button, и тебе нужно что при ее нажатии вся анимация останавливалась:
Код AS3:

button.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
 
function mouseDownHandler(e:MouseEvent):void {
    stop();
}

Несколько комментариев:
1. Имя функции можешь задавать сам.
2. Объект e, принимает в себя все данные, переданные ему addEventListener, так, эти данные можно использовать при обработке нажатых клавиш, в данном случае эти данные не нужны, но addEventListener, нужно знать куда-то девать данные.
3. И собственно пишется тип объекта e после двоеточия, в данном случае это событие мыши - MouseEvent.

Вообще событийная структура в ActionScript 3.0 достаточно важное обновление, советую тебе почитать о нем больше.

LEADART 06.10.2009 17:08

Спасибо большое за помощь!!
Сегодня пороюсь на озоне, чего-нибудь закажу и обязательно почитаю, видимо многое изменилось...


Цитата:

Сообщение от Neirol (Сообщение 855839)
Ну здесь ничего сложного нет, на слое, который ты выделил для ActionScript'а, вызываешь дочерний метод addEventListener у символа кнопки, и задаешь функцию для определенного события.

Скажем у тебя есть кнопка button, и тебе нужно что при ее нажатии вся анимация останавливалась:
Код AS3:

button.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
 
function mouseDownHandler(e:MouseEvent):void {
    stop();
}

Несколько комментариев:
1. Имя функции можешь задавать сам.
2. Объект e, принимает в себя все данные, переданные ему addEventListener, так, эти данные можно использовать при обработке нажатых клавиш, в данном случае эти данные не нужны, но addEventListener, нужно знать куда-то девать данные.
3. И собственно пишется тип объекта e после двоеточия, в данном случае это событие мыши - MouseEvent.

Вообще событийная структура в ActionScript 3.0 достаточно важное обновление, советую тебе почитать о нем больше.


Neirol 06.10.2009 21:25

Зачем? В интернете очень много халявы.
Вот посмотри уроки Виталия Кузьмина о ActionScript 3.0 - journal.easyflash.org - тут все выпуски - бесплатно!

LEADART 06.10.2009 22:55

Ай - спасибо за ссылочку, добрый человек! :victory: Почитаю! Премного благодарен!

Цитата:

Сообщение от Neirol (Сообщение 855962)
Зачем? В интернете очень много халявы.
Вот посмотри уроки Виталия Кузьмина о ActionScript 3.0 - journal.easyflash.org - тут все выпуски - бесплатно!


Neirol 08.10.2009 00:32

Скорей посмотришь =)
Незачто ;)


Часовой пояс GMT +4, время: 00:01.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.