PDA

Просмотр полной версии : Как загрузить картинку в экземпляр класса MovieClip?


S e c t o r
30.06.2008, 18:39
Здравия желаю! Други! Хелпаните плизо! :rolleyes: Есть проект, который мне поручили доделать. Проект большой и сложный. Сделан на половину другим человеком. Так как проект не хилый, то любое существенное изменение в алгоритме классов может привести к его полному развалу. Времени как всегда нет, а проект надо завершать... Я всегда был за то, чтобы один человек вел проекты с 0 и до конца, но в жизни разные ситуёвины случаются... :(

Проект на ActionScript 3.0

Мне лишь необходимо знать, с вашего позволения, есть ли возможность загрузить в уже созданный экземпляр класса MovieClip в библиотеке (ну, тоись в клип как таковой) методом load.new URLRequest("Ссылочка") внешнюю картинку? Просто этот экземпляр класса потом используется в длинном коде классов и если выбирать иной путь решения проблеммы, то придеться переписывать всё, а это real UnReal.:o

S e ( t o r

mre
01.07.2008, 11:49
Можно. Читайте мануал.

DimensionB
01.07.2008, 14:08
2 S e c t o r:

Привет.

Делается это следующим образом:

Начало загрузки:

var loader:Loader = new Loader();
var url:URLRequest = new URLRequest("sample2.jpg");
loader.load(url);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);

По окончании загрузки будет вызвана функция подписанная на событие Event.COMPLETE, то есть onLoaded(e:Event).

В ней e.target.content и будет твоя картинка, только картинки при загрузке становятся не экземпляром MovieClip, а экземпляром Bitmap, и ничего с этим не поделаешь.

Для того чтобы это был MovieClip проще всего создать новый мувиклип и вставить туда картинку, например следующим образом:


private function onLoaded(e:Event):void {
var mc:MovieClip = new MovieClip();
mc.addChild(e.target.content as DisplayObject);

}


Если возникнут вопросы пиши в личку, пообщаемся.

S e c t o r
06.07.2008, 23:34
Огромное спасибо DimensionB!!!!! Я поначалу думал, что мне никто не ответит... Но вот нашелся хороший человек! Вообще для меня оказались очень полезными последние строки:

private function onLoaded(e:Event):void {
var mc:MovieClip = new MovieClip();
mc.addChild(e.target.content as DisplayObject);
}

Этот вопрос я как раз и решил этим способом:
loader:Loader = new Loader() ......
Но вот как вставить закаченную инфу и В КЛИП, не затрагивая библиотечные экземпляры клипов, не знал.... А это очень замечательное решение.!!.. страно, но факт — я почему-то до сих пор не встретил объяснения типа mc.addChild(e.target.content as DisplayObject); ни в хелпе ни в книге «Сборник рецептов ActionScript 3.0», хотя копашусь там считай с утра до вечера....... Огромное спасибо автору...!!!!

S e c t o r
06.07.2008, 23:41
Я просто еще пока немогу сразу привыкнуть к AS 3.0... Вот например к этому оператору «as». Но думаю и с ним потихонечку разберусь.... :)

etc
07.07.2008, 00:34
S e c t o r, было бы очень классно, если бы вы объединили посты #4 и #5, как единое целое и оформили свой код тегами . Иначе тема закроется, как неликвид.

Сайлас
07.07.2008, 00:35
Странно, а в разделе мануала (по F1 который) Programming ActionScript 3.0 / Display programming / Loading display content dynamically там эта структура через раз используется.
Может чтобы привыкнуть к AS 3.0 необходимо прочесть этот раздел (Programming ActionScript 3.0), там все очень хорошо описано.

S e c t o r
08.07.2008, 12:08
Спасибо всем огроменное за советы! :) Я просто недавно только зарегился на форуме, но теперь постараюсь обязательно ставить код в соответствующие теги. Вообще мне очень нравиться дружеская атмосфера на форуме! Это самый лучший рускоязычный форум для Флэшеров! :yahoo:

etc
08.07.2008, 13:28
Тема таки закрывается.