Просмотр полной версии : как подгрузить параметры из файла?
Всем привет. Делаю небольшую карту местности, хочу параметры обьектов храмить в хмл. Как сделать так, что бы при нажатии на какой либо объект на карте, открывался ролик с параметрами описанными в хмл?
И можно ли хранить настройки кнопок (цвета, названия) в хмл и применять их при загрузке первоначальной самой карты?
Всем привет. Делаю небольшую карту местности, хочу параметры обьектов храмить в хмл. Как сделать так, что бы при нажатии на какой либо объект на карте, открывался ролик с параметрами описанными в хмл?
И можно ли хранить настройки кнопок (цвета, названия) в хмл и применять их при загрузке первоначальной самой карты?
Можно.
var my_xml:XML = new XML();
my_xml.ignoreWhite = true;
my_xml.load("data.xml");
my_xml.onLoad = function(success) {
//тут делать то, что надо с XML
}
Но надо знать, что не получится обращаться к узлам так: node1.node23.node56.nodeValue
Т.е. в AS2 нет возможности указывать абсолютный путь к узлам, там надо указывать относительный, что для меня ОЧЕНЬ не удобно.
Почти написал класс, который делает дерево объектов, чтобы можно было указывать абсолютный путь к узлам, но из-за отсутствия клонирования объектов класс получается ресурсоёмким.
Надеюсь, что мне не часто придётся работать с AS (впрочем, как и с JS)
Psycho Tiger
06.09.2007, 18:49
Можно сделать все. Подгрузив что то из хмл делай с ним все что хотим - туда можно запихнуть и цвета, и настройки, даже акорды для игры на гитаре.
Чтобы подгружать только отдельную местность, есть 3 варианта:
1) загружать все и сразу а потом парситьво флэше, выдирая только те элменеты, которые нужны для этой зоны.
2) разбить в много много разных файлов, и загружать их
3) отправлять запрос на сервер, а сервер сам сгенерирует те хмл файл по твоему запросу.
Про хмл и флэш читать тут:
http://www.google.com/search?hl=ru&client=opera&rls=en&q=xml%2Bflash&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=
Psycho Tiger, немного не то.
У меня карта вся готовая будет во флеше. А вот кнопки используемые на карте, точнее их параметры, хочу хранить в хмл. т.е. нажал на кнопку, открылся мульт указанный в хмл для этой кнопки, мульт использует доп параметры из хмл.
в AS2 нет возможности указывать абсолютный путь к узлам
Зато есть idMap, то есть достаточно указать ноде id и она будет там прописана.
var myXML = new XML("<x><node id='a' text='привет от а'/><node id='b'>привет от b</node></x>");
trace( myXML['idMap']['a'].attributes.text );
trace( myXML['idMap']['b'].firstChild.nodeValue );
почему пишу idMap не через точку - это свойство забыли задокументировать.
Psycho Tiger
07.09.2007, 13:42
Ну, раз так то это вообще просто:
Качем хмл файл, а после скажем при нажатии на кнопочку прокрутка вниз, ты прибавляеш из хмл файла нужную величину.
(Код передран от Kikasso)
var myXML = new XML("<x><node id='down' text='1/><node id='up'>2</node></x>");
up.onrRelease=function(){map._y-=myXML['idMap']['down'].attributes.text ); }
down.onrRelease=function(){ myXML['idMap']['down'].firstChild.nodeValue );
Код не тестил, но должно работать
Код не тестил, но должно работать
Протестите на досуге.
1) скобки надо открывать и закрывать - строка 3
2) в XML все - строки, надо конвертировать в число для арифметичческих операций - строка 2
3) а что вообще должна делать третья строчка?
ну у меня скролов не планируется, у меня при нажатии на кнопку должет загрузится определенный ролик с планом дома и в нужных местах подрасить
Ну и в чем проблема? как параметр получить, написали. Осталось XML продумать, написать и загрузить его, а по загрузке настраивать карту.
Molecula
07.09.2007, 23:15
Про аттрибуты можно тоже не забывать...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.