Показать сообщение отдельно
Старый 15.07.2013, 07:50
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 7  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,643
Записей в блоге: 4
Цитата:
это самое главное что есть во всей флеше!
Сильно

Цитата:
То что хотите вы ( я тоже самое хотел в самом начале ) так просто не сделаешь.
На самом деле, как раз в as3 эта задача упрощена до безобразия. Загрузить что-то в ас3 гораздо проще, чем во многих других языках.

Примерный алгоритм такой:
1) Загружаем основную флешку (допустим она формирует вид страницы)
2) Подгружаем XML файл со ссылками на все страницы, допустим это просто png картинки (хотя могут быть и swf или другие файлы)
3) допустим в главной флешке есть кнопки назад / вперед
каждая из них вызывает определенную функцию
(предположим что загруженный XML прикреплен к переменной с именем xmlList, а ноды в ней называются page и имеют атрибут link, в котором прописана ссылка на страницу в png)
Код AS3:
import flash.events.Event;
import flash.display.Loader;
 
var currentPage:int = 0;
 
function nextPage():void {
       if (currentPage + 1 < xmlList.length()) {
               currentPage++;
               loadPage();
       }
 
}
function previousPage():void {
       if (currentPage - 1 >= 0) {
               currentPage --;
               loadPage(); //  после установки номера страницы, грузим ее
       }  
}
 
function loadPage():void { // создаем загрузчик и грузим страницу по нужной ссылке
        var loader:Loader = new Loader();
        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
        loader.load(new URLRequest(xmlList.page[currentPage].@link));
}
function onComplete(e:Event):void {
      e.target.removeEventListener(Event.COMPLETE, onComplete); // удаляем с loaderInfo слушатель
      var loadedPage:Bitmap = e.target.content as Bitmap; // тут уже можно делать с картинкой все, что нужно
}
Примерно так