Форум 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=96556)

Ведьмак 04.06.2007 16:03

пример для XML:

загружаем XML
Код:

stop();
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("my.xml");

myXML.onLoad = function(success) {
        if (success) {
                gotoAndStop(2);
        } else {
                trace("error: not success");
        }
};

читаем его узлы:
Код:

rootNode = myXML.firstChild;
for (var i = 0; i<rootNode.childNodes.length; i++) {
        trace(rootNode.childNodes[i]);
}

для чтения атрибутов узла (если есть):
Код:

rootNode = myXML.firstChild;
for (var i = 0; i<rootNode.childNodes.length; i++) {
        theAttributes = rootNode.childNodes[i].attributes;
        var countryId:String = theAttributes.id_name;
        ...
        var peopleId:String = theAttributes.id_people;
       
}


K!ska 04.06.2007 16:36

таак, а в xml я описываю
что то типа того
Код:

<town>id = 1 </town>
и таких до кучи
а потом в самом флеше буду описывать что то типа
if id = 1 тогда такая то кнопка будет видимая иначе нет
я права ?

Ведьмак 04.06.2007 17:09

да только скорее:

Код:

<town>
 <button id="1" visible="true" />
 <button id="2" visible="true" />
...
 <button id="100" visible="false" />
</town>

т.е. для конопки с конкретным ID мы знаем ее VISIBLE

Код:

rootNode = myXML.firstChild;
for (var i = 0; i<rootNode.childNodes.length; i++) {
        theAttributes = rootNode.childNodes[i].attributes;
        var button_id = theAttributes.id;
        var button_vis:String = theAttributes.visible;
       
}

и дальше из этотго же цикла искать кнопку, которая соответсвует button_id и ставить ей _visible...

K!ska 04.06.2007 17:20

Цитата:

Сообщение от Ведьмак
да только скорее:

Код:

<town>
 <button id="1" visible="true" />
 <button id="2" visible="true" />
...
 <button id="100" visible="false" />
</town>

т.е. для конопки с конкретным ID мы знаем ее VISIBLE

Код:

rootNode = myXML.firstChild;
for (var i = 0; i<rootNode.childNodes.length; i++) {
        theAttributes = rootNode.childNodes[i].attributes;
        var button_id = theAttributes.id;
        var button_vis:String = theAttributes.visible;
       
}

и дальше из этотго же цикла искать кнопку, которая соответсвует button_id и ставить ей _visible...

блин, чего теперь не так (((
все сделала, даже прочитала как передать переменную, но не работает не пропадает ничего (((

K!ska 25.06.2007 15:03

а если создать еще один параметр ?
ну например в хмл я добавляю к своей строчке
<button id="bt_01" vis="0" /> еще параметр ch который может быть от 1 до 5
теперь в AS я пишу

Код:

for (var l in this) {
                if ((this[l]._name) == theAttributes.id) {               
                        this[l]._name = _root.gotoAndStop(ch);}}

что сейчас не правильно то ?

iNils 25.06.2007 17:03

А что за _name в xml?

K!ska 25.06.2007 17:36

Цитата:

Сообщение от iNils
А что за _name в xml?

имя кнопки

iNils 25.06.2007 17:43

Давай те ка вы лучше выложите цельный кусок xml и кода, а то я ничего не пойму в вашей организации.

K!ska 25.06.2007 18:06

Цитата:

Сообщение от iNils
Давай те ка вы лучше выложите цельный кусок xml и кода, а то я ничего не пойму в вашей организации.

первый кадр
Код:

stop();
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("my.xml");
myXML.onLoad = function(success) {
        if (success) {
                gotoAndStop(2);
        } else {
                trace("error: not success");
        }
};
for (var i in this) {
        if (typeof (this[i]) == "object") {
                this[i].onRelease = function() {
                        trace("Hit "+this._name);
                };
        }
}

во втором кадре
Код:

stop();

rootNode = myXML.firstChild;
for (var i = 0; i<rootNode.childNodes.length; i++) {
        trace(rootNode.childNodes[i]);
        theAttributes = rootNode.childNodes[i].attributes;
        var bt_id:String = theAttributes.id;
        var vis:Boolean = theAttributes.vis;
       

        for (var k in this) {
                if ((this[k]._name) == theAttributes.id) {               
                        this[k]._visible = vis;}
                }
        }


Kikasso 25.06.2007 18:37

Атрибуты - это строки. Строка не пустая - стало быть, правда.
Код:

var vis:Boolean = ( theAttributes.vis == "true" );
Или как там у вас vis передается?


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

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