Slider コンポーネントを使用すると、ユーザーが値の範囲に対応するトラックの両端の間でグラフィカルな「
サム
」をスライドすることによって、値を選択できます。スライダーを使用すると、例えば、数値やパーセンテージなどの値をユーザーが選択できます。 また、ActionScript を使用すると、スライダーの値で別のオブジェクトの動作を制御することもできます。例えば、スライダーを画像に関連付け、スライダーのサムの相対的な位置や値に応じて、その画像を拡大または縮小できます。
Slider の現在の値は、トラックの両端の間、または Slider の最小値と最大値の間のサムの相対的な位置によって決定されます。
Slider には、最小値と最大値の間の連続した値の範囲を指定できますが、
snapInterval
パラメーターを設定して、最小値と最大値の間で間隔を指定することもできます。Slider には、スライダーに割り当てられた値とは関係なく、指定した間隔でトラックに沿って目盛りを表示できます。
デフォルトでは、スライダーは水平方向ですが、
direction
パラメーターの値を vertical に設定することで垂直方向にすることができます。スライダーのトラックは端から端まで広がり、目盛りはトラックのすぐ上に左側から右側に向かって配置されます。
Slider コンポーネントのユーザー操作
フォーカスを取得している Slider インスタンスでは、次のキーを使用した操作が可能です。
キー
|
説明
|
右向き矢印
|
水平方向のスライダーに関連付けられた値を増加させます。
|
上向き矢印
|
垂直方向のスライダーに関連付けられた値を増加させます。
|
左向き矢印
|
水平方向のスライダーに関連付けられた値を減少させます。
|
下向き矢印
|
垂直方向のスライダーに関連付けられた値を減少させます。
|
Shift+Tab
|
フォーカスを前のオブジェクトに移動します。
|
Tab
|
フォーカスを次のオブジェクトに移動します。
|
フォーカスの制御について詳しくは、「
Adobe Flash Professional CS5 用
ActionScript 3.0 リファレンスガイド
」の IFocusManager インターフェイスと FocusManager クラス、および
FocusManager の操作
を参照してください。
ライブプレビューでは、オーサリング時にプロパティインスペクターまたはコンポーネントインスペクターで各 Slider インスタンスのパラメーターに加えた変更が反映されます。
Slider コンポーネントのパラメーター
プロパティインスペクターまたはコンポーネントインスペクターで Slider コンポーネントの各インスタンスに設定できるオーサリングパラメーターは、
direction
、
liveDragging
、
maximum
、
minimum
、
snapInterval
、
tickInterval
および
value
です。これらの各パラメーターには、対応する同名の ActionScript プロパティがあります。これらのパラメーターに設定できる値については、「
Adobe Flash Professional CS5 用
ActionScript 3.0 リファレンスガイド
」の Slider クラスを参照してください。
Slider を使用したアプリケーションの作成
次の例では、Slider インスタンスを作成し、ユーザーが、ある特定の事項に関する満足度を回答できるようにしています。 ユーザーは Slider を左右に移動することで、回答する満足度の値を増減できます。
-
新しい Flash (ActionScript 3.0) ドキュメントを作成します。
-
Label コンポーネントをコンポーネントパネルからステージの中央にドラッグします。
-
Slider コンポーネントをコンポーネントパネルからドラッグし、
value_lbl
の下の中央に配置します。
-
別の Label インスタンスをライブラリパネルからドラッグし、
aSlider
の下の中央に配置します。
-
アクションパネルを開いて、メインタイムライン内でフレーム 1 を選択し、次の ActionScript コードを入力します。
import fl.controls.Slider;
import fl.events.SliderEvent;
import fl.controls.Label;
aSlider.addEventListener(SliderEvent.CHANGE, changeHandler);
function changeHandler(event:SliderEvent):void {
valueLabel.text = event.value + "percent";
}
-
制御/ムービープレビューを選択します。
この例では、スライダーのサムを別の間隔に移動したときに、
SliderEvent.CHANGE
イベントのリスナによって
valueLabel
の
text
プロパティを更新し、サムの位置に対応するパーセンテージを表示します。
ActionScript で Slider コンポーネントを使用したアプリケーションの作成
次の例では、ActionScript を使用して Slider を作成します。花のイメージをダウンロードし、ユーザーが Slider を使用してそのイメージの明暗を調整できるようにします。具体的には、Slider の値に応じてイメージの
alpha
プロパティを変更します。
-
新しい Flash (ActionScript 3.0) ドキュメントを作成します。
-
Label コンポーネントと Slider コンポーネントをコンポーネントパネルから現在のドキュメントのライブラリパネルにドラッグします。
これにより、ライブラリにコンポーネントが追加されます。ただし、アプリケーションには表示されません。
-
アクションパネルを開いて、メインタイムライン内でフレーム 1 を選択し、次のコードを入力してコンポーネントインスタンスを作成し、配置します。
import fl.controls.Slider;
import fl.events.SliderEvent;
import fl.controls.Label;
import fl.containers.UILoader;
var sliderLabel:Label = new Label();
sliderLabel.width = 120;
sliderLabel.text = "< Fade - Brighten >";
sliderLabel.move(170, 350);
var aSlider:Slider = new Slider();
aSlider.width = 200;
aSlider.snapInterval = 10;
aSlider.tickInterval = 10;
aSlider.maximum = 100;
aSlider.value = 100;
aSlider.move(120, 330);
var aLoader:UILoader = new UILoader();
aLoader.source = "http://www.flash-mx.com/images/image1.jpg";
aLoader.scaleContent = false;
addChild(sliderLabel);
addChild(aSlider);
addChild(aLoader);
aLoader.addEventListener(Event.COMPLETE, completeHandler);
function completeHandler(event:Event) {
trace("Number of bytes loaded: " + aLoader.bytesLoaded);
}
aSlider.addEventListener(SliderEvent.CHANGE, changeHandler);
function changeHandler(event:SliderEvent):void {
aLoader.alpha = event.value * .01;
}
-
制御/ムービープレビューを選択して、アプリケーションを実行します。
-
スライダーのサムを左右に移動して、イメージの明暗を調整します。右側に移動するほど明るくなります。
|
|
|