Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   как подгрузить параметры из файла? (http://www.flasher.ru/forum/showthread.php?t=100892)

Cramac 06.09.2007 18:30

как подгрузить параметры из файла?
 
Всем привет. Делаю небольшую карту местности, хочу параметры обьектов храмить в хмл. Как сделать так, что бы при нажатии на какой либо объект на карте, открывался ролик с параметрами описанными в хмл?
И можно ли хранить настройки кнопок (цвета, названия) в хмл и применять их при загрузке первоначальной самой карты?

bettrrr 06.09.2007 18:48

Цитата:

Сообщение от Cramac
Всем привет. Делаю небольшую карту местности, хочу параметры обьектов храмить в хмл. Как сделать так, что бы при нажатии на какой либо объект на карте, открывался ролик с параметрами описанными в хмл?
И можно ли хранить настройки кнопок (цвета, названия) в хмл и применять их при загрузке первоначальной самой карты?

Можно.
Код:

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&c...1%81%D0%BA&lr=

Cramac 06.09.2007 19:06

Psycho Tiger, немного не то.
У меня карта вся готовая будет во флеше. А вот кнопки используемые на карте, точнее их параметры, хочу хранить в хмл. т.е. нажал на кнопку, открылся мульт указанный в хмл для этой кнопки, мульт использует доп параметры из хмл.

Kikasso 06.09.2007 19:19

Цитата:

Сообщение от bettrrr
в 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 );

Код не тестил, но должно работать

Kikasso 07.09.2007 20:47

Цитата:

Сообщение от Psycho Tiger
Код не тестил, но должно работать

Протестите на досуге.
1) скобки надо открывать и закрывать - строка 3
2) в XML все - строки, надо конвертировать в число для арифметичческих операций - строка 2
3) а что вообще должна делать третья строчка?

Cramac 07.09.2007 21:34

ну у меня скролов не планируется, у меня при нажатии на кнопку должет загрузится определенный ролик с планом дома и в нужных местах подрасить

Kikasso 07.09.2007 22:22

Ну и в чем проблема? как параметр получить, написали. Осталось XML продумать, написать и загрузить его, а по загрузке настраивать карту.

Molecula 07.09.2007 23:15

Про аттрибуты можно тоже не забывать...


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

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