하지만 위와같이 주게되면 이상하게 3가지 버튼에 올라갔을때 다이나믹텍스트에는 4가 출력이 됩니다 저두 처음에는 왜이렇게 되지 하고 너무 이상했습니다 왜그런지는 저도 자세히는 설명을 못드리겠지만 아마 이런이유때문이 아닐까합니다 for 문으로 tex 다이나믹변수에 1,2,3,을 넣더라도 결국 마지막은 for 문의 i 는 4가되기때문에 마지막에 들어간 변수값이 나오는 것이 아닐까 합니다 아무튼위와같이 하면 안되고 아래와같이 액션을 주어야합니다
for (i=1; i<4; i++) { prin = function (i) { //prin()이라는 함수를 선언 _root["btn"+i].onRollOver = function() { tex = i; }; }; prin(i); //prin()이라는 함수를 실행 }
prin() 이라는 함수를 추가하였습니다 prin=function(i) prin이라는 함수를 선언합니다 여기서 (i) 는 매개변수 입니다 매개변수란 함수를 실행할때 i라는 변수값을 이용하여 계산을 할때 사용을 합니다 그리고 마지막의 prin(i) 는 함수를 실행하는 것입니다 함수를 선언만하면 단지 선언이기때문에 실행은되지 않습니다
정리 하자면 for 문으로 3개의 함수를 선언과 동시에 실행을합니다 i 라는 값대신에 1,2,3,을 대입해서 보시면은 더 이해하기 쉬우실겁니다 잘이해가 안되시는 분은 위의for 문을 무조건 외우세요^^ 자주쓰이는 것이니까요~~