PDA

Просмотр полной версии : мувик в мувике не работает onRelease


jony_e
24.11.2009, 15:14
Здрасте. Вопрос простой, вот код

var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
var image:MovieClip = mc.createEmptyMovieClip("image", mc.getNextHighestDepth());
image.loadMovie("1.jpg");

mc.image.onRelease = function(){// код не выполняется
trace("lala");
}

почему image не хочет быть кнопкой?:) и как сделать, что бы был?

udaaff
24.11.2009, 15:20
Вешайте обработчик на mc или же дожидайтесь окончания загрузки, а потом уже присваивайте обработчик.
При загрузке в клип, onRelease сносится, так же как и все другие свойства за редким исключением.

mooncar
24.11.2009, 15:21
Так вы вешаете обработчик onRelease, а картинка еще не загрузилась.
AS работает асинхронно. Используйте MovieClipLoader, а loadMovie - давно на помойке истории лежит.

var mc:MovieClip = this.createEmptyMovieClip('mc', this.getNextHighestDepth());
var image:MovieClip = mc.createEmptyMovieClip('image', mc.getNextHighestDepth());

var mcLoader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
mcLoader.addListener(listener);

listener.onLoadInit = function () {
image.onRelease = function(){
trace('lala');
}
}
mcLoader.loadClip('1.jpg', image);


Или проще и аккуратнее:

function onReleaseFunc () {
trace('lala');
}

var mc:MovieClip = this.createEmptyMovieClip('mc', this.getNextHighestDepth());
var image:MovieClip = mc.createEmptyMovieClip('image', mc.getNextHighestDepth());

var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);

this.onLoadInit = function () {
image.onRelease = onReleaseFunc;
}

mcLoader.loadClip('1.jpg', image);

jony_e
24.11.2009, 15:34
спасибо :) ща попробую.