使用targetCurrent - 我可以获取用户点击的MovieClip的名称。
在功能切换点击 有一条跟踪声明说:
trace("movieClip Instance Name = " + e.currentTarget);
OUTPUT窗口:
movieClip Instance Name = [object Comp]
根据用户点击的内容,会有一个与MovieClip相关联的值。
在闪光灯舞台上有多个切换按钮:用户可以打开或关闭MovieClip。 在舞台上有以下的MovieClip:电脑,灯泡和电视。用户可以打开或关闭对象。
如果用户点击“计算机”MovieClip ...
我希望能够遍历houseArray - 当循环在数组中找到comp时 - 在一个名为var powerData的变量中 - 它将存储comp 的功率值。 (我不确定如何在AS3中编写该过程。)在houseArray comp =“2”--so ...
var powerData:int = 2;
var houseArray:Object = {lightA:"1",
lightB:"1",
lightC: "1"
lightD: "1"
lightE: "1"
comp: "2"
tv: "3"
stove: "4"
laundry: "5"};
答案 0 :(得分:1)
由于houseArray是一个Object,而不是一个Array,因此您无需循环遍历它以获取值。你需要做的是当你点击“Comp”MovieClip时得到“comp”。有很多方法可以做到这一点。如果您的MovieClip的实例名称是“Comp”,那么您可以这样做:
var powerData:int = houseArray[e.currentTarget.name.toLowerCase()];