2014-07-20 2 views
1

누군가 내가 잘못하고있는 것을 보여 줄 수 있는지 궁금합니다.AS2가 클립 바깥으로 배열을 밀어 넣을 때 아무 것도하지 않습니다.

나는 일하기 위해 노력하고있는 오래된 AS2 플래시 코드가있다.

먼저 나는 그런 소위

var typeArr:Array = new Array(); 

for (var i:Number = 1; i < 5; i++) 
{ 
    _root.typeArr[i] = "data goes here"; 
} 

같은 기본 타임 라인의 프레임 1에 몇 가지 배열을 만들어 동적으로 클릭 한 것을 메인 무대에 부착 된 무비 클립은 우리가 밀고에 의해 생성 된 배열을 하나 추가해야 문자열 '푸'_root.typeArr[_root.myType] 배열의 이름과 번호 _root.typeArr3하지만, 데이터를 밀고하는 일을하고 아무 것도 반환하지 않습니다이다

stop(); 

_root.myType=3;//this can be any of our array numbers 

this.onPress=function(){ 

    var foo:String="test"; 

    _root.typeArr[_root.myType].push(foo); 

    trace(_root.typeArr[_root.myType]); 

} 

을 IT-합니다.

그러나,이 테스트 경우 직접

_root.typeArr[_root.myType]=foo; 

이 한번 (_root.typeArr3=test)에 데이터를 저장할 일 아민 때문에 여러 요소로 그 어레이마다에 푸시 할 것이다 이유는 볼 수 없다 "테스트, 테스트, 테스트"

그것은 나를 미치게합니다.

감사합니다. :)

답변

0

_root.typeArr[_root.myType]"data goes here" 그래서 당신이 작동하지 않는 문자열로 문자열을 밀고 같다. 대신 다른 데이터 구조가있는 경우 data goes heretest

는 "데이터가 간다"새 문자열을 추가하려는 경우

, 당신은 같은 것을 수행해야합니다

_root.typeArr[_root.myType]+=foo; 

를 당신은 얻을 것이다 키가이 데이터의 형식으로 놓여있을 수 있습니다.

+0

아! 그게 전부 였어. 너무 굉장해, 고마워! – cheeseomelete

+0

"+ = foo"가 데이터를 추가하지만 "문자열을 문자열로 푸시합니다. 작동하지 않습니다."라고 생각하게 만들었습니다. 그래서 형식을 _root.typeArr [i] = [ "data goes here"]로 변경했습니다. 다른 사람들이 같은 문제를 겪을 경우를 대비해 ".push"를 배열 요소로 추가 할 수 있습니다. – cheeseomelete

+0

나는 기쁩니다! 그것이 당신의 질문에 대한 답이라면, 대답으로 표시 할 수 있습니다. – mgPePe

0
var typeArr:Array = new Array(); 

    // 'i' must start from 0 because the first element is typeArr[0] 
    for (var i:Number = 0; i < 5; i++) 
    { 
     typeArr[i] = i; 
     // trace(typeArr[i]); // 0,1,2,3,4 
    } 

    // trace(typeArr); // 0,1,2,3,4 

    myType = 3; 

    bt.onPress = function() 
    { 
     var foo:String = "test"; 
     // push method puts the element at the end of your array 
     // typeArr.push(foo); 
     // trace(typeArr); // 0,1,2,3,4,test 

     // splice method replace the 4e element (index 3) of your array 
     typeArr.splice(myType, 1, foo); 
     trace(typeArr); // 0,1,2,test,4 
    } 
관련 문제