BeginScrollView / EndScrollView を管理する Disposable ヘルパークラス
これらの働きはちょうど GUILayout.ScrollViewScope のようですが、もっとアプリケーションのようなを感じで、エディター内で使用する必要があります。
Label inside a scroll view.
using UnityEngine; using UnityEditor;
// Simple Editor Window that creates a scroll view with a Label inside class BeginEndScrollView : EditorWindow { Vector2 scrollPos; string t = "This is a string inside a Scroll view!";
[MenuItem("Examples/Write text on ScrollView")] static void Init() { var window = GetWindow<BeginEndScrollView>(); window.Show(); }
void OnGUI() { using (var h = new EditorGUILayout.HorizontalScope()) { using (var scrollView = new EditorGUILayout.ScrollViewScope(scrollPos, GUILayout.Width(100), GUILayout.Height(100))) { scrollPos = scrollView.scrollPosition; GUILayout.Label(t); } if (GUILayout.Button("Add More Text", GUILayout.Width(100), GUILayout.Height(100))) t += " \nAnd this is more text!"; } if (GUILayout.Button("Clear")) t = ""; } }
handleScrollWheel | この ScrollView がスクロールホイールイベントを処理するかどうか(デフォルトは true ) |
scrollPosition | The 変更された scrollPosition 。例にあるように戻り値として得た値は変数に渡します。 |
EditorGUILayout.ScrollViewScope | 新しい ScrollViewScope を作成し、対応する ScrollView を開始します。 |