На этом месте находится расчудесная шапка. Включите flash - не пожалеете!

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Масштабирование подгруженной картинки, Насколько это возможно?
Дож
сообщение 12.5.2008, 12:56
Сообщение #1


Поселенец
**

Группа: Пользователи
Сообщений: 126
Регистрация: 16.4.2008

Пользователь №: 13 423



Репутация:   0  


Здравствуйте!
Скажите пожалуйста возможно ли масштабировать подгруженную с помощью loadMovie картинку , не прибегая к изменению исходной фото? Если возможно - то как? Если я назначаю клипу в который грузится фото выоту и ширину, то фото перестаёь в него грузиться вообще.

Вот так не получается:
Код
this.createEmptyMovieClip("b_mc", 1);
this.createEmptyMovieClip("dm_mc", 5);
b_mc._x=50;
b_mc._y=50;
dm_mc._x=50;
dm_mc._y=350;
dm_mc._width=300;
dm_mc._height=400;

b_mc.loadMovie("rtu/bcg1.jpg");
this.attachMovie("t1_mc", "t1_mc",2);
t1_mc._x=282;
t1_mc._y=72;
this.attachMovie("is_mc", "is_mc",4);
is_mc._x=300;
is_mc._y=72;
is_mc._alpha=35;
is_mc.onRollOver=function() {
    is_mc._alpha=10;
    dm_mc.loadMovie("i/i1/sa06.jpg");
}
is_mc.onRollOut=function() {
    is_mc._alpha=35;
    dm_mc.unloadMovie()
}
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nikitar
сообщение 12.5.2008, 15:31
Сообщение #2


Мишка-Админ
*********

Группа: Главные администраторы
Сообщений: 8 616
Регистрация: 7.1.2006
Из: Санкт-Петербург

Пользователь №: 12



Репутация:   148  


Всё маштабирование нужно делать после того, как загрузится картинка


--------------------
Пользователь в онлайне!Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Дож
сообщение 12.5.2008, 15:35
Сообщение #3


Поселенец
**

Группа: Пользователи
Сообщений: 126
Регистрация: 16.4.2008

Пользователь №: 13 423



Репутация:   0  


Цитата(nikitar @ 12.5.2008, 16:31) *

Всё маштабирование нужно делать после того, как загрузится картинка


Код
this.createEmptyMovieClip("b_mc", 1);
this.createEmptyMovieClip("dm_mc", 5);
b_mc._x=50;
b_mc._y=50;
dm_mc._x=50;
dm_mc._y=350;

b_mc.loadMovie("rtu/bcg1.jpg");
this.attachMovie("t1_mc", "t1_mc",2);
t1_mc._x=282;
t1_mc._y=72;
this.attachMovie("is_mc", "is_mc",4);
is_mc._x=300;
is_mc._y=72;
is_mc._alpha=35;
is_mc.onRollOver=function() {
    is_mc._alpha=10;
    dm_mc.loadMovie("i/i1/sa06.jpg");
dm_mc._width=300;
dm_mc._height=400;

}
is_mc.onRollOut=function() {
    is_mc._alpha=35;
    dm_mc.unloadMovie()
}


Так тоже не грзится sad.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nikitar
сообщение 12.5.2008, 16:39
Сообщение #4


Мишка-Админ
*********

Группа: Главные администраторы
Сообщений: 8 616
Регистрация: 7.1.2006
Из: Санкт-Петербург

Пользователь №: 12



Репутация:   148  


Прикрепи исходник, мне так легче его будет изменить ))


--------------------
Пользователь в онлайне!Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Дож
сообщение 12.5.2008, 17:14
Сообщение #5


Поселенец
**

Группа: Пользователи
Сообщений: 126
Регистрация: 16.4.2008

Пользователь №: 13 423



Репутация:   0  


Цитата(nikitar @ 12.5.2008, 17:39) *

Прикрепи исходник, мне так легче его будет изменить ))

Вот упростил до невозможности


Прикрепленные файлы
Прикрепленный файл  test.rar ( 4.23 мегабайт ) Кол-во скачиваний: 18
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nikitar
сообщение 12.5.2008, 17:32
Сообщение #6


Мишка-Админ
*********

Группа: Главные администраторы
Сообщений: 8 616
Регистрация: 7.1.2006
Из: Санкт-Петербург

Пользователь №: 12



Репутация:   148  


Вот тут

Код
    dm_mc.loadMovie("i/i1/sa06.jpg");
dm_mc._width=300;
dm_mc._height=400;


Между первой и второй строчкой должна стоять проверка. Мгновенно картинки не загружаются.
То есть я бы сюда поставил проверку типа
onEnterFrame и проверяем getBytesLoaded картинки и getBytesTotal.
Если равно, тогда уже (И ТОЛЬКО ТОГДА) мы меняем ширину и высоту мувиклипа.


Лучше код написать тебе самому по этому алгоритму. Пользы будет больше полюбому.


--------------------
Пользователь в онлайне!Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Дож
сообщение 12.5.2008, 17:43
Сообщение #7


Поселенец
**

Группа: Пользователи
Сообщений: 126
Регистрация: 16.4.2008

Пользователь №: 13 423



Репутация:   0  


Цитата(nikitar @ 12.5.2008, 18:32) *

Между первой и второй строчкой должна стоять проверка. Мгновенно картинки не загружаются.
То есть я бы сюда поставил проверку типа
onEnterFrame и проверяем getBytesLoaded картинки и getBytesTotal.
Если равно, тогда уже (И ТОЛЬКО ТОГДА) мы меняем ширину и высоту мувиклипа.

это и нужно было (понять где ошибка)! Спасибо!!!
С onEnterFrame знаю как, а вот не существует ли для этого случая что то типа onLoad?...
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Дож
сообщение 13.5.2008, 9:34
Сообщение #8


Поселенец
**

Группа: Пользователи
Сообщений: 126
Регистрация: 16.4.2008

Пользователь №: 13 423



Репутация:   0  


Действительно с масштабирование , по твоей схеме получилось. Однако новый тупик, (что-то подскавыет не открывать новую тему) такой код и при такой задаче (при наведении на какой либо клип - загрузка рисунка, а при onRollOut выгрузка) работает не выполняя этой задачи:
при наведении появляется и масштабируется рисунок, а когда покидает мышка клип рисунок изчезает - всё нормально., но при наведении вновь на этот клип рисунок не загружается. И скорее всего потому, что теперь этот клип-контейнер имеет уже конкретную ширину и выосту(так я думаю), Я пытался по onRollOut удалять этот клип вообще и тутже создавать по новой, но это не помогает
Код
this.createEmptyMovieClip("dm_mc", 5);

dm_mc._x = 50;
dm_mc._y = 350;
b_mc.loadMovie("rtu/bcg1.jpg");
this.attachMovie("t1_mc", "t1_mc", 2);

t1_mc._x = 282;
t1_mc._y = 72;
this.attachMovie("is_mc", "is_mc", 4);
is_mc._x = 320;
is_mc._y = 72;
is_mc._alpha = 35;
is_mc.onRollOver = function() {
    is_mc._alpha = 10;
    dm_mc.loadMovie("sa01.jpg");
    this.onEnterFrame=function() {
        filesize = dm_mc.getBytesTotal();
        loaded = dm_mc.getBytesLoaded();
        if(filesize==loaded) {
            dm_mc._width=180;
            dm_mc._height=270;
            delete onEnterFrame;
        }
    }
    
};
is_mc.onRollOut = function() {
    is_mc._alpha = 35;
    dm_mc.unloadMovie();
    
};


Может в таких случаях есть какое то решение или изменения исходной картинки не избежать(чего не желательно)?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 5.7.2008, 0:10
Rambler's Top100 Яндекс цитирования