【发布时间】:2016-04-12 13:33:20
【问题描述】:
您好,我提前为我的问题表示歉意,我确信这是非常基本的问题。
在地图上设置了 33 个地标,其中一个数组调用了库中的一个类。 第二个数组定义了这些地标的坐标。
for (var i:uint = 0; i < 33; i++) {
mark[i] = new landMark();
landMarks.addChild(mark[i]);
mark[i].x = lmxy[i]['x'];
mark[i].y = lmxy[i]['y'];
}
var lmxy:Array = [{x:1620,y:880},{x:1850, y:1050},etc...];
到目前为止一切顺利,地标显示在正确的位置。
第三个数组包含应该在单击地标时显示的不同图例。 所以地标[1]应该显示图例[1],地标[31]应该显示图例[31]
var lgd:Array = [lgdA, lgdB, etc... ];
var legends:MovieClip;
for (var j:uint=0;j<lgd.length;j++) {
legends = new lgd[j]();
legends.x = 300;legends.y = 170;
}
编辑原因显然不清楚: 我尝试在循环中将标记链接到图例,但出现错误:
mark[i].addEventListener(MouseEvent.CLICK, getLgd);
function getLgd(e:Event):void {stage.addChild (lgd[i]);}
非常欢迎任何帮助!
【问题讨论】:
-
您应该只添加被点击的
mark的legend,而不是同时添加所有图例...
标签: arrays actionscript-3 loops for-loop addchild