Форум » freeDEXpano » Как оптимизировать xml » Ответить

Как оптимизировать xml

neon_tmn: Здравствуйте. Хочу сделать виртуальный тур, в котором будет очень много сцен, порядка 50 сцен. 1. Разобравшись немного со структурой, понял, что все сцены нужно описывать в xml, внутри каждой сцены прописывать картинки (от этого по логике не деться никуда), в каждой сцене прописывать хотспоты (это тоже вполне логично). Собственно вопрос. Кнопки приблизить, удалить, повороты по 4 направления, включение и выключение полноэкранного режима, так же события мышки, увеличение и уменьшение масштаба колесиком мышки, все это по логике нужно в каждой сцене. И описывать это в каждой сцене накладно, так как файл xml будет и так большого размера из-за 50 сцен, а с кучей кнопок так вообще будет много весить. Подскажите, как можно оптимизировать структуру xml файла, для такого количества сцен? Файл буду формировать из базы данных mysql, там все будет прописано. 2. Второй вопрос, как swf воспримет файлик xml весом в пару мегабайт?

Ответов - 4

Administrator: Добрый день! Если для управления туром используется один и тот же набор кнопок, радаров и т.п., то дублировать их в каждой сцене совершенно излишне. Вы можете задать все элементы и скрипты управления в первой сцене и использовать их во всех последующих сценах. А в сценах с панорамами задавать только дополнительные элементы (изображения панорамы, хотспоты, описание) относящиеся именно к этой сцене. Так же можно в первой сцене описать несколько различных наборов управления и в последующем скрывать или отображать необходимые из них. Чтобы элемент или скрипт оставался неизменным при переходе из сцены в сцену необходимо задать ему параметр keep="1". Если keep="0" (это значение по умолчанию для всех элементов), то при переходе в следующую сцену элемент будет удален. Как использовать этот параметр можно посмотреть в описании параметров каждого элемента. Пример разделения по сценам можно посмотреть например здесь ("XML файл настроек примера размещенного на этой странице"): radar_default UPD. Есть еще один способ организации XML файлов, чтобы они были структурированны и не очень большими по размеру. При переходе из сцену в сцену действием scene (actionChangeScene) можно задавать не только имя сцены в начальном файле XML, но и любой другой файл XML. Подробнее здесь (раздел "Действия"): http://pano.3dex.ru/fdp/2_3_3/detailed_setup.html Соответсвенно можно для каждой из 50 сцен создать собственный файл XML и осуществлять переходы между ними, в таком случае настройка сцен может упрощаться, т.к. в каждом отдельном файле описание только конкретной сцены. При этом элементы управления все так же можно описывать в первой сцене и использовать их во всем туре. Так что вариантов оптимизации и организации файлов настроек достаточно много.

neon_tmn: То что нужно! Спасибо больше! Буду формировать файлы по сценам из mysql и динамически подключать те, которые нужны.

neon_tmn: нашел вот это Пример. При нажатии на хотспот произойдет загрузка файла second.xml и переход в описанную в нем сцену "init_scene": <hotspot action_up="script_next_xml" /> <script id="script_next_xml"> <actionChangeScene id="init_scene" xml="second.xml" /> </script> Допустим я изначально загрузил сцену с хотспотами. Пусть их будет 2. При нажатии на один хотспот вызываю один xml, если нажимаю на другой хотспот, тогда вызываю другой xml. А какой структуры должны быть сцены xml файлов, которые вызываю? Он должен иметь структуру такую же как и изначальный, родительский xml? или описывается только сцена?


Administrator: При вызове действия scene (actionChangeScene) программа загрузит новый файл XML и перейдет к указанной сцене. При этом новая сцена будет обработана точно так же, как если бы эта сцена была указана в исходном XML файле. Поэтому необходимо учитывать совпадения имен объектов и названия скриптов, чтобы все продолжало работать. Т.е. общая структура XML файла должна быть как у любого другого файла настроек программы, а в вызываемой сцене можете описывать любые необходимые объекты или скрипты. Все остальные сцены в новом XML файле будут игнорироваться до тех пор, пока вы принудительноне не перейдете в них.



полная версия страницы