![]() |
|
||||||||||
|
|||||
|
Guest
Сообщений: n/a
|
Привет!
Есть 5 картинок, которые загружаются из xml...надо сделать так, чтобы они разворачивались на весь экран и растягивались при масштабировании окна браузера...отображались примерно 5 секунд и плавно затухали. На смену одной картинке должна приходить другая... Вопросы вызывают следующие моменты: 1. Как сделать плавное затухание и появление объектов, а также их смену. И ещё одно - надо сделать так, чтобы слайдшоу начиналось сразу после загрузки первой картинки, т.е. если 2 картинка не загрузилась - она просто не проигрывается и первая картинка остаётся пока вторая не загрузилась...и т.д. 2. Как реализовать для этого массива картинок опцию allowSmoothing...т.е. чтобы они после загрузки в флеш становились сглаженными? В принципе кое что получилось сделать, но только для одной картинки...подскажите как проделать тоже самое с массивом! Вот код на этот момент(архив проекта прикреплён): import flash.display.*; import mx.transitions.Tween; Stage.scaleMode = "noScale"; Stage.align = "TL"; function loadBitmapSmoothed(url:String, target:MovieClip) { var bmc:MovieClip = target.createEmptyMovieClip("bmc", target.getNextHighestDepth()); var listener:Object = new Object(); listener.tmc = target; listener.onLoadInit = function(mc:MovieClip) { mc._visible = false; var bitmap:BitmapData = new BitmapData(mc._width, mc._height, true); this.tmc.attachBitmap(bitmap, this.tmc.getNextHighestDepth(), "auto", true); bitmap.draw(mc); } var loader:MovieClipLoader = new MovieClipLoader(); loader.addListener(listener); loader.loadClip(url, bmc); } _root.createEmptyMovieClip("myBG", getNextHighestDepth()); loadBitmapSmoothed("Sunrise.jpg",myBG); myBG._xscale = 250; myBG._yscale = 250; function resizeBg():Void { var a:Number; if(Stage.width > 1000) { a = myBG._width/ myBG._height; myBG._width = Stage.width; myBG._height = myBG._width / a; trace(myBG._width/myBG._height); } } resizeBg(); onResize = function() { resizeBg(); } Stage.addListener(this); начинает выдавать Infinity! Интересно почему так? ![]() |
|
|||||
|
Модрон-ветеринар
|
Ответ на (2):
По остальному сейчас не скажу.. А вопрос вам - зачем вы собираетесь на каждую картинку свой обработчик и свой MCL создавать, когда достаточно одного MCL и одного onLoadInit? Цитата:
Вы же resize() еще до загрузки контента в myBG вызываете... Последний раз редактировалось mooncar; 17.02.2010 в 01:51. |
|
|||||
|
Guest
Сообщений: n/a
|
Цитата:
Цитата:
![]() Последний раз редактировалось Rosco; 17.02.2010 в 11:38. |
|
|||||
|
Модрон-ветеринар
|
Цитата:
![]() Либо все операции - внутри onLoadInit, либо старт нужных функций для обработки - оттуда. Можно вызвать какую-либо внешнюю функцию, передав ей аргументом сам mс, контейнер, который был аргументом в onLoadInit. И кстати, насчет _xscale и _yscale - эти свойства определить для пока пустого мувика-контейнера можно, и они возымеют действие после загрузки контента. Так же, как и координаты контейнера можно менять до загрузки и еще кое-какие свойства, например, фильтры налагать до загрузки тоже можно. Все остальное - только после загрузки. Разберетесь, думаю.. Последний раз редактировалось mooncar; 17.02.2010 в 13:12. |
|
|||||
|
Guest
Сообщений: n/a
|
Большое спасибо, mooncar! Сегодня вечером попробую, отпишу что получилось! Остаётся вопрос по поводу плавного перетекания и массива!
![]() |
|
|||||
|
Модрон-ветеринар
|
По этому вопросу есть хорошие решения с использованием класса Tween и массивов.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 07:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|