我正在使用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的按钮,我会做这些事情中的任何一个,这对玩家得分的对象属性没有影响:
(“这个”是按下的按钮)
var totalScore = 50;
this.myPlayer.score = totalScore;
player[1].score = totalScore;
Ti.API.debug(player[1].score) //this prints out 0, not 50
不知道为什么我无法改变球员的得分。我希望这很清楚。
答案 0 :(得分:0)
分配给TiProxy对象的数组的行为不符合预期。请在此处查看我的回答:Empty array after adding elements using Titanium Appcelerator mobile 1.7.2