ScrollingFrameは、カスタマイズ可能なキャンバスとスクロールバーを含み、組み込みのスクロールインタラクティブ性と、スクロール方法の異なるカスタマイズ方法を提供します。ScrollingFrameは、限られたスペースで多くの情報を表示するのに最適であり、リストやグリッドレイアウトともうまく機能します。

キャンバス
キャンバスは、ScrollingFrameの主要なエリアで、他のGuiObjectsを含むことができます。スクロール動作は、以下のシナリオで自動的に適応します。
| フレーム設定 | 結果 |
|---|---|
| フレームのCanvasSizeが全体の高さより高い場合; 特に、総CanvasSize.Yが総Size.Yを超える。 | 垂直スクロールが有効になり、垂直スクロールバーが表示されます。 |
| フレームのCanvasSizeが全体の幅より広い場合; 特に、総CanvasSize.Xが総Size.Xを超える。 | 水平スクロールが有効になり、水平スクロールバーが表示されます。 |
| フレームのAutomaticCanvasSizeがYまたはXYに設定され、内容(子のGuiObjects)の総高さがその総Size.Yを超える。 | 垂直スクロールが有効になり、垂直スクロールバーが表示されます。 |
| フレームのAutomaticCanvasSizeがXまたはXYに設定され、内容(子のGuiObjects)の総幅がその総Size.Xを超える。 | 水平スクロールが有効になり、水平スクロールバーが表示されます。 |
CanvasPositionプロパティは、フレーム内のキャンバスの現在の位置オフセット(ピクセル単位)を反映し、スクロールバーの位置を設定します。このプロパティは、スクロールバーが表示されていない場合は何も機能しないことに注意してください。
インセット
スクロールフレームのCanvasSizeは、VerticalScrollBarInsetおよび/またはHorizontalScrollBarInsetプロパティに影響される場合があります。以下の例の図では、垂直スクロールフレームが100%のキャンバス幅を使用します。VerticalScrollBarInsetがNone(デフォルト)に設定されていると、キャンバスはスクロールフレームの全幅に拡張され、スクロールバーの下にわずかにコンテンツが隠れます。対照的に、VerticalScrollBarInsetの設定がAlwaysまたはScrollBarの場合、キャンバスはScrollBarThickness量だけインセットされ、キャンバスがスクロールバーの端と端で接触します。

スクロールバー
フレームのスクロールバーは、現在のキャンバスの位置を反映し、自動的なドラッグによるスクロールインタラクティブ性を提供します。垂直スクロールバーについては、VerticalScrollBarPositionプロパティがバーの位置をキャンバスの左または右に切り替えますが、水平スクロールバーはキャンバスの下にのみ配置できます。
スクロールバーの構成は、以下の3つのアセットプロパティから成ります。
- TopImage — 垂直スクロールバーの上部、または水平スクロールバーの左側に表示されます(水平スクロールバーの場合は90度反時計回りに回転)。
- BottomImage — 垂直スクロールバーの下部、または水平スクロールバーの右側に表示されます(水平スクロールバーの場合は90度反時計回りに回転)。

各画像は、ScrollBarThicknessプロパティに基づいてスケールされ、垂直スクロールバーの幅または水平スクロールバーの高さを変更します。
追加の視覚的変更は、ScrollBarImageColor3およびScrollBarImageTransparencyプロパティを通じて行うことができ、バーの画像アセットに色を付け、透明度を変更します。
弾力性
デフォルトでは、ScrollingFramesは、タッチ対応デバイスで弾力的なスクロール動作を示します。つまり、ユーザーはキャンバスをその境界よりもわずかにさらにドラッグでき、リリース時にはキャンバスが最小または最大の制限に戻ります。弾力的な動作を完全に取り除き、キャンバスが制限を超えてスクロールしないようにしたい場合は、ElasticBehaviorプロパティをNeverに設定してください。