as3 проблема с разбором данных из xml - PullRequest
0 голосов
/ 29 сентября 2010

Я пытаюсь создать баннер, с помощью которого пользователь может редактировать свои настройки в xml-файле.Мой xml-файл выглядит следующим образом.

<billBoard>
    <items>
        <item>
            <imageUrl>images/plaatje_1.jpg</imageUrl>
            <imageShowTime>5</imageShowTime>
            <imageClickLink>http://www.google.nl</imageClickLink>
            <imageClickLinkTarget>_blank</imageClickLinkTarget>
            <animatiePosition>top</animatiePosition>
            <animatieEffectType>Cubic</animatieEffectType>
            <textboxen>
                <textbox>
                    <textFontSize>14</textFontSize>
                    <textFontColor>0xFFFFFF</textFontColor>
                    <textBgColor>0xFF0000</textBgColor>
                    <textBgOpicity>0.8</textBgOpicity>
                    <textPadding>10</textPadding>
                    <textAnimationDirection>left</textAnimationDirection>
                    <textAnimatieTime>2</textAnimatieTime>
                    <textAnimatieDelay>0.07</textAnimatieDelay>
                    <textXposition>200</textXposition>
                    <textYposition>300</textYposition>
                    <text>hier komt de tekst</text>
                </textbox>

                <textbox>
                    <textFontSize>18</textFontSize>
                    <textFontColor>#FF0080</textFontColor>
                    <textBgColor>0xFF0000</textBgColor>
                    <textBgOpicity>0.6</textBgOpicity>
                    <textPadding>12</textPadding>
                    <textAnimationDirection>right</textAnimationDirection>
                    <textAnimatieTime>3</textAnimatieTime>
                    <textAnimatieDelay>0.07</textAnimatieDelay>
                    <textXposition>200</textXposition>
                    <textYposition>300</textYposition>
                    <text>hier komt de tekst 2 van item 1</text>
                </textbox>

цель в том, чтобы я мог проанализировать элемент, связанный с текстовыми полями.

, чтобы проанализировать данные, которые я использую для цикла for в цикле foor,как показано ниже:

_billboardData_array = new Array();

        for (var i:int = 0; i < xml.billBoard.items.item.length(); i++) {
            //hold the data of the billboardItems

            var billBoardData:Array = new Array();


            billBoardData['billBoardID'] = i;
            billBoardData['imageUrl'] = xml.billBoard.items.item[i].imageUrl;
            billBoardData['imageShowTime'] = xml.billBoard.items.item[i].imageShowTime;
            billBoardData['imageClickLink'] = xml.billBoard.items.item[i].imageClickLink;
            billBoardData['imageClickLinkTarget'] = xml.billBoard.items.item[i].imageClickLinkTarget;
            billBoardData['animatiePosition'] = xml.billBoard.items.item[i].animatiePosition;

            trace("<---" + billBoardData['imageUrl'] + "--->");
            for (var j:int = 0; j < xml.billBoard.items.item[i].textboxen.textbox.length(); j++) {

                billBoardData['textFontSize'] = xml.billBoard.items.item[i].textboxen.textbox.textFontSize[j];
                trace(billBoardData['textFontSize'] = xml.billBoard.items.item[i].textboxen.textbox.textFontSize[j]);
            }


            //trace(item.textboxen[i].textbox.length());

            _billboardData_array[i] = billBoardData;


       }    
        }

        public function get billboardData_array():Array { return _billboardData_array; }

когда я анализирую это, я получаю правильные результаты, такие как:

<--- images / plaatje_1.jpg ---> 14 18 30 <--- images/plaatje_2.jpg ---> 20 26

, что означает, что изображение 1 имеет три текстовых поля с размером шрифта: 14,18,30.

Теперь у меня следующая проблема.

как вы можете видеть, я получил функцию из своего billboardData_array. Я хочу вызвать эту функцию get в других классах, чтобы получить правильные данные, которые мне нужны.

на данный момент я создал пример функции, такой как:

public function showBla():void {
        trace("show bla functie");
        trace(swisBillBoardData.billboardData_array[0]['textFontSize']);

    }

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

Я надеюсь, что кто-то может помочь мне с этим.

спасибо большое

1 Ответ

0 голосов
/ 29 сентября 2010

это исправлено :). Проблема заключалась в том, что я переписывал массив каждый раз, когда перебираю цикл через texbox.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...