Slider を使用すると、ユーザーは値の範囲から浮動小数点の値を選択できます。サウンドの音量やライトの明度などの値の調整にも Slider を使用できます。値を設定するには、トラックに沿ってつまみをドラッグするか、トラック自体をクリックします。スライダーにはテキスト入力フィールドを含めることもでき、このフィールドで値を直接変更できます。
ノート: 要素を Inspector ウィンドウの他のフィールドと揃えるには、.unity-base-field__aligned USS クラスを適用します。詳細については、BaseField を参照してください。
UI Builder、UXML、または C# で Slider を作成できます。以下の C# の例では、デフォルト値、低値、高値のスライダーを作成し、スライダーの向きを設定します。
var slider = new Slider();
slider.value = 0.5f;
slider.lowValue = 0;
slider.highValue = 100;
slider.direction = SliderDirection.Horizontal;
Slider コントロールには page-size プロパティがあり、つまみの両側にあるトラックをクリックしたときにつまみが移動する量と値が変化する量を制御します。
ページサイズの値が 0 の場合、トラックをクリックすると、つまみがカーソルまたはポインタの位置に移動し、それに応じて値が更新されます。
Page Size の値が 0 より大きい場合、トラックをクリックすると、つまみがカーソルまたはポインタの位置に向かって特定の量だけ移動します。Slider コントロールは、ページサイズを範囲の合計に対するパーセンテージとして扱います。
例えば、範囲の合計が 200 で、ページサイズが 20 の場合、ページサイズの量は 200 の 20%、つまり 40 になります。トラックをクリックするたびにつまみが動き、値が 40 増減します。
以下の UXML 例では Slider を作成します。
<UXML xmlns="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements">
<Slider
label="UXML Slider"
name="the-uxml-slider"
low-value="0"
high-value="100"
page-size="1"
value="42.2" />
</UXML>
以下の C# の例は、Slider のカスタマイズ可能な機能の一部を示しています。
/// <sample>
// Get a reference to the slider from UXML and assign it its value.
var uxmlSlider = container.Q<Slider>("the-uxml-slider");
uxmlSlider.value = 42.2f;
// Create a new slider, disable it, and give it a style class.
var csharpSlider = new Slider("C# Slider", 0, 100);
csharpSlider.SetEnabled(false);
csharpSlider.AddToClassList("some-styled-slider");
csharpSlider.value = uxmlSlider.value;
container.Add(csharpSlider);
// Mirror value of uxml slider into the C# field.
uxmlSlider.RegisterCallback<ChangeEvent<float>>((evt) =>
{
csharpSlider.value = evt.newValue;
});
/// </sample>
この例を Unity でライブ体験するには、Window > UI Toolkit > Samples の順に移動します。
C# クラス: Slider
名前空間: UnityEngine.UIElements
基本クラス: BaseSlider_1
この要素は基本クラスから以下の属性を継承します。
| 名前 | 型 | 説明 |
|---|---|---|
binding-path |
string |
バインドするターゲットプロパティのパス。 |
direction |
UIElements.SliderDirection |
スライダーの向きを含む実際のプロパティ。 |
fill |
boolean |
スライダーの色と形状を設定するために塗りつぶしを有効にします。 |
focusable |
boolean |
要素がフォーカスできる場合は true。 |
high-value |
float |
スライダーがエンコードする最大値。 |
inverted |
boolean |
このスライダーが反転しているかどうかを示します。反転水平スライダーの場合、高い値は左に、低い値は右に配置され、反転垂直スライダーの場合、高い値は下に、低い値は上に配置されます。 |
label |
string |
フィールドの横に表示されるラベルを表す文字列。 |
low-value |
float |
スライダーがエンコードする最小値です。 |
page-size |
float |
トラック内やスライダーの矢印をクリックした場合などに、スライダーのスクロール中に計算されたスクロールオフセットに適用される値を表します。 |
show-input-field |
boolean |
スライダーコントロール内の任意のフィールドの可視性。 このプロパティを true に設定すると、数値テキストフィールドが表示されます。このフィールドでもスライダー値を編集できます。 |
tabindex |
int |
フォーカスリングでフォーカス可能なものをソートする整数。0 以上である必要があります。 |
value |
float |
スライダーの実際の値。 |
この要素は VisualElement から以下の属性も継承します。
| 名前 | 型 | 説明 |
|---|---|---|
content-container |
string |
子要素が追加されますが、通常は子要素は要素自体と同じです。 |
data-source |
Object |
継承されたデータソースをオーバーライドするこの VisualElement にデータソースを割り当てます。このデータソースはすべての子に継承されます。 |
data-source-path |
string |
データソースから値へのパス。 |
data-source-type |
System.Type |
この VisualElement に割り当て可能なデータソースの型。 この情報は、設計時に有効なデータソースを指定できない場合に、データソースパスフィールドを補完するヒントとして UI Builder でのみ使用されます。 |
language-direction |
UIElements.LanguageDirection |
要素のテキストの向きを示します。値は要素の子に伝播されます。 languageDirection を RTL に設定すると、テキストの反転と改行/折り返しの適切な処理による、右から左へ (RTL) の基本サポートが追加されます。ただし、包括的な RTL サポートは提供されません。これには、文字の並べ替えを含むテキストシェーピングと OpenType フォント機能のサポートが必要になるためです。将来のアップデートでは、言語、スクリプト、フォント機能の仕様に対応するための追加の API を含む、包括的な RTL サポートが予定されています。 このプロパティの RTL 機能を拡張するには、Unity Asset Store で入手可能なサードパーティ製のプラグインを探し、 ITextElementExperimentalFeatures.renderedText を利用してください。 |
name |
string |
この VisualElement の名前。 このプロパティを使用して、特定の要素を対象とする USS セレクターを記述します。要素には一意の名前を付けるのが標準的です。 |
picking-mode |
UIElements.PickingMode |
mouseEvent または IPanel.Pick クエリの間にこの要素を選択 (ピック) できるかどうかを決定します。 |
style |
string |
VisualElement スタイルの値を設定します。 |
tooltip |
string |
ユーザーが要素をマウスオーバーした後、わずかな時間、情報ボックス内に表示するテキスト。これはエディター UI でのみサポートされます。 |
usage-hints |
UIElements.UsageHints |
VisualElement の意図されている使用パターンの概要を指定するヒント値の組み合わせ。このプロパティは、VisualElement がまだ Panel の一部でない場合にのみ設定できます。Panel の一部になると、このプロパティは事実上読み取り専用となり、変更しようとすると例外がスローされます。適切な UsageHints を指定することで、システムは、予想される使用パターンに基づいて、特定の操作を処理または加速する方法をより適切に決定できるようになります。これらのヒントは動作や視覚的な結果には影響せず、パネルとその中の要素の全体的なパフォーマンスにのみ影響することに注意してください。常に適切な UsageHints を指定するように検討することをお勧めしますが、特定の条件下 (例: ターゲットプラットフォームのハードウェア制限) では、一部の UsageHints が内部的に無視される可能性があることに留意してください。 |
view-data-key |
string |
ビューデータの永続性 (ツリーの展開状態、スクロール位置、ズームレベルなど) に使用されます。 このキーは、ビューデータストアからビューデータを保存およびロードするために使用されます。このキーを設定しないと、関連する VisualElement の永続性が無効になります。詳細については、ビューデータの永続性を参照してください。 |
以下の表は、すべての C# パブリックプロパティ名と、それに関連する USS セレクターのリストです。
| C# プロパティ | USS セレクター | 説明 |
|---|---|---|
ussClassName |
.unity-slider |
この型の要素の USS クラス名 |
labelUssClassName |
.unity-slider__label |
この型の要素のラベルの USS クラス名。 |
inputUssClassName |
.unity-slider__input |
この型の要素の入力要素の USS クラス名。 |
ussClassName |
.unity-base-slider |
この型の要素の USS クラス名。 |
labelUssClassName |
.unity-base-slider__label |
この型の要素のラベルの USS クラス名。 |
inputUssClassName |
.unity-base-slider__input |
この型の要素の入力要素のUSS クラス名。 |
horizontalVariantUssClassName |
.unity-base-slider--horizontal |
この型の要素の USS クラス名 (水平に表示されている場合)。 |
verticalVariantUssClassName |
.unity-base-slider--vertical |
この型の要素の USS クラス名 (垂直に表示されている場合)。 |
dragContainerUssClassName |
.unity-base-slider__drag-container |
この型の要素のコンテナ要素の USS クラス名。 |
trackerUssClassName |
.unity-base-slider__tracker |
この型の要素のトラッカー要素の USS クラス名。 |
draggerUssClassName |
.unity-base-slider__dragger |
この型の要素のドラッガー要素の USS クラス名。 |
draggerBorderUssClassName |
.unity-base-slider__dragger-border |
この型の要素のドラッガー境界要素の USS クラス名。 |
fillUssClassName |
.unity-base-slider__fill |
この型の要素のフィルム要素の USS クラス名。 |
ussClassName |
.unity-base-field |
この型の要素の USS クラス名。 |
labelUssClassName |
.unity-base-field__label |
この型の要素のラベルの USS クラス名。 |
inputUssClassName |
.unity-base-field__input |
この型の要素の入力要素の USS クラス名。 |
noLabelVariantUssClassName |
.unity-base-field--no-label |
ラベルが存在しない場合のこの型の要素の USS クラス名。 |
labelDraggerVariantUssClassName |
.unity-base-field__label--with-dragger |
この型の要素にドラッガーがアタッチされている場合の、ラベルの USS クラス名。 |
mixedValueLabelUssClassName |
.unity-base-field__label--mixed-value |
混合値を示す要素の USS クラス名 |
alignedFieldUssClassName |
.unity-base-field__aligned |
Inspector 要素で整列された要素の USS クラス名 |
disabledUssClassName |
.unity-disabled |
ローカルで無効に設定されている要素の USS クラス名。 |
Inspector または UI Toolkit Debugger の Matching Selectors セクション を使用して、階層のすべてのレベルで VisualElement のコンポーネントに影響する USS セレクターを確認することもできます。