2011-11-21 97 views
0

我正在使用Titanium Appcelerator。無法更新數組中的值

我有一個我爲遊戲創建的按鈕數組。每個玩家有一組按鈕。 我也有一個玩家對象數組,每個人都有一個「分數」屬性。

當玩家按下其中一個按鈕,其中全部都有一個指定值時,此按鈕所屬的玩家將更新其分數。

這裏是我如何創建爲每個玩家一組按鈕:

for(var i=0;i<7;i++){ 
    playerButtons[i] = Titanium.UI.createButton({ 
     myPlayer: thePlayer, 
     index: i, 
     value: 50, 
     touchEnabled: true, 
    }); 
} 

我「myPlayer」的屬性設置爲播放器的按鈕所屬。這樣,我可以在按下時將其與播放器相關聯,以便我知道要更新哪個分數。這個for循環是在遊戲開始時被調用的函數,並且傳遞了包含它所屬的玩家對象的「thePlayer」變量。然而,這裏似乎有一個脫節。例如:如果玩家1的得分是,比方說,0,並且按下了一個價值50的按鈕,我會執行以下任一操作,這些操作對玩家得分的對象屬性沒有影響:

(「this」是按下的按鈕)

var totalScore = 50; 
this.myPlayer.score = totalScore; 
player[1].score = totalScore; 
Ti.API.debug(player[1].score) //this prints out 0, not 50 

不知道爲什麼我不能更改玩家的分數。我希望這很清楚。

回答