[질문] as3.0 에서 for 문 속에서 변수명을 변경하여 값을 넣고 싶은데..
한뎃집
아침에 올렸던 글이 삭제 되었네요..
흠... 왜일까나... 다른분 글보니 [질문]이란 말머리 달라는 댓글이 있어, 이번엔 제목에 달아봅니다.
혹시 양식이 틀리면, 댓글로 알려주세요. 고칠꼐요.. 지우지만 말아주세요 T^T아까 질문을 요약해서...
as3.0 사용할때..
for 문 속에서 변수명을 변경하여 값을 넣고 싶은데..
navi_1.x=10, navi_2.x=20, navi_3.x=30 이런 씩으로요..
navi.as 에서 navi 란 클래스를 만들었고, x 란 변수가 있는 경우..
package {
public class navi {
public var x :int ;
}
}
navi.fla 파일에서...
import navi;
for (var i:int=1;i=3;i++) {
var this[navi_+i] : navi= new navi();
this[navi_+i].x = i *10;
}
이렇게 하면 될 줄 알았는데, 에러가 나더라고요..
에러는 Syntax Error : expecting identifier before this : var this[navi_+i] : navi= new navi();
var this[navi_+i] : navi= new navi(); 대신에..
var navi_1:navi = new navi(); var navi_2:navi = new navi(); var navi_3:navi = new navi(); 이렇게 일일이 분산해서 쓰면 제대로 인식되는데, navi 의 개수가 유동적으로 변하기 때문에, for 문을 쓸 수 밖에 없기에..
for 문을 이용해서.. 변수명을 변경해가며, 객체를 형성하기 위한 코드 수정 좀 부탁드립니다
var this[navi_+i] : navi= new navi();를 어떻게 변경해야 하는지요?답변 꼭 좀 부탁드립니다. 여기서 꽤 오래 막혀있는 중이여서 T^T
-
제철 2023-11-22
for문내에서 var를 쓰면 안되는게 아닙니다.
객체를 만들며 그것을 참조할만한 변수를 지정하면서 var를 쓰게 되는데
this[\navi_\+i] 같이 배열이나 오브젝트형식에서 찾아들어가는방법은 생성시킨다기보다는
이미 만들더진 변수를 참조해나가는 과정이라고 할까요... 사랑방님의 답변을 보시면 for문안에도
var가 사용되었습니다. 그거랑 다른문제입니다. ㅎㅎ -
아픔이보여 2023-11-22
var 부분을 빼니까 되네요.
흠.. 그냥 단일 생성시엔 var 을 써야하는데, for 문 내에선 var을 쓰면 안 되다니..
이해가 안 될땐, 그냥 외워야져.. ^^;;;;
그리고 q&a의 공지글 읽었을땐, 말머리 얘기가 없었던듯한데.. 다른 곳에 또 공지가 있었나보네요
주의하겠습니다 ^^;
답변해주신, 웃음님,andwhy님,사랑방님,세이수다님,레수다님께 다시 한번 감사드립니다 ^^ -
다흰 2023-11-22
this[\navi_\ + i] = new navi();
글 보고 혼자 이리저리 해 봤는데.. 이렇게 수정하면 얼추 되는거 같던데...(자신없음;;) -
윤비 2023-11-22
var navi_arr:Array = new Array();
for(var i:int=1;i3;i++){
var temp_navi:navi = new navi();
temp_navi.x = i*10;
navi_arr[i] = temp_navi;
}
이런식으로 하면 되지 않을까요?
as3.0은 해 본적이 없어서 안될지도 모르겠지만요;;;-_-;;; -
스릉흔드 2023-11-22
몇일전에 회사 친구와 술먹으면서 해준얘기중 하나가...
\뷰티플코드\ 라는게 있는데...요약하면 사람이 보기편한 코드...라는겁니다..
컴퓨터가 알아먹을수 있는코드는 에러만 안나면 컴터는 다 알아먹죠...
하지만 사람들은 컴터만큼 뛰어나지 못하니 되도록 알아보기 쉽게 만들어줘야 나중에 고치거나 활용하기도 좋겠죠..... -
횃불 2023-11-22
추가질문에 답변 감사합니다. 메인질문 답 좀 해주세요 T^T.. 변수명 설정 어떻게 해야하죠???
-
흰꽃 2023-11-22
클래스명 첫글자 대문자는 약속입니다. 지켜주시는게 좋죠~