Просмотр полной версии : Презентация с подгрузкой контента и XML
Делаю движок для презентации. Он из XML файла подгружает содержимое: текст, ссылки на картинки, звук и видео.
С парсингом XML все понятно. Проблема в том чтобы расположить и загрузить контент в следующем фрейме (если есть время в n последующих), пока пользователь просматривает текущий.
Потому как в 12 слайде может оказаться видео, а на его загрузку нужно много времени, а мы за время пока пользователь смотрел первые 11 слайдов его уже загрузим.
Если я гружу картинку так:
_root.createEmptyMovieClip("logo_mc", 1);
logo_mc.loadMovie(Objects[j].attributes.path);
то она оказывается Выше всех фреймов и перекрывает их.
Как сделать, чтобы мувиКлип принадлежал определенному фрейму? (это возможно?)
Можно ли actionScriptom создать фрейм? (количество фреймов может быть любым, равным числу слайдов)
Или я принципиально неверно мыслю и есть способ проще?
P.S. Если не сложно с примерами кода - это мой первый опыт с flash.
Homo Sapiens
17.07.2006, 01:08
ну, ты можешь сделать проще
_root.createEmptyMovieClip("logo_mc", 1);
logo_mc.loadMovie(Objects[j].attributes.path);
logo_mc._visible = false;
а на нужном кадре сделать его видимым.
MINASTIS
17.07.2006, 10:15
МОжно сделать так. Создаешь вручную в редакторе пустой мувиклип в ТОМ фрейме, который тебе надо. И в него кидаешь картинку или чего там. И картинка остается в ТОМ фрейме, который надо. Это же логично.
El Scream
17.07.2006, 11:48
На сколько я понимаю твою проблему, ты мыслишь все таки неправильно. Дело не во фреймах, а в виртуальных слоях на которых находятся все объекты, на каждый объект по слою. Определить на каком слое находится объект можно функцией this.getDepth() (пример смотрим в хелпе), соответственно при создании клипа в параметрах нужно указывать номер слоя. нумерация происходит от минус бесконечности до плюс бесконечности. просто существующие слои идут в виде списка. кстати если уж затронули эту тему, то кто может подсказать где на форуме можно будет найти топик или статейку про правильную организацию загрузок на слои, у меня просто проблема в создании n (n много больше 100) объектов посредством ActionScript.
ну, ты можешь сделать проще
на нужном кадре сделать его видимым.
представим, что на нужном слайде у нас лежит 6 картинок и 12 текстовых надписей, чтобы перелеснуть слайд, пробегаем в цикле сначала все на текущем слайде, чтобы их сделать невидимыми, а затем на следующем, чтобы сделать видимыми, нормальный такой цикл получается. Да, нам ведь еще надо хранить массив "чего для каждого слайда показовать" - не очень оптимально...
Создаешь вручную в редакторе пустой мувиклип в ТОМ фрейме, который тебе надо. И в него кидаешь картинку
вполне, но если Вы прочитаете внимательнее мой пост, то увидите, что число слайдов неограничено, а создать очень большое число слайдов, как можно понять не оптимально... :mad:
Дело не во фреймах, а в виртуальных слоях на которых находятся все объекты, на каждый объект по слою.
Вы, видимо, предлагаете когда нам понадобится увидеть объекты поднять их наверх, а ненужные опустить вниз... смотрим мой ответ Homo Sapiens, опять не оптимально получается...:D
Может, я недавно программирую во flash, но опыта в программировании в целом мне хватает. Не люблю недо- решения.
Книжек уже изрядно полистал, но ничего удачного пока не придумал.
Может кто-ть предложить другой подход или свежую идею?:rolleyes:
2 Moderator Подкорректировал название темы, может, в ActionScript перенести?
Для раздела ActionScript рановато. Вы простых вещей не понимаете. Единственный разумный вариант предложил Homo Sapiens, но сути вы его не поняли. Объясняю, грузите вы свой xml, по числу слайдов в нем создаете по порядку такое же число пустых мувиклипов и делаете их невидимыми (естесственно с помощью _visible=false) кроме первого, далее наполняете его чем нужно (правда если у вас 100 "слайдов"-клипов и в каждом видео или тяжелая артинка, то памяти у вас уйдет много и слабые машины не потянут. поэтому тут логичнее грузить скажем не все сразу, а только на 5-10 слайдов вперед, а потом подгружать, а ушедшие слайды выгружать, все равно потом из кеша можно будет взять), но не в сам клип одну картинку, а делаете из него контейнер. Потом вы просто, без всякого цикла делает текушему "слайду"-клипу _visible=false, а на тот который перешли _visible=true.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.