배열 대신 객체로 작업하는 것을 배우기 위해 거의 1 주일을 보냈습니다. 나는 그것들을 불러내 어 어떤 물건을 만들고 그것들의 특성을 설정하는 것이 쉽다고 생각했다. 내가 지금에 액세스 할 수 없습니다 그러나, 나는이 시도 :를 사용하는 목적의 다른 어떤 객체를 처리하는 실용적인 방법이 있는지배열 대신 객체 사용
function onBoxClick(event:MouseEvent):void {
var str:String = event.currentTarget.name;
trace(str);
str = str.substring(str.indexOf("_") + 1);
trace(getChildByName("copy_" + str)); // trying to trace an object by name
}
내 질문입니다.
편집 :
function addBoxes(isUpdate:Boolean):void {
var copyOne:Object = getReadOnlyValues();
copyOne.name = "copy_" + num;
// Set default mc1 settings
var settings1:Object = copyOne.mc1Settings;
for(var num2:String in settings1) {
copyOne.mc1[num2] = settings1[num2];
}
// Set default mc1text settings
var settings2:Object = copyOne.mc1TextSettings;
for(var num3:String in settings2) {
copyOne.mc1Text[num3] = settings2[num3];
}
copyOne.mc1.x = nextXpos;
copyOne.mc1.name = "captionBox_" + num;
addChild(copyOne.mc1);
copyOne.mc1.addEventListener(MouseEvent.CLICK, onCaptionClick);
copyOne.mc1Text.name = "captionBoxText_" + num;
copyOne.mc1.addChild(copyOne.mc1Text);
// ---------------------------------------------------------------
// Set default mc2 settings
var settings4:Object = copyOne.mc2Settings;
for(var num4:String in settings4) {
copyOne.mc2[num4] = settings4[num4];
}
// Set default mc2text settings
var settings5:Object = copyOne.mc2TextSettings;
for(var num5:String in settings5) {
copyOne.mc2Text[num5] = settings5[num5];
}
copyOne.mc2.x = nextXpos;
copyOne.mc2.y = copyOne.mc1.height;
copyOne.mc2.name = "box2_" + num;
addChild(copyOne.mc2);
copyOne.mc2Text.name = "box2BoxText_" + num;
copyOne.mc2.addChild(copyOne.mc2Text);
copyOne.mc2.addEventListener(MouseEvent.CLICK, onBoxClick);
if (num/subunits is int) {
trace (num);
// createMc("normalBox", true);
}
nextXpos = nextXpos + copyOne.mc2.width;
// traceObj(copyOne);
// traceObj(getReadOnlyValues());
}
내가 루프에서이 기능 그래서 많은 동영상 클립을 만들라고 : 여기 동영상 클립 및 기타 물건을 만드는 데 사용하는 내 기능입니다. 이제 개체의 속성과 자녀 (예 : 텍스트 필드)에 액세스 할 수 없습니다.
무대에서 내가 가진 객체 : 무비 클립 및 텍스트 필드 그들이에서 온
: 내가 그들과 함께 할 노력하고있어 무엇
위의 기능 : (개체에 의해 만들었 었지된다) 추적 무비 클립 및 텍스트 필드 대신 내가 기대의 어떻게됩니까 (텍스트 필드) 텍스트
자녀 변경 : 추적 코드를 출력하는 대신 내가 형에게 trace(getChildByName("copy_" + str)); // trying to trace an object by name
객체주는 정의되지 accessi의 실제적인 방법이 있나요 이름이 "copy_1"이고 이름이 "box2_1"인 객체 (movieclip)?
질문은 너무 일반적이며 철학적입니다. 해당 코드에서 정확히 작동하지 않는 것은 무엇인지 다시 말해보십시오. 당신은 그것에서 무엇을 기대하고 대신에 무엇을 얻고 있습니까? – evilpenguin
답변 해 주셔서 감사합니다. 나는 그 질문을 편집했다. (일종의 철학적 :)) – nikel
이 질문이 객체/배열과 표시 객체에 액세스하기위한 이벤트 리스너에 어떻게 관계가 있는지 모르겠습니다. 귀하의 코드에서 MovieClip이나 뭔가를 얻기 위해 문자열의 일부에 액세스하는 것처럼 보이지만 나에게 연결 해제는 "배열 대신 객체로 작업하는 것을 배우기 위해 거의 1 주일을 보냈습니다." –