Flash 访问功能范围外的电影剪辑对象

Flash 访问功能范围外的电影剪辑对象,flash,flash-cs3,flashdevelop,Flash,Flash Cs3,Flashdevelop,我有一个电影剪辑,里面有一个文本框,还有一个按钮。当用户鼠标悬停在文本上时,我需要能够更改文本的颜色。下面是代码片段。如何从函数外部访问对文本字段的引用?提前谢谢 私有函数createRows() { var containerMc:MOVICLIP=行 //Create Text var myTxt:TextField = new TextField(); myTxt.htmlText = labelName; myTxt.antiAliasType = AntiAlia

我有一个电影剪辑,里面有一个文本框,还有一个按钮。当用户鼠标悬停在文本上时,我需要能够更改文本的颜色。下面是代码片段。如何从函数外部访问对文本字段的引用?提前谢谢

私有函数createRows() { var containerMc:MOVICLIP=行

//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(e:MouseEvent) { var myTxtFormat:TextFormat=newtextformat(); myTxtFormat.color=0xccff00

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

myText.setTextFormat(symTxtFormat);

}

在TestMouse中,您可以尝试以下操作:

var containerMC:MovieClip = getChildByName("container movie clip name") as MovieClip;
var txtField:TextField = containerMC.getChildByName("htmlTxtField") as TextField;
您还必须设置文本字段的name属性:

myTxt.name = "htmlTxtField";

你知道,如果文本是一个按钮,你所要做的就是进入按钮内部,在“悬停”下创建一个关键帧…并更改文本的颜色。您不需要任何操作脚本

OK,下面是我添加的内容:createRows()-我为容器添加了一个名称。name=“myContainer”和myTxt.name=“htmlTxtField”;在testMouseOver()上,我添加了var containerMC:MovieClip=getChildByName(“myContainer”);var txtField:TextField=containerMC.getChildByName(“htmlTxtField”);我得到的错误是-1118:将静态类型flash.display:DisplayObject的值隐式强制为可能不相关的类型flash.text:TextField。我做错了什么?我忘了在getChildByName调用的末尾添加“as MovieClip”和“as TextField”。请参阅我的编辑。