2010-08-18 67 views
0

使用targetCurrent - 我能够获取用户点击的MovieClip的名称。如何为Flash(AS3)中的变量赋值?

在功能toggleClick 有一丝声明说:

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

输出窗口:

movieClip Instance Name = [object Comp] 

基于什么用户点击 - 会有一个与MovieClip关联的值。

在闪光灯舞台上有多个切换按钮:用户可以切换开启或关闭动画片段。 在舞台上有以下的动画片段:电脑,灯泡和电视。用户可以打开或关闭对象。

如果用户点击“计算机”的MovieClip ...

我希望能够遍历houseArray - 当循环的变量,名为变种发现在array-- 补偿powerData - 它将存储comp的功率值。 (我不确定如何编写过程中AS3)。在houseArray补偿= “2” - 再见...

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

由于houseArray是一个对象,而不是一个数组,你不不需要循环来获得价值。你需要做的是当你点击“Comp”MovieClip时获得“comp”。有很多方法可以做到这一点。如果你的影片剪辑的实例名称为 “比较”,那么你可以这样做:

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

我把: VAR powerData:INT = houseArray [e.currentTarget.name.toLowerCase()];在函数toggleClick中使用 。 同样在toggleClick函数中,我跟踪了powerData: trace(powerData); 当我点击“比较”的MovieClip ... 在输出窗口: VAR powerData应该有2 – jc70 2010-08-18 05:31:32

+0

值谢谢,我能解决我遇到的问题。我的代码中的某些内容导致它无法正常工作。感谢您向我展示如何编写代码以使MovieClip符合我需要的正确值。 – jc70 2010-08-21 22:49:15