PDA

Просмотр полной версии : изображения загружаются с неправильными размерами в ролик


Zhihar
02.09.2009, 18:28
Привет

Имеется такой код:

var mcLoader:MovieClipLoader = new MovieClipLoader();

var mcMyClip:MovieClip = this.createEmptyMovieClip("my_clip1", this.getNextHighestDepth());

mcLoader.loadClip("files/image.jpg", mcMyClip);

он срабатывает, но картинка оказывается раза в 2 больше, чем ее исходный размер
при этом если запросить размеры у mcMyClip, то они оказываются 0x0

Как это побороть? Т.е. чтобы картинка бала с исходными размерами


Подозреваю, что размеры 0x0, потому что картинка к моменту запроса еще не догружена

mooncar
02.09.2009, 18:48
Размеры определяйте / меняйте внутри onLoadInit, то есть только когда флеш с гарантией загрузил контент.

Zhihar
02.09.2009, 18:49
а почему по умолчанию они выставляются неправильно?

Добавлено через 40 секунд
onLoadInit или onLoadComplete?

lexa2000lexa
02.09.2009, 18:53
для картинки не принципиально onLoadInit или onLoadComplete.

Zhihar
03.09.2009, 04:01
Еще вопросик тогда
Для одних картинок мне надо одни действия (сделать видимыми), для других - другие (изменить размеры), но onLoadInit одна на всех

Попытался добавлять в MovieClip переменные (типа статуса), но onLoadInit они почему-то неопределены :(

т.е.

function onLoadInit(mc:MovieClip)
{
trace(mc.m_nStatus);
}

говорит, что переменная m_nStatus не определена, хотя она определена

В чем тут дело?

iNils
03.09.2009, 04:36
говорит, что переменная m_nStatus не определена, хотя она определена Неа :) Как только начали загрузку, все чужеродные переменные удаляются.

Zhihar
03.09.2009, 09:39
где иконка с ОГРОМАДНЫМИ глазами
т.е. мне надо все переменные выставлять после загрузки изображения?

mooncar
03.09.2009, 11:37
Делайте так: создайте внутри мувика, куда предполагалась загрузка, еще одни контейнер, но уже для картинки, и уже туда ее грузите.
Тогда сможете добавить любую доп. информацию в основной контейнер, и информацию, относящуюся только к данной картинке можно использовать как до загрузки, так и после.
this.createEmptyMovieClip('mc', this.getNextHighestDepth());
mc.createEmptyMovieClip('image', 0);
mc.m_nStatus = 1;
....

this.onLoadInit = function(target_mc:MovieClip) {
//что-то делаем с самой картинкой
....
trace(target_mc._parent.m_nStatus); //выведет "1"
};

loadClip(picURL, mc.image);

Zhihar
03.09.2009, 14:17
ну по сути так и сделано
но все началось с того, что в функции onLoadInit хочу знать что за тип картинок быз загружен