2012-03-20 7 views
0

私はクラス内で動的に作成し、ステージに追加するスクロールバー(fl.controls.UIScrollBar)を持っています。Actionscript 3 - fl.controls.UIScrollBar - scrollPositionの設定が機能しない

public class Slider extends Sprite 
{ 
    private var scroll:UIScrollBar = new UIScrollBar(); 
    // etc. 

    // constructor 
    addChild(scroll); 
    scroll.setSize(15.75, 205.3); 
    scroll.direction = ScrollBarDirection.HORIZONTAL; 
    scroll.setScrollProperties(150, minScrollPos, maxScrollPos,snapInterval); 
    scroll.addEventListener(ScrollEvent.SCROLL, scrollHandler); 
} 

その後、私はなぜスクロールthumb.Anyのアイデアを更新しないだろう

scroll.scrollPosition = 30; 

私のメソッド呼び出しを呼び出そうか?

+0

は、私は偉大だったこと、ありがとうここに新しい、私は上のボタンを押すことができません。私はいくつかのポイントを受け取るとすぐになります。 –

答えて

0

サルートミハイ、

最初は奇妙でした。私は値を設定すれば十分だろうと思った。 入力フレームループでscrollPositionを設定した場合は機能しますが、設定ツールをすぐに使用した場合は機能しません。これはおそらく、コンポーネントを作成/設定した直後に呼び出しを行うと、内部的にはまだ準備ができていないことを意味します。 UIComponents(UIScrollBarなど)は、ライフサイクル全体にわたって処理する必要があります。あなたが興味を持っているなら、Jeff Kamererはdevnet articlesという素晴らしいセットを持っています。最善の策は、それがRENDERイベントを聞くことによって準備されるのを待つことですので

かいつまんで、コンポーネントは、すぐに準備ができていないです!

scroll.addEventListener(Event.RENDER,rendered); 
function rendered(event:Event):void { 
    scroll.removeEventListener(Event.RENDER,rendered); 
    scroll.scrollPosition = 30; 
} 
関連する問題