PDA

Просмотр полной версии : Загрузка файла с заданной высотой и шириной


Nikomed
12.03.2009, 02:41
Доброй ночи. Помогите плз с решением простенькой задачки, нужно к команде loadmovienum("test",1); добавить параметры высоты (Height) и широты (Width) чтобы загружаемый клип "test" не вылезал за рамки Flash документа в который мы его загружаем, заранее благодарен

Вообщем суть вопроса: есть 2 флеш документа разного, сильно разного размера, и нужно сжать 2-ой и загружать его в 1-ый чтобы они принимали одинаковый размер

r4v3r
12.03.2009, 11:10
по моему лучше использовать метод loadClip.Тогда загруженный клип будет помещен в назначенный контейнер. Контейнер будет иметь свойства высоты и ШИРИНЫ загруженного файла

nOobCrafter
12.03.2009, 11:44
Угу, используем мувиклиплоадер и по событию onLoadInit делаем с мувиком все что хочем. Если хочешь пройдись поиском по последним темам, я выкладывал более менее подробный вариант загрузки.

Nikomed
12.03.2009, 15:04
Поясню суть проблемы. Кнопка, что вызывает клип новый, находится внутри определённого movie clip-a, т.е доступ к ней появляется только после нажатия на определённый объект. Из-за этого кнопка путём вызова loadmovie со всеми вышеуказанными listener'aми засовывает совсем не так как мне надо (почемуто во флеше когда заходишь из главного меню в какойнить мувиклип то все координаты смещаются). Изменяя её размер в разы, даже отличается от оригинала, и хз в какую точку экрана, и не даёт задавать ей размеры и место положения. P.S команда loadmovienum тут отлично выручает, только не могу задать размер клипа :o + ещё проблемы в подгружаемых файлах через loadmovienum. В них (В подгружаемых) звук завязан скриптиком стандартным "var sound = sound;" и так далее и прикрепляется звук из библиотеке, только вот при подгрузке подобного файла не проиходит данного оператора и => функция onsoundcomplete после которой идёт загрузка последующих действий нифига не срабатывает... есть какие нибудь пути решения данной проблемы? :drinks:

nOobCrafter
12.03.2009, 15:13
loadmovie - loadClip(************); смотри синтаксис использования

Nikomed
12.03.2009, 15:31
loadclip, да у меня, проблема таже...

dimarik
12.03.2009, 15:48
И все же MovieClipLoader.

var savedWidth:Number = this._width;
var savedHeight:Number = this._height;

var mcl:MovieClipLoader = new MovieClipLoader();

this.mcl.addListener(this);
this.mcl.loadClip('bigFlashka.swf', this);

function onLoadInit(target:MovieClip):Void {
this.mcl.removeListener(this);
delete this.mcl;
target._width = this.savedWidth;
target._height = this.savedWidth;
}

Nikomed
12.03.2009, 16:00
Всё вон хорошо, это и сам делал 100 раз и правил по 200 раз, но тут проблема не в этом, а в том, что кнопка, вызывающая это действие находится внутри символа формата Clip, а когда заходите внутрь символа все координаты и размеры во флеше вверх дном, попытаюсь объяснить, например у нас есть объект размером 100 на 100, копируем его внутрь символа1 и смотрим его размеры и координаты... совсем другие... вот тоже самое происходит при загрузке внешнего файла. Поэтому ему не присвоить координат мувика в который грузим ибо мы грузим изнутри символа1... ну я не наю как ещё объяснить суть проблемы :o а оператор loadmovienum как то обходит это неблагодарное дело и сё ставит ровненько при условие что swf0 (клип куда грузим) = по размерам swf1 (клипу который грузим)

+ вышеописанную в посту 4 проблему со звуком никто не встречал?

starserfer
12.03.2009, 16:36
Не совсем понятна суть вашей проблемы, но если дело в координатах вложенных клипов, то их необходимо отсчитывать от родительского клипа. То есть, если у вас в клип parent_mc вложен клип child_mc, то при задании координат parent_mc.child_mc._x или parent_mc.child_mc._y следует учитывать, что эти значения отсчитываются внутри родительского клипа, а нулю соответствует точка регистрации род. клипа.
И используйте MovieClipLoader вместо loadMovie.

nOobCrafter
12.03.2009, 16:50
Блин, имхо просто ты изменил размеры того мувика (ручками) и все остальное тоже соскалилось %).. сделай заново и посотмри результат..

dimarik
12.03.2009, 17:25
Я Вас заставляю грузить в кнопку? Грузите на _root в какой-нибудь контейнер

var container:MovieClip = this.createEmptyMovieClip('container', this.getNextHighestDepth());
var savedWidth:Number = this._width;
var savedHeight:Number = this._height;

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

this.button.onRelease = function():Void {
this.mcl.loadClip('bigFlashka.swf', this.container);
};

this.onLoadInit(target:MovieClip):Void {
this.mcl.removeListener(this);
delete this.mcl;
target.width = this.savedWidth;
target.height = this.savedHeight;
}