![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2001
Сообщений: 29
|
генерю динамически клип.
в него делаю loadMovie с картинкой. далее мне надо правильно расположить эту картинку. и тут большой трабл - не могу получить размеры картинки (то есть этого клипа). вполне ясно, что скрипт проигрывается сразу и после этого какое-то время грузится jpeg, и поэтому не имеет смысла ловить размеры сразу, исходя из этого, я сделал onLoad и onData, но они не работают, как оказалось jpeg при загрузке замещает полностью исходный клип , т. к срабатывает только onUnload (и соответственно до загрузки jpeg) Как получить размеры. неужели нужно делать многофреймовый клип и туда грузить? Последний раз редактировалось MainD; 15.09.2002 в 22:18. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
в любом случае придется как-то отлавливать окончание загрузки... без этого никак
![]() а сделать это можно сотней разных способов... ты можешь внутрь загружаемого клипа скрипт написать ? имею в виду - внутрь той свф с картинкой... тогда проще всего поставить там, скажем, вызов функции из рута... а в функции этой прописать все что нужно... ...тогда тебе не придется в основном ролике добавлять кадров, или использовать онЕнтерФрейм для проверки загруженности... |
|
|||||
|
Регистрация: Apr 2002
Адрес: ukraine
Сообщений: 22
|
Ушёл о т этой траблы так:
1.Создал *.swf файл таких же размеров как и и сходный. 2.И загрузил в исходный файл нужную картинку, которая сохранена в *.swf. 3.В загружаемом файле расположил картинку так, как мне нужно по отношению к элементам основного мувика. Но только не забудь грузить *.swf на другой уровень, иначе картинка загрузится вместо основного мувика.
__________________
если нравится, считай что получилось!!! НО во всякой красоте есть изъян. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
или у тебя МХ и ты грузишь прям джпег, без свфки ?
тогда при начале загрузки свойства ширины и высоты скидываются в ноль... значит можно написать какой_то_клип.onEnterFrame = function () { if (таргет_загрузки._width && таргет_загрузки.getBytesLoaded()) { // действия // ............... delete this.onEnterFrame; } } |
|
|||||
|
Регистрация: Sep 2001
Сообщений: 29
|
у меня mx.
frame_holder.createEmptyMovieClip("pic",14);
frame_holder.pic.onEnterFrame = function(){
trace(this._name + " :" + this._width);
};
frame_holder.pic.loadMovie("http://bla.bla/" + somepic);
повторю, клип я создаю динамически. ширина получается нулевая при всех опробованных обработчиках. мало того onEnterFrame должен постоянно посылать ширину, но он это делает один раз, очевидно до того, как начнёт загружацца картинка. Как я уже писал срабатывает ещё и onUnload то есть создаётся ощущение, что все обработчики стираются в тот момент, когда начинает загружаться картинка. Совсем в тупик поставила ещё одна проверка. Мы знаем, что загружаемый клип наследует св-ва и т д. ставим сразу после createEmpty.. frame_holder.pic._visible = false; не работает. ставим туда же frame_holder.pic._alpha =0; работает. пипец. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
Цитата:
вообще-то так и есть... ![]() и то, что ширина изначально тоже ноль - ничего не меняет... условие if (таргет_загрузки._width && таргет_загрузки.getBytesLoaded()) { как раз и ловит момент, когда появляется отличное от нуля свойство _ширина + файл грузился |
|
|||||
|
Регистрация: Sep 2001
Сообщений: 29
|
значить рассказываю в чём здесь дело для всех ехидных и не очень:
если мы хотим, чтобы картинка сама спозиционировалась, то : мы все не можем сделать то, что предлагает нам Noctis по простой причине - oEnterFrame будет работать только тогда, когда в клипе БОЛЬШЕ чем один фрейм, в противном случае, он срабатывает только один раз. необходимо делать пустой клип в lib с linkage, состоящий из 2 фреймов. на второй фрейм ставим условие, если есть координата ( или всё что угодно), то стоп. приаттачивая его, мы в создаём внутри клип с пом. createEmpty.. и внего грузим картинку. всё. 2NoxNoctis: ты проверяешь, то что постишь?
__________________
loadin'....... |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
во-первых - ехидства пока что не было...
счас исправим это досадное недоразумение :) второе: Цитата:
на что спорим, что это - Л А Ж А (четыре буквы, два слога) ? только давай сначала поспорим, а потом будешь проверять, что же это ты такое сказал, ладно ? третее: в библиотеке ничего создавать не надо... поскольку все свойства и методы стираются в клипе после вызова лоадМуви, то вешать онЕнтерФрейм на таргет клип бессмысленно ...но никто же не мешает создать тебе еще один клип control = this.createEmptyMovieClip("bla-bla-bla", 666); и повесить онЕнтерФрейм со всеми необходимыми проверками на него, а после загрузки его ремувить за ненадобностью и последнее: без обид... я когда что-то пишу в этом разделе - как правило сначала проверяю (хотя в данном случае это не нужно - я з н а ю как это работает) хорошо бы сначала подумать, а потом хамить... думать что говоришь и говорить что думаешь - не одно и то же... Последний раз редактировалось Nox Noctis; 16.09.2002 в 03:40. |
|
|||||
|
Регистрация: Sep 2001
Сообщений: 29
|
тсссс, мой друг, спокойно.
не надо так горячиться. Цитата:
все видели строчку loadMovie. значит onEnterFrame не будет работать так, как он должен, а будет так, как я написал. видишь ли, несдержанность - это порок. RTFM : ехидство, хамство. а вариант с контрольным клипом, это интересно. стоило, может быть написать это сначала , поскольку, как мне кажется, это единственная твоя мысль по делу в этом треде. спасибо.
__________________
loadin'....... |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
менторский тон - это хорошо
![]() со времен гревних дреков ничего по части полемических приемов не изменилось ![]() Цитата:
я тебя не понял - объясни пожалуйста ![]() Цитата:
см. мое второе и третее сообщение. до того, как ты написал о том, что ентерФрейм убивается при вызове лоадМуви, мне и в голову не пришло, что это не очевидно (чес слово... без выпендривания - я этого не ожидал )"какой_то_клип" во втором сообщении как раз и означало, что ты повесишь этот обработчик НЕ на тот же клип, в который грузишь... |
![]() |
Часовой пояс GMT +4, время: 19:02. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|