![]() |
|
||||||||||
|
|||||
|
[+1.3 02.01.08]
Регистрация: Jun 2005
Адрес: Moscow
Сообщений: 52
|
в одном единственном кадре стоит
mc.maxWidth = 420; // задает рамку 420 на 420
mc.maxHeight = 420;
// в эту область грузится картинка
mc.loadImage = function(file){
this.image.removeMovieClip();
this.createEmptyMovieClip("image", 0);
this.image.loadMovie(file);
this.onEnterFrame = function(){
var l = this.image.getBytesLoaded();
var t = this.image.getBytesTotal();
if(t>0 && l>=t){
delete this.onEnterFrame;
this.resize();}
};
};
// выравнивает загружаемую картинку по центру
mc.resize = function(){
this.image._x = Math.round((this.maxWidth-this.image._width)/2);
this.image._y = Math.round((this.maxHeight-this.image._height)/2);
};
_root.mc.loadImage("img/medium/obj1-001.jpg");
и куча кнопок на каждой стоит в ie все работает прекрасно в опере имеется вот такой глюк если нажать на одну из кнопок, и пока картинка не загрузилась до конца, нажать любую другую то врезультате загрузившаяся последняя картинка смещается вниз и вправо за пределы допустимой области ощущение что в какой-то момент в _root.mc.image помещаются сразу две картинки и this.image._width принимается длина обеих сразу или еще что-то не понимаю вобщем а указывать к каждой картинке конкретно _x и _y очень затруднительно может у кого есть мысли по этому поводу? Последний раз редактировалось etc; 02.01.2008 в 11:19. |
|
|||||
|
ветеран форума
|
1. Оформите код в своем сообщении, используя теги [code][/code]
2. Не используйте on() и tellTarget, они считаются устарешими начинаяс 2000 года 3. Используйте MovieClipLoader и обработчик onLoadInit. Дело в том, что между окончанием загрузки и инициализацией значений ширины и высоты проходит некоторое время, а до этого они равны 0. в разных вариантах плеера (activeX, plugin, standalone) оно немного разное. У Вас как раз и возникает из-за этого проблема. Масштабирование в коде при вызове onLoadInit позволит ее избежать
__________________
4am is time to rock |
|
|||||
|
[+1.3 02.01.08]
Регистрация: Jun 2005
Адрес: Moscow
Сообщений: 52
|
вернее глюк вот в чем
видимо браузер не успевает отследить длину и ширину загружаемой картинки и принимает их за 0 поэтому изображение центрируется не там где надо вот картинки того что получается можно-ли применить resize() только в тот момент когда уже известны длина и ширина подгружаемой картинки? |
|
|||||
|
юзайте trace() и найдете ошибку
|
|
|||||
|
ветеран форума
|
Цитата:
P. S. У меня в практике бывали странные случаи, когда в onLoadInit ширина и высота все равно равны 0, тогда помогают вещи типа присваивания масштаба 100% по горизонтали и вертикали(_xscale,_yscale), после этого ширина и высота должны быть нормальными.
__________________
4am is time to rock |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
el-lammo получает плюс за проигнорированное замечание модератора.
|
|
|||||
|
[+4 02.01.08]
Регистрация: Apr 2007
Сообщений: 8
|
Цитата:
P.S. я, наверно, получу плюс за смех над модератором? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
valyard, вы такой белый и пушистый в ruFlash, а к данному форуму у вас явно предвзятое отношение. Здесь не лохи сидят, как вам могло показаться.
Оставьте свою предвзятость при себе, когда вновь придете сюда. |
|
|||||
|
[+1.3 02.01.08]
Регистрация: Jun 2005
Адрес: Moscow
Сообщений: 52
|
Цитата:
не знал что можно изменить уже написанное если администраторы так трепетно относятся к соблюдению норм то просто удалите последние 5 сооющений |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|