0

使用 targetCurrent - 我能够获取用户单击的 MovieClip 的名称。

在函数 toggleClick 上有一条跟踪语句说:

trace("movieClip Instance Name = " + e.currentTarget);

输出窗口:

movieClip Instance Name = [object Comp]

根据用户点击的内容——将有一个与 MovieClip 相关联的值。

在 flash 舞台上有多个切换按钮:用户可以切换 MovieClips ON 或 OFF。舞台上有以下电影剪辑:电脑、灯泡和电视。用户可以打开或关闭对象。

如果用户单击“计算机”电影剪辑...

我希望能够遍历 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"};
4

1 回答 1

1

由于 houseArray 是一个对象,而不是一个数组,因此您不需要遍历它来获取值。您需要做的是在单击“Comp”MovieClip 时获得“comp”。有很多方法可以做到这一点。如果您的 MovieClip 的实例名称是“Comp”,那么您可以这样做:

var powerData:int = houseArray[e.currentTarget.name.toLowerCase()];
于 2010-08-18T03:04:22.450 回答