2013-06-03 4 views
0

XML을 읽고 두 개의 별도 동영상 클립으로 개체에 값을 첨부하고 있습니다. 이제이AS3 : 이름을 참조하여 개체 값 가져 오기

Map01: 
Marker01.name = hello there 
Marker01.short = hel 
Marker01.value = 12 

Map02: 
Marker02.name = hello there 
Marker02.short = hel 
Marker02.value = 99 

처럼 나는 Map01에 Marker01을 클릭하고 이름과 값을 얻을 수 있어요. Name을 사용하여 Map02의 Marker01 값과 비교하거나, 이름이 길고 특수 문자/공백을 사용하기 때문에 .short를 비교하고 싶습니다. 어떻게해야합니까? 논리적 인 것처럼 보이는 모든 것을 거의 시도했습니다!


편집 : 설명

var marker01:mc_marker = new mc_marker(); 
marker01.name="hello there"; 
marker01.short="abc"; 
marker01.val="99"; 
marker01.x=10; 
marker01.y=10; 
this.mc_map01.addChild(marker01); 

var marker02:mc_marker = new mc_marker(); 
marker02.name="hello there"; 
marker02.short="abc"; 
marker02.val="20"; 
marker02.x=10; 
marker02.y=10; 
this.mc_map02.addChild(marker02); 

marker01.addEventListener(MouseEvent.MOUSE_UP, showMarkerInfo); 
marker02.addEventListener(MouseEvent.MOUSE_UP, showMarkerInfo); 

function showMarkerInfo(event:MouseEvent):void { 
    txt_ms.text=event.target.short; 
    txt_mv.text=event.target.val; 
    if (event.target.short==mc_map02.marker02.short){ 
     txt_mvi.text="here should be the marker02 value"; 
    } 
} 
+0

Map01 및 Map02는 MovieClips이고 각 MC에는 Object Marker01이 포함되어 있습니다. 그게 맞습니까? – McMannus

+0

그래! 객체도 MC입니다. – CodeBunny

답변

0

에 대한 샘플 코드는 당신이 오타가 있습니다. Map02는 Marker1 사물을 사용합니다. Stackoverflow에서 오타가있는 경우

this.getChildByName ("Marker01")이 영화 클립을 반환하고 이름을 구입합니다. 그러나 "이름"은 검색 대상입니다. Marker01을 이름으로 사용할 때 "hello there"를 사용했습니다. 나는 당신이 "데이터"라는 속성을 넣고 그것을 충돌시키지 않도록 XML 정보를 넣을 것을 제안한다.

마지막으로 사용자는 : if (this.getChildByName ("Marker01") .data.value == this.getChildByName ("Marker02") .data.value).

나는 이것이 런타임에 Marker0X를 생성하고 일부 변수를 선언하고 직접 사용할 수 있다고 가정합니다.

"데이터"를 두 개의 "데이터"를 비교할 수있는 사용자 정의 클래스의 인스턴스로 만들면 Browny가 가리 킵니다. 도움이 더 필요하면 의견을 추가하십시오.^_^

+0

어, 나는 이것을 정말로 얻지 못한다. 또한 네, 오타. 문제에 대해 더 많은 것을 밝혀야하는 단순한 샘플을 만들었습니다. $ % $ & % $ & – CodeBunny