2014-10-01 89 views
-1

我在主類文件所做的這個新功能:AS3找不到屬性

check2(1); 
function check2(somenumber:Number){ 
var Somenumber:Number = somenumber; 

trace(Points.tab1_points); // traces actual variable for example "10" 

var test:String = "Points.tab" + Somenumber+ "_points"; 
trace("test"); // traces "Points.tab1_points" 

trace(this["Points.tab" + Somenumber+ "_points"]); //gives error 
} 

'

ReferenceError: Error #1069: Property Points.tab1_points not found on Main and there is no default value. 

    at Main/check2()[...\Main.as:641] 
    at Main/Check()[...\Main.as:388] 

Test Movie terminated. 

我需要跟蹤的價值,但通過動態字符串。 任何人都可以幫我嗎? 謝謝。

回答

1

您不能訪問財產的財產。所以你需要做下一步:

var points:Object = this["Points"]; 
var tabPoints:Object = points["tab" + Somenumber+ "_points"]; 
trace(tabPoints); 

而不是類型「對象」,你可以使用適當的類型。

更新:

如果Points是一個類名,那麼你可以只寫下一頁:

trace(Points["tab" + Somenumber+ "_points"]); 
+0

它不是working..I忘了提,點是一個類名,因爲變量tab1_points是靜態的var在Points類文件中。 – Morsus 2014-10-01 09:00:24

+0

我得到這個錯誤:屬性能力沒有找到主,沒有默認值。 – Morsus 2014-10-01 09:18:45

+0

你的評論改變了全部=)。班級積分不是任何其他班級的一部分。所以,你可以直接從任何地方訪問你的財產。我會更新答案。 – Crabar 2014-10-01 09:38:42