![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jun 2004
Сообщений: 83
|
вот сделал флешку из нескольких swf
получилось так: есть флешка с картинками(karrtinki.swf), картинки беруться кодом из xml есть флешка с анимацией(animacia.swf), рисовано от руки во флеше есть флеш с текстом(text.swf), береться из xml есть текст с фоном(fon.swf), нарисован от руки во флеше все эти флешки подгружаются в отдельную флешку(new.swf) таким образом 1 слой 2 слой и тд в итоге, файл new.swf работает на локальной машине выкладываю все это дело на ucoz например, вставляю флешку на страницу и ничего не показывает код не работает.. что с этим делать? пробовал при экспортировани swf указывать access network only все так же не работает.. Добавлено через 16 минут кстати, у меня предлодеров нету ниводной, может быть изза этого? и как сделать предлодеры? на каждый ролик? или можно только в файле который на страницу ставиться new.swf? |
|
|||||
|
Модрон-ветеринар
|
Странно - у вас MCL грузит swf-ки в контейнеры с названиями 1 и 2? Или это вы типа уровни та задаете. Синтаксис другой:
loadClip (MovieClipLoader.loadClip method) public loadClip(url:String, target:Object) : Boolean Еще есть подозрение, что у вас ролик new что-то начинает делать, не дождавшись полной загрузки swf-ок (например, переходит на второй кадр или пытается как-то управлять загруженным контентом). Класс MCL сам практически является прелоадерем, его для этого и придумали. У него есть обработчики событий, например onLoadInit. Только по этому событию и нужно, если что, выполнять какие-то дальнейшие действия в основном ролике или загруженных. Покажите побольше кода. Последний раз редактировалось mooncar; 14.01.2010 в 10:31. |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 83
|
у меня есть основной ролик new.swf в нем 4 слоя, в каждом слое по кадру
в каждом кадре по коду с добавлением swf 1 это не контейнер, это я так слои обозначаю, что над чем должно быть во флешке больше ничего нет, не файлов не мувиков, только 4 слоя с одним кадром и в каждом слое свой код на загрузку sfw есть ролик с картинками kartinli.swf которые беруться из xml в ролике 1 слой и 1 кадр в котором следующий код Stage.align = "tl"; Stage.scaleMode = "noscale"; import flash.filters.BlurFilter; var images = []; var picts_xml:XML = new XML(); picts_xml.ignoreWhite = true; picts_xml.onLoad = function(success) { if (success) { var totalPictures = this.firstChild.childNodes.length; for (var k = 0; k<totalPictures; k++) { images[k] = this.firstChild.childNodes[k].attributes.link; } loadImage(); } else { trace("xml не загружен"); } }; picts_xml.load("picts.xml"); var container = _root.createEmptyMovieClip("picts_cont_mc", _root.getNextHighestDepth()); var loaderBox = container.createEmptyMovieClip("loaderBox", 0); loaderBox.cacheAsBitmap = true; container.onResize = function() { this._x = Math.round((Stage.width-this._width)/2); this._y = Math.round((Stage.height-this._height)/2); }; Stage.addListener(container); var mcl:MovieClipLoader = new MovieClipLoader(); var currentImage = 0; var loadListener = {}; var interval:Number; loadListener.onLoadInit = function(target_mc) { container.onResize(); currentImage++; if (currentImage == images.length) { currentImage = 0; } interval = setInterval(loadImage, 6000); target_mc._alpha = 0; target_mc.filters = [new BlurFilter(10,10,3)]; target_mc.onEnterFrame = function() { if (this._alpha<100) { this._alpha += 10; var f = this.filters[0]; f.blurX = f.blurY=(100-this._alpha)/10; this.filters = [f]; } else { this.filters = null; delete this.onEnterFrame; } }; }; mcl.addListener(loadListener); function loadImage() { clearInterval(interval); mcl.loadClip(images[currentImage], loaderBox); }; есть ролик text.swf в 2 слоя и 1 кадр, в одном слое кнопка, в другом динамические поля текста, текст береться из xml var picts_xml:XML = new XML(); picts_xml.ignoreWhite = true; picts_xml.onLoad = function(success) { if(success) { allPicts = picts_xml.firstChild.childNodes.length; showPict(); } else { trace("xml не загружен"); } } // шаг 3 // загрузка xml файла picts_xml.load("picts.xml"); var curPict = 0; var allPicts = 0; var pict_mcl:MovieClipLoader = new MovieClipLoader(); showPict = function () { var pict_title = picts_xml.firstChild.childNodes[curPict].attributes.title; var pict_title2 = picts_xml.firstChild.childNodes[curPict].attributes.title1; pict_info.text = pict_title; pict_cost.text = pict_title2; } nextPict = function () { curPict++; if (curPict>=allPicts) { curPict = 0; } showPict(); }; nextPict(); setInterval(nextPict,6000); во всех флешках fps 30 |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 83
|
а что посоветуешь с просмотром в инете флешки?)
|
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Я, честно говоря, запутался в том, что вы делаете, и ничего особенного советовать не стану. Лучше объясните, что вы хотите в результате, иначе просто куски кода соединяете, и уже сложно сообразить, что к чему.
__________________
hauts.ru |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 83
|
хочу чтоб swf файл работал когда его на страницу выкладываешь, так же как он работает при запуске на локальной машине)
|
|
|||||
|
Регистрация: Jun 2004
Сообщений: 83
|
в конечном итоге new.swf собирает все флешки в себе, и ее то я хочу вытащить в инет
она просто типа призентации на локальной машине она работает, а вот когда вставляю в инете на страницу, то показывается только первый кадр этой флешки, а код не запускает.. для того чтоб подгрузились остальные... Добавлено через 2 часа 26 минут так я понял в чем у меня проблема, флеш оказывается видит ссылки именно с той страницы откуда он запускается, все выложил на главную страницу и пихнул все файлы и swf туда же, теперь другая проблемма=) файлы подгружаются в разное время, отсюда не состыковка в смене картинок анимации и тексте... что в таком случаи делать? |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|