Форум 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=106032)

player 29.12.2007 21:40

события не обрабатываются
 
Уже кучу всего перечитал не помогает. =( Создаю мувик, потом в нево пихаю мувик для изображения. Его планирую использовать как кнопку.
Код:

var mclListener:Object = new Object();

mclListener.onLoadComplete = function(target:MovieClip) {
        trace("onLoadComplete");
};
_root.menu_mc.btn1.onPress = function () {
        trase ("it work!");
}

_root.onLoad = function() {
        // создание клипа для меню
        _root.createEmptyMovieClip("menu_mc", 1);
        // создание кнопки для меню
        _root.menu_mc.createEmptyMovieClip("btn1", 2);
        var mcl:MovieClipLoader = new MovieClipLoader();
        mcl.addListener(mclListener);
        mcl.loadClip("1.jpg", _root.menu_mc.btn1);
};

trace("onLoadComplete"); ловлю, а вот trase ("it work!") не работает. не могу до него добраться. где ошибка подскажите пожалуйста. В actionscrint я лошара. Я думаю дело в загрузке изображения, но что, только уже не делал.... не получается.:(

udaaff 29.12.2007 22:06

При загрузке изображения в клип, обработчик слетает. Создайте в кнопке контейнер для изображения.

player 29.12.2007 22:37

Цитата:

Сообщение от udaaff
При загрузке изображения в клип, обработчик слетает. Создайте в кнопке контейнер для изображения.

Код:

var mclListener:Object = new Object();

mclListener.onLoadComplete = function(target:MovieClip) {
        trace("onLoadComplete");
};
_root.menu_mc.btn1.onPress = function () {
        trase ("it work!");
}

_root.onLoad = function() {
        // создание клипа для меню
        _root.createEmptyMovieClip("menu_mc", 1);
        // создание кнопки для меню
        _root.menu_mc.createEmptyMovieClip("btn1", 2);
        // Создаем контейнер внутри "btn1"
        // в этот мувиклип будет загружено изображение
        _root.menu_mc.btn1.createEmptyMovieClip("container", 3);
        var mcl:MovieClipLoader = new MovieClipLoader();
        mcl.addListener(mclListener);
        mcl.loadClip("1.jpg", _root.menu_mc.btn1.container);

};

так? все равно не пашет.

udaaff 29.12.2007 22:58

Вы определяете обработчик для события onPress, еще до создания мувика.

player 29.12.2007 23:17

Цитата:

Сообщение от udaaff
Вы определяете обработчик для события onPress, еще до создания мувика.

Код:

var mclListener:Object = new Object();

mclListener.onLoadComplete = function(target:MovieClip) {
        trace("onLoadComplete");
        _root.menu_mc.btn1.onPress = function () {
            trase ("it work!");
        }

};

mclListener.onLoadInit = function(target:MovieClip) {
        // и тут тоже не пашет
        trace("onLoadComplete");
        _root.menu_mc.btn1.onPress = function () {
            trase ("it work!");
        }

};

_root.onLoad = function() {
        // создание клипа для меню
        _root.createEmptyMovieClip("menu_mc", 1);
        // создание кнопки для меню
        _root.menu_mc.createEmptyMovieClip("btn1", 2);
        // Создаем контейнер внутри "btn1"
        // в этот мувиклип будет загружено изображение
        _root.menu_mc.btn1.createEmptyMovieClip("container", 3);
        var mcl:MovieClipLoader = new MovieClipLoader();
        mcl.addListener(mclListener);
        mcl.loadClip("1.jpg", _root.menu_mc.btn1.container);
};

И так тож не пашет. и в onLoadInit писал. Не получается. :confused:. trace - ом проверял в onLoadInit свойства (размеры по крайней мере) есть. А события не назначаются. Пора убивать себя об стену.:(

MOHCTEP 30.12.2007 21:47

Код:

mclListener.onLoadInit = function(target:MovieClip) {
        trace("onLoadComplete");
        target.onPress = function () {
            trace ("it work!\n"+this);
        }
};


player 31.12.2007 19:53

и так не работает! а у Вас работает чтоли??? Просто я себя уже неловко чувствую. Мне все подсказывают, а я не могу сделать правильно.

MOHCTEP 31.12.2007 20:48

Вложений: 1
Футы-нуты! Все работает. Пишите код правильно. Пока не проверил и сам ошибку не увидел. Пишется trace, тогда, как у вас - trase. Вот рабочий исход.

player 04.01.2008 15:21

Выше приведенный код работает, как и код как и пример от MOHCTEP. Спасибо! Буду разбираться. Просто это не весь код, а его часть и у меня он в связке с другим не пашет. Где-то мой косяк....
Мои извинения за долгое отсутствие. Почемуто письма с уведомлением об ответе не приходило!? Случайно залез так сказать.

player 06.01.2008 17:47

Но! Если я начинаю двигать (менять координаты во времени) menu_mc, то
Код:

trace ("it work!\n"+this);
уже не работает. Как поступать в этом случае?


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

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