我正在尝试制作横幅,用户可以在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>
目标是我可以解析与文本框相关联的项目。
解析数据我在foor循环中使用for循环,如下所示:
_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; }
当我解析这个时,我得到了正确的结果,如:
&LT; ---图像/ plaatje_1.jpg ---&GT; 14 18 三十 &LT; ---图像/ plaatje_2.jpg ---&GT; 20 26
这意味着图像1有三个带有fontsize的文本框:14,18,30。
现在我遇到了以下问题。
你可以看到我从我的billboardData_array中获取函数我想在其他类中调用这个get函数来获取我需要的正确数据。
现在我做了一个示例函数,如:
public function showBla():void {
trace("show bla functie");
trace(swisBillBoardData.billboardData_array[0]['textFontSize']);
}
此函数返回最后的fontsize但我需要遍历它以在舞台上显示文本。
我希望有人能帮助我解决这个问题。
非常感谢
答案 0 :(得分:0)
它是固定的:)。问题是我每次循环通过texbox时都会重写数组。