Форум 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)
-   -   обработчик для кнопки ("no"), находящейся в подгружаемом клипе (http://www.flasher.ru/forum/showthread.php?t=103737)

Alex_2 11.11.2007 16:06

обработчик для кнопки ("no"), находящейся в подгружаемом клипе
 
Вложений: 1
Здравствуйте уважаемые Флэшеры.
Я начинающий. Делаю проект. В проект подгружаю клип (файл block.swf), могу управлять свойствами этого клипа и его компонентов из главного фильма, но……
1. Я не могу задать обработчик для кнопки ("no"), находящейся в подгружаемом клипе. Подскажите, возможно ли это?
2. Переменную v1 из подгружаемого клипа переопределяю в главном фильме, а она не переопределяется. Объясните где тут ошибка.
Код:

------Код основного фильма------
// Создаем клип-контейнер
createEmptyMovieClip("blok", 0);
/////////////////////////////////////////////////////////
//Делаем обработчик наследуемым
MovieClip.prototype.onLoad = function() {
        if (this == blok) {
                // Проверяем, в нужный ли клип был подгружен фильм
                trace("Клип загружен");
                blok._visible = false;
                trace(_root.blok);
                blok.v1="_10";
                trace(_root.blok.v1);
                blok._y = 50;
        }
};
// Выводит: Клип загружен (событие успешно
// зарегистрировалось)
blok.loadMovie("block.swf");
/////////////////////////////////////////
// Show blok
But_show_blok.onPress = function() {
        blok._visible = true;
};
/////////////////////////////////////////
// But "no" onPress
blok.no.onPress = function() {
        trace(v1);
        trace("But_no");
};

------Код block.swf ------
var v1:String = "000102001020001122";
///////////////////////////////////////////////////////////////////////////
yes.onPress = function() {
        trace(v1);
};

Код прилагаю.

iNils 11.11.2007 16:28

В описаниях раздела четко сказано: вопросы о Flash не затрагивающие ActionScript
Спрашивается, чем вы руководствовались когда выбирали этот раздел?

Alex_2 10.12.2007 00:43

Здравствуйте уважаемые Флэшеры. Кто-нибудь сталкивался с подобной задачей?

iNils 10.12.2007 01:06

Вы чушь написали.
1. MovieClip.prototype.onLoad срабатывает только при загрузке рута, то есть по сути бесполезное событие вообще, кроме как в классах.
2. block.swf еще загрузится не успел, а вы уже на кнопку в нем вешаете код.
Читайте про MovieClipLoader.

wvxvw 10.12.2007 01:09

Когда у клипа blok случается onLoad никаких кнопок в нем нет... (вторая флешка еще не загружена вообще).

Даж не знаю с чего начать....
При чем тут прототип MovieClip'a?
Все, что нужно сделать с загруженным клипом нужно делать после проверки а загружен он или нет.
this в обработчиках (типа onPress) событий указывает на клип инициализировавший событие, а не на родительский клип.
Какой смысл использовать компоненты и обращатся с ними, как с клипами?

Просто все нужно переделать =(
Попробуй в хелпе почитать про MovieClipLoader, EventDispatcher...

upd: не успел %)

Alex_2 10.12.2007 13:05

всем спасибо...............надо смотреть ваши советы


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

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