2009-05-19 3 views
0

텍스트 필드가 있고 그 안에 버튼이있는 무비 클립이 있습니다. 사용자가 마우스를 텍스트 위에 놓을 때 텍스트의 색을 변경할 수 있어야합니다. 아래는 코드 스 니펫입니다. 함수 외부에서 텍스트 필드에 대한 참조에 액세스하려면 어떻게합니까? 미리 감사드립니다.함수 범위 외부에서 무비 클립 객체에 액세스

개인 기능 createRows() { var containerMc : MovieClip = row;

//Create Text   
var myTxt:TextField = new TextField(); 
myTxt.htmlText = labelName; 
myTxt.antiAliasType = AntiAliasType.ADVANCED; 
myTxt.selectable = false; 

//Create Symbol Format Text 
var myTxtFormat:TextFormat = new TextFormat(); 
myTxtFormat.color = 0x000000; 
myTxtFormat.font = font; 
myTxtFormat.bold = "bold"; 
myTxtFormat.size = fontSize; 

//Format text 
myTxt.setTextFormat(myTxtFormat); 
containerMc.addChild(myTxt); 

//Create button   
var btn:Sprite = new Sprite(); 
btn.graphics.beginFill(rowColor); 

btn.graphics.drawRect(0, 0, width, height); 
btn.graphics.endFill(); 
btn.alpha = 0; 
btn.name = someName; 
btn.buttonMode = true; 

btn.addEventListener(MouseEvent.MOUSE_OVER,testMouseOver);    
containerMc.addChild(btn); 

}

전용 기능 testMouseOver (예 : 된 MouseEvent) { VAR의 myTxtFormat : 된 TextFormat = 새의 TextFormat(); myTxtFormat.color = 0xccff00;

var myText:TextField = new TextField; 
myText.htmlText = e.currentTarget.name; 

myText.setTextFormat(symTxtFormat); 

} testMouseOver에서

답변

0

당신이 시도 할 수 :

var containerMC:MovieClip = getChildByName("container movie clip name") as MovieClip; 
var txtField:TextField = containerMC.getChildByName("htmlTxtField") as TextField; 

을 또한 텍스트 필드의 이름 속성을 설정해야합니다 : 만약

myTxt.name = "htmlTxtField"; 
+0

좋아요, 그래서 내가 추가 한 것을 heres : createRows() - container.name = "myContainer"및 myTxt.name = "htmlTxtField"에 이름을 추가했습니다. testMouseOver()에 을 추가합니다. var containerMC : MovieClip = getChildByName ("myContainer"); var txtField : TextField = containerMC.getChildByName ("htmlTxtField"); 정적 유형 flash.display : DisplayObject를 사용하여 값과 암시 적으로 강제 변환되는 오류 -1118 : 가능성이있는 유형의 flash.text : TextField에 대한 DisplayObject가 표시됩니다. 내가 뭘 잘못하고 있니? – Iris

+0

나는 "as MovieClip"과 "as TextField"를 getChildByName 호출의 끝에 추가하지 않았다. 내 편집을 참조하십시오. –

1

당신은 알을 텍스트는 버튼입니다. 버튼 안에 들어가서 마우스를 가져 가면 키 프레임이 생성되고 공동 작업이 변경됩니다. 텍스트의 lor. 어떤 액션 스크립트도 필요 없습니다.