2009-05-19 9 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(E:のMouseEvent) {VARのmyTxtFormat:れるTextFormat =新しいれるTextFormat(); myTxtFormat.color = 0xccff00; testMouseOverで

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

myText.setTextFormat(symTxtFormat); 

}

答えて

0

あなたはこの試みることができる:

myTxt.name = "htmlTxtField"; 
+0

OK、私が追加したものをheres: createRows() - container.name = "myContainer"とmyTxt.name = "htmlTxtField"に名前を追加しました。 testMouseOver()上に を追加しています。var containerMC:MovieClip = getChildByName( "myContainer"); var txtField:TextField = containerMC.getChildByName( "htmlTxtField"); エラー-1118:静的型flash.display:DisplayObjectを持つ値の暗黙の強制変換が、関連性のない型flash.text:TextFieldになっています。 私は間違って何をしていますか? – Iris

+0

私は "as MovieClip"と "as TextField"をgetChildByName呼び出しの終わりに追加することを怠りました。私の編集を参照してください。 –

1

あなたが知っている、場合:

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

をまた、テキストフィールドのnameプロパティを設定する必要がありますテキストはボタンです。あなたがしなければならないことは、ボタンの内側に移動し、ホバーの下にキーフレームを作成し、テキストのlor。どのアクションスクリプトも必要ありません