2011-11-21 2 views
0

저는 Titanium Appcelerator를 사용하고 있습니다.배열의 값을 업데이트 할 수 없습니다.

게임용으로 만든 버튼 배열이 있습니다. 플레이어 당 하나의 버튼 배열이 있습니다. 또한 선수 개체 배열이 있으며 각 개체에 "점수"속성이 있습니다.

플레이어가 할당 된 값을 가진 버튼 중 하나를 누르면,이 버튼이 속한 플레이어는 점수가 업데이트됩니다. 나는 버튼이 속하는 선수에게 "myPlayer"의 속성을 설정하고

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

: 나는 각 플레이어 버튼의 집합을 만드는 오전 방법은 다음과

이다. 이것은 그것을 눌러 플레이어와 연관시킬 수 있고 업데이트 할 점수를 알 수 있도록하기 위해서입니다. 이 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 

플레이어의 점수를 변경할 수없는 이유는 알 수 없습니다. 나는 이것이 충분히 명확하길 바란다.

답변

0

TiProxy 개체에 할당 된 배열은 예상대로 동작하지 않습니다. 내 대답보기 : Empty array after adding elements using Titanium Appcelerator mobile 1.7.2

+0

안녕하세요 Jeff, 자동으로 TiProxy 개체에 할당 되나요? 그렇지 않다면 그렇게하지 않을 것입니다. – gjunkie

+0

그들은 자동으로 할당해서는 안됩니다. 아마도 문제는 배열 요소에 속성을 설정하는 것입니까? –

관련 문제