如何为Flash(AS3)中的变量赋值?

时间:2010-08-18 02:55:07

标签: flash arrays variables movieclip mouseclick-event

使用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"};

1 个答案:

答案 0 :(得分:1)

由于houseArray是一个Object,而不是一个Array,因此您无需循环遍历它以获取值。你需要做的是当你点击“Comp”MovieClip时得到“comp”。有很多方法可以做到这一点。如果您的MovieClip的实例名称是“Comp”,那么您可以这样做:

var powerData:int = houseArray[e.currentTarget.name.toLowerCase()];