Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.01.2009, 01:51
toha20072008 вне форума Посмотреть профиль Отправить личное сообщение для toha20072008 Найти все сообщения от toha20072008
  № 1  
Ответить с цитированием
toha20072008

Регистрация: Jan 2009
Сообщений: 7
По умолчанию Подгрузка 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"/>

но к сожалению не сработало...
Ребята - может кто-нибудь сталкивался с подобной проблемой??
Пожалуйста помогите! Буду материально признателен!


Последний раз редактировалось iNils; 05.01.2009 в 14:45.
Старый 05.01.2009, 03:04
amexdesign вне форума Посмотреть профиль Отправить личное сообщение для amexdesign Посетить домашнюю страницу amexdesign Найти все сообщения от amexdesign
  № 2  
Ответить с цитированием
amexdesign

Регистрация: Jan 2009
Адрес: Германия, Bochum
Сообщений: 169
Отправить сообщение для amexdesign с помощью Skype™
возможно что проблема в следующем:
здесь прописанно
Код AS1/AS2:
function getCurrentMovieName(movieNumber)
а функцию вы вызываете так
Код AS1/AS2:
imageProperties = _root.getCurrentMovieclipName(0);
замечаете разницу в названии функции? скорее всего должно быть так
Код AS1/AS2:
imageProperties = _root.getCurrentMovieName(0);

Старый 05.01.2009, 14:38
toha20072008 вне форума Посмотреть профиль Отправить личное сообщение для toha20072008 Найти все сообщения от toha20072008
  № 3  
Ответить с цитированием
toha20072008

Регистрация: Jan 2009
Сообщений: 7
Прошу прощения.. дал неправильный код.. я уже егго исправил в первом посте.
В контейнере я поменял скрипт на

Код AS1/AS2:
onClipEvent (load)
{
    movieProperties = _root.getCurrentMovieName(0);
    loadMovie(_root.url + movieProperties.name, this.cont.pic);
    url = movieProperties.linkToOpen;
    targetWindow = movieProperties.target;
}

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:34.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:34.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.