0

私は fl.controls.* を情熱的に嫌い始めています。

私がやりたいのは、スクロールバーがその scrollTarget として設定した動的 TextField が多くのテキストを取得するときに、スクロールバーを有効にすることだけです。それは非常に単純ですが、私はそれを機能させることができません。TextField のスクロール イベントをリッスンして UIScrollBar を有効にしようとしましたが、何らかの理由で画面全体が黒く点滅します。とても奇妙です。

動的な TextField と UIscrollBar は両方とも、ロードした swf のタイムライン上にあります。UIScrollBar の scrollTarget プロパティを Flash と Actionscript で設定しようとしました。この問題の解決策があれば教えてください。

私が見つけた最善の解決策は、fl.controls でクラスを使用しないことだと思います。:/

4

1 に答える 1

0

これについては、Adobeドキュメントに良い例がありました。
あなたがおそらく見逃している行はです。

mySb.scrollTarget = myTxt;

フラッシュを使用する場合は、UIScrollBar のインスタンスをライブラリにドラッグする必要があることに注意してください。

import flash.net.URLLoader; 
import  fl.controls.UIScrollBar;
import flash.events.Event; 

var myTxt:TextField = new TextField(); 
myTxt.border = true; 
myTxt.width = 200; 
myTxt.height = 16; 
myTxt.x = 200; 
myTxt.y = 150; 

var mySb:UIScrollBar = new UIScrollBar(); 
mySb.direction = "horizontal"; 
// Size it to match the text field. 
mySb.setSize(myTxt.width, myTxt.height);  

// Move it immediately below the text field. 
mySb.move(myTxt.x, myTxt.height + myTxt.y); 

// put them on the Stage 
addChild(myTxt); 
addChild(mySb); 
// load text 
var loader:URLLoader = new URLLoader(); 
var request:URLRequest = new URLRequest("http://www.helpexamples.com/flash/lorem.txt"); 
loader.load(request); 
loader.addEventListener(Event.COMPLETE, loadcomplete); 

function loadcomplete(event:Event) { 
    // move loaded text to text field 
    myTxt.text = loader.data; 
    // Set myTxt as target for scroll bar. 
    mySb.scrollTarget = myTxt; 
}
于 2011-09-16T19:05:26.433 に答える