PDA

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


Lijos
22.12.2006, 13:49
Народ!.. наверно уже сталкивались с подобной ситуацией... но никак что-то не получается ее решить :(
Следующая ситуация:
из библиотеки берется и создается MovieClip, потом в него загружается картинка, пытаюсь добавить обработку onRollOver, но оно не срабатывает

вот, пример:


this.attachMovie("holder", "holder_mc", this.getNextHighestDepth());
with(holder_mc){
loadMovie("pic1.jpg");
_x = (Stage.width - holder_mc._width)/2;
_y = (Stage.height - holder_mc._height)/2;
}
holder_mc.onRollOver = function(){
trace("Навел");
}



правда, пока картинку не загружаешь, то все срабатывает....

Aziz Zaynutdinoff
22.12.2006, 13:54
Потому что твоя загруженная картинка не может принимать событие onRollOver. Создай внутри мувика контейнер (к примеру pic_mc) и туда грузи картинку, а событие onRollOver вешай на holder_mc

Lijos
22.12.2006, 13:59
т.е. внутри мувика создать еще один и в него уже загружать картинку?

Aziz Zaynutdinoff
22.12.2006, 13:59
именно так

Lijos
22.12.2006, 14:06
вот еще такой вопрос :) Будет ли корректен такой код:



this.attachMovie("holder", "holder_mc", this.getNextHighestDepth());
var mc:MovieClip = holder_mc.createEmptyMovieClip("pic_mc", this.getNextHighestDepth());
mc.loadMovie("pic1.jpg");
with(holder_mc){
_x = (Stage.width - holder_mc._width)/2;
_y = (Stage.height - holder_mc._height)/2;
}


правда при этом происходит так, что у созданного holder_mc и в нем mc различаются координаты, т.е. картинка появляется как бы в стороне от holder_mc...

Aziz Zaynutdinoff
22.12.2006, 14:18
1. обрамление кода немного иначе пишется :)
2. да, только не

var mc:MovieClip = holder_mc.createEmptyMovieClip("pic_mc", this.getNextHighestDepth());

а

var mc:MovieClip = holder_mc.createEmptyMovieClip("pic_mc", holder_mc.getNextHighestDepth());


P.S.>>>
Лучше использовать класс MovieClipLoader, с его помощью удобнее и проще контролировать процесс загрузки/постзагрузки изображения

Lijos
22.12.2006, 14:31
пасибо!)) .. а как правильно код оформляется ?).. а то я что-то не до конца понял :)

попробовал следующий код:



var mc:MovieClip = holder_mc.createEmptyMovieClip("pic_mc", holder_mc.getNextHighestDepth());

mc.loadMovie("pic1.jpg");



при этом ситуация такая же.. появляются с разными координатами..
если же грузить в pic_mc, то вообще картинка не загружается

CorC
22.12.2006, 14:37
[ code ] тока без пробелов

CorC
22.12.2006, 14:41
1 что бы ровнять по центру или вообще ровнять нужно дождаться конца загрузки иначе у тебя высота=ширина=0
2 для этого нужно либо использовать прелоадер для проверки окончания загрузки или просто паузник какой нибудь :)

Lijos
22.12.2006, 14:49
а как это правильно реализовать с прелоадером?

CorC
22.12.2006, 14:55
читай про getBytesLoaded getBytesTotal
либо MovieClipLoader класс (2 советую)