PDA

Просмотр полной версии : события не обрабатываются


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
При загрузке изображения в клип, обработчик слетает. Создайте в кнопке контейнер для изображения.
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
Вы определяете обработчик для события 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
Футы-нуты! Все работает. Пишите код правильно. Пока не проверил и сам ошибку не увидел. Пишется trace, тогда, как у вас - trase. Вот рабочий исход.

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

player
06.01.2008, 17:47
Но! Если я начинаю двигать (менять координаты во времени) menu_mc, то trace ("it work!\n"+this); уже не работает. Как поступать в этом случае?