
Flash CS3で話を進めます。
検索しても、自作ScrollBarが多いのですが、ヘルプを見るとScrollBarクラスがあるのがわかります。
さて、これをどう使うかですね。
実は、すごく簡単に使えるので、それを紹介します。
コンポーネントから「ScrollPane」を追加します。ライブラリに追加されていればOKです。

スクロールバーに関係付けるMovieClipを作り、data_mcとでも名前をつけておきます。大きさは、縦300×600pixelにします。
ついでに、マスキングしておきましょう。 マスクの大きさは350×240pixelにでも。

あとはscrollBarクラスを記述します。
scriptレイヤを作成し、以下を書きます。
import fl.controls.ScrollBar;
import fl.events.ScrollEvent;
import fl.controls.ScrollBarDirection;
var scrollV:ScrollBar = new ScrollBar();
scrollV.direction = ScrollBarDirection.VERTICAL;
scrollV.width = 24;
scrollV.height = 240;
scrollV.x = 300;
scrollV.y = 0;
scrollV.enabled = true;
scrollV.lineScrollSize = 4;
scrollV.pageSize = 20;
scrollV.pageScrollSize = 10;
scrollV.minScrollPosition = 0;
scrollV.maxScrollPosition = 360;
addChild( scrollV );
//ScrollBarがスクロールされた
scrollV.addEventListener( ScrollEvent.SCROLL, ELScroll );
function ELScroll( evt:ScrollEvent ):void {
data_mc.y = -(evt.position);
}
//data_mc上でマウスホイールが動いたのでスクロール値を変更
data_mc.addEventListener( MouseEvent.MOUSE_WHEEL, ELMouseWheel );
function ELMouseWheel( evt:MouseEvent ):void {
scrollV.scrollPosition -= evt.delta;
}
実行すれば、スクロールバーが表示され、data_mc上でマウスホイールで位置が変わり、スクロールバーを触っても位置が変わると思います。

data_mcの内容が変わり、大きくなったり小さくなったりした時は、随時プロパティを変更すればOKです。
ロード終了したあとに、InitScrollV( w:Number, h:Number )とか関数作って、そこでスクロールバーの初期化をするとか。
形状は、ライブラリに追加されたComponent Assets内のScrollBarSkinsに入っているムービークリップを編集してみてください。大きさなどは未確認ですが、色の変更は反映されます。
この記事が気に入ったりした方は、自分のブログを書くときに「下のURLをコピーして、自分のブログ投稿時のトラックバック欄にペースト」してください。つながります。
URL: