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
不知道为什么我不能更改玩家的分数。我希望这很清楚。
嗨,杰夫,他们会自动分配到TiProxy对象吗?如果不是,我不这样做。 – gjunkie
他们不应该自动分配。也许问题是在数组元素上设置属性? –