| toha20072008 |
05.01.2009 01:51 |
Подгрузка SWF файлов с помощью XML
Уважаемые флэшеры! Мне очень нужна ваша помощь!!
У меня такая проблема - есть темплэйт, сайт на флэше с использованием XML. Все картинки и тексты в этом шаблоне подгружаются при помощи XML.. ну например...
Код AS1/AS2:
<page name="about">
<image imageUrl="_pic5.png" link="asfunction:link"/>
Грузится эта картинка в контейнер, который задаётся, при помощи такого нехитрого скрипта
Код AS1/AS2:
onClipEvent (load)
{
imageProperties = _root.getCurrentImageName(0);
loadMovie(_root.url + imageProperties.name, this.cont.pic);
url = imageProperties.linkToOpen;
targetWindow = imageProperties.target;
}
Где getCurrentImageName это функция которая прописана в самом начале фильма, во втором кадре корневого уровня флэш файла, таким скриптом
Код AS1/AS2:
function getCurrentImageName(imageNumber)
{
sectionNum = getXmlSection(mainObj, "section", "pages");
currentPage = _root.link - _root.firstPageFrame;
imageParams = new Array();
imageParams.name = mainObj.section[sectionNum].page[currentPage].image[imageNumber].imageUrl;
imageParams.linkToOpen = mainObj.section[sectionNum].page[currentPage].image[imageNumber].link;
imageParams.target = mainObj.section[sectionNum].page[currentPage].image[imageNumber].target;
return (imageParams);
}
Ну а сама картинка грузится прелоадером который находится внутри контейнера и имеет вот такой вот скрипт
Код AS1/AS2:
onClipEvent (load)
{
a = 0;
}
onClipEvent (enterFrame)
{
percent = Math.round(_parent.cont.pic.getBytesLoaded() / _parent.cont.pic.getBytesTotal() * 100);
text = percent + "%";
gotoAndStop(percent);
if (_parent.cont.pic.getBytesLoaded() >= _parent.cont.pic.getBytesTotal() && _parent.cont.pic.getBytesLoaded() > 100 && a != 1)
{
a = 1;
_parent.gotoAndPlay(2);
} // end if
}
ВОПРОС - как мне подгружать вместо картинок swf мувики в те же контейнера??
Добавлено через 6 минут
ВОПРОС - как мне подгружать вместо картинок swf мувики в те же контейнера??
Я новичок во флэше поэтому попытался сделать по накатаному в этом шаблоне, прописал новую функцию getCurrentMovieName
Код AS1/AS2:
function getCurrentMovieName(movieNumber)
{
sectionNum = getXmlSection(mainObj, "section", "pages");
currentPage = _root.link - _root.firstPageFrame;
movieParams = new Array();
movieParams.name = mainObj.section[sectionNum].page[currentPage].movie[movieNumber].movieUrl;
movieParams.linkToOpen = mainObj.section[sectionNum].page[currentPage].movie[movieNumber].link;
movieParams.target = mainObj.section[sectionNum].page[currentPage].movie[movieNumber].target;
return (movieParams);
} // End of the function
В контейнере поменял скрипт на
Код AS1/AS2:
onClipEvent (load)
{
movieProperties = _root.getCurrentMovieName(0);
loadMovie(_root.url + movieProperties.name, this.cont.pic);
url = movieProperties.linkToOpen;
targetWindow = movieProperties.target;
}
Ну и естественно в XML файле изменил адрес файла с
<image imageUrl="_pic5.png" link="asfunction:link"/> на
<image imageUrl="_pic5.swf" link="asfunction:link"/>
но к сожалению не сработало...
Ребята - может кто-нибудь сталкивался с подобной проблемой??
Пожалуйста помогите! Буду материально признателен!
|