[질문][3.0] 문자열을 인스턴스인것처럼 인식...
권시크
2.0에서는 this[p+i] 이런식으로 문자열을 조합해서 인스턴스를 지정할수 있는데
3.0에는 불가능한것 같습니다.for(var k = 0; k arrangeX * arrangeY; k++)
{
var boxMaterial:MaterialsList = new MaterialsList
(
{
front: new ColorMaterial(0x77C801),
back: new MovieMaterial(이곳에 p0,p1,p2,p3...................... 이런식의 인스턴스네임이 들어감),
right: new ColorMaterial(0x62A001),
left: new ColorMaterial(0x77C801),
top: new ColorMaterial(0x62A001),
bottom: new ColorMaterial(0x77C801)
}
);
p+k 가 스트링이 아닌 오브젝트네임으로 인식되게 하려면 어떻게 해야하나요?
-
유희
와우....감사합니다. 수다님 정말 감사합니다 as3.0의 끝을만난 기분 ^^
-
뿌닝
AS3.0 을 바로 배우는게 아닌,
AS2.0에서 AS3.0으로 넘어가는 사람들이 삽질하게 되는 부분 중 하나가 바로 인스턴스 네임인데요.
위에서 코드로 설명한 대로 AS2.0의 _name 과 같이 AS3.0 에서도 name 을 지정해 줄 순 있습니다만, name 만 가지고는 인스턴스를 핸들링 할 수 가 없어요.
사용할때 getChildByName(\p0\) 이런식으로 인스턴스를 잡아야되는등 귀찮은 점이 있습니다.
( p0.x = 100; 이 안먹히고 -
새늘
질문하신 부분에 대해서는 아래의 설명을 보시죠.
MovieMaterial 클래스가 MovieClip이나 Sprite를 상속 받았겠죠?
var targetInstance:MovieMaterial = new MovieMaterial()
targetInstance.name = p + k;
이렇게 name 속성을 지정 하거나
또는 MovieMaterial 내부 생성자에서 name 속성을 만들고
//MovieMaterial 클래스 내부 생성자 함수부분
p