Flash XML数据,单击显示节点标题

时间:2010-02-22 10:52:03

标签: xml flash actionscript actionscript-2 movieclip

我正在开发一个Flash AS2脚本,该脚本为XML文件中的每个节点添加一个movieclip实例。我还在XML文件中包含了每个节点的标题,我想在用户点击其中一个单独的动画片段时显示这些标题。我玩过clipevents和attachMovie,但对于我的生活,我无法弄清楚如何解决这个问题。有什么想法吗?

好了,现在有了更新脚本 - 是的!

var myXML:XML = new XML();
myXML.ignoreWhite=true;
myXML.load("map.xml");
myXML.onLoad = function(success) {
if (success) {
var myPin = myXML.firstChild.childNodes;
for (i=0; i<myPin.length; i++) {

var pinNumber = i+1;

_root.attachMovie("box", "pin"+i, _root.getNextHighestDepth());
var xpos = Number(myPin[i].attributes["xpos"]);
var ypos = Number(myPin[i].attributes["ypos"]);
_root["pin" + i]._x = xpos;
_root["pin" + i]._y = ypos;
_root["pin" + i].popup.titleBox.text = myPin[i].firstChild.nodeValue;

_root["pin" + i].popup._visible = false;// hide the title to begin with
_root["pin" + i].onRelease = function () { //when the pin is clicked...
_root["pin" + i].popup._visible=!_root["pin" + i].popup._visible; //toggle the titleBox's visibility
}

}
}
};

1 个答案:

答案 0 :(得分:0)

欢迎来到SO。

您可以尝试这样的事情(创建每个引脚时):

_root["pin" + i].titleBox._visible = false;// hide the title to begin with

_root["pin" + i].onRelease = function () { //when the pin is clicked...
this.titleBox._visible=!this.titleBox._visible; //toggle the titleBox's visibility
}

(编辑:将onRelease函数更改为使用'this.titleBox')

详细信息将取决于您希望它的行为方式。

希望这有帮助。