Форум 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)
-   -   Управление с приаттаченного мувика (http://www.flasher.ru/forum/showthread.php?t=142750)

Wlspartak 29.07.2010 17:22

Управление с приаттаченного мувика
 
Простой пример:На основном таймлайне(1-й фрейм) есть кнопка (btn)- аттачит мувик, в котором есть кнопка btn1. Нужно по нажатию btn1, перейти на 2-й фрейм. Что не так?

Код AS1/AS2:

stop();
_lockroot=true;
btn.onPress = function() {
_root.attachMovie("my_mc","my_mc2",this.getNextHighestDepth(), {_x:100, _y:100});
}
this.my_mc2.btn1.onPress = function() {
_root.gotoAndStop(2)       
}


Хемуль 29.07.2010 17:34

2 Wlspartak:
Цитата:

мувик, в котором есть кнопка btn2
Цитата:

this.my_mc2.btn1.onPress

Wlspartak 30.07.2010 10:22

Видно от жары, просто опечатка- в приаттаченном мувике кнопка btn1. Исправил.

Хемуль 30.07.2010 12:36

2 Wlspartak:
Ну, давайте вместе читать ваш код и смотреть, как он будет исполняться:

1.
Код AS1/AS2:

stop();

Останавливается проигрывание того обьекта, на таймлайне которого прописан код.

2.
Код AS1/AS2:

_lockroot=true;

Запирается _root.

3.
Код AS1/AS2:

btn.onPress = function() { _root.attachMovie("my_mc","my_mc2",this.getNextHighestDepth(), {_x:100, _y:100}); }

Для кнопки btn определяется обработчик события onPress, который при нажатии добавит на сцену обьект из библиотеки с идентификатором my_mc, дасть ему имя my_mc2 и разместит как надо.

4.
Код AS1/AS2:

this.my_mc2.btn1.onPress = function() { _root.gotoAndStop(2) }

Обьекту this.my_mc2.btn1 назначается обработчик события onPress.
Печаль вся в том, что нет у вас этого обьекта на сцене на этот момент. Не к чему обработчик привязывать. Ведь у вас my_mc2 присоединяется на сцену только по нажатию на кнопку btn.

Вам нужно запихнуть последние три строки из кода, представленного вами в первом сообщении темы, в тело функции обработчика btn.onPress. То есть, создаём мувиклип и тут же назначаем ему обработчик.

Wlspartak 30.07.2010 14:45

Ну спасибо, а то я уже голову "сломал", вроде все правильно, а не работает.

Хемуль 30.07.2010 14:50

2 Wlspartak:
Так в том то и соль, что всё работает правильно. Именно так, как вы написали. ^_^
Если бы это был AS3, получили бы ошибку, а так у вас флешка молча не находит обьект и игнорирует его.


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

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