Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Связь кнопки с MovieClip (http://www.flasher.ru/forum/showthread.php?t=135358)

Larionov_E 21.01.2010 15:57

Связь кнопки с MovieClip
 
Доброго времени суток! Легкий вопрос, так как только учусь АS. :wacko: У меня есть кнопка, и есть MovieClip который я создал через Insert => New Symbol... в клипе пресудствует анимация. Как создать воспроизведение этого клипа, после нажатия на кнопку. И возможно ли воспроизведение этого клипа(при нажатии на кнопку), не перетаскивая его на шкалу времени ? Зарание благодарен.

Hauts 21.01.2010 16:05

Если клипа нет ни на основной временной шкале, ни на временной шкале другого клипа, который лежит на основной, считайте, что его не существует, и сделать с ним вы ничего не можете. По крайней мере до тех пор, пока клип не появится на сцене или в другом клипе, который есть на сцене ("вложенность" клипа в другие не имеет значения).

Да, управление кнопкой сделать возможно, но конкретный код зависит от того, куда вы ее поместите (на какую временную шкалу), и какое именно управление вам нужно.

mr_pol 21.01.2010 16:07

задайте имя клипу mc в instance name. а в кнопке напишите
Код AS1/AS2:

on (release) {
        mc.play();
}


Hauts 21.01.2010 16:17

mr_pol, тогда уж mc.stop() поставить, чтоб эффект был.

И зачем писать действия в клипе? Чтобы потом еще больше вопросов было, почему не работает?

Larionov_E, разместите на основной временной шкале ваш клип (перетащив его из библиотеки на сцену), и таким же образом перетащите кнопку, поверх этого клипа. В панели "Properties" назовите клип (напишите в поле instance name) "mc", а кнопку "btn" (например). Потом выделите кадр и нажмите F9. В окне действий введите следующее:

Код AS1/AS2:

btn.onPress = function(){
    mc.stop();
}

В итоге при нажатии на кнопку, мультик остановится.

udaaff 21.01.2010 16:29

Цитата:

Сообщение от mr_pol (Сообщение 880919)
задайте имя клипу mc в instance name. а в кнопке напишите
Код AS1/AS2:

on (release) {
        mc.play();
}


Во-первых код этот пишется не в кнопке, а на кнопке, и во-вторых:
Цитата:

Правила разделов "ActionScript", "ActionScript 3", "Flex" и "Общие вопросы"

6. Вам не разрешаеться постить в данном разделе примеры с использованием обработчиков on(), onClipEvent(), или методов loadVariables/loadVariablesNum.
не стоит пользоваться методами и обработчиками, которые использовались в 2000ом году, не стоит учить этому других.

Larionov_E 21.01.2010 16:33

Вложений: 1
Все зделал как написали выше. Ничего не поменялось =) Вот исходник

udaaff 21.01.2010 16:40

На сцене должно быть два мувика с именами: button и mc.
Код в кадре:
Код AS1/AS2:

button.onRelease = button_onReleaseHandler;
 
function button_onReleaseHandler():Void
{
        mc.stop();
}


Hauts 21.01.2010 16:42

Потому, что вы сделали не то. Читайте внимательнее.

Larionov_E 21.01.2010 16:58

Всем большое спасибо. Проблема была в незнании приминения поля instance name =)

mr_pol 21.01.2010 19:36

udaaff, ок)


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

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