0

TitaniumAppceleratorを使用しています。

ゲーム用に作成したボタンの配列があります。プレーヤーごとに1つのボタンの配列があります。また、プレーヤーオブジェクトの配列があり、それぞれに「スコア」プロパティがあります。

プレイヤーがすべてに値が割り当てられているボタンの1つを押すと、このボタンが属するプレイヤーはスコアを更新します。

各プレーヤーのボタンのセットを作成する方法は次のとおりです。

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

なぜプレイヤーのスコアを変更できないのかわかりません。これが十分に明確であることを願っています。

4

1 に答える 1

0

TiProxy オブジェクトに割り当てられた配列が期待どおりに動作しません。ここで私の答えを参照してください: Titanium Appcelerator モバイル 1.7.2 を使用して要素を追加した後の空の配列

于 2011-11-21T21:26:13.913 に答える