🎮
長文をScroll 〜Unity
ちょっとした説明文がないと
理解されにくいかなあ、と思い、
でも毎回、毎回それを読まされるのもイヤだろうから
トップページでHintButtonを押したらパネルが出て、
わかったButtonを押せば消えて、
それもちょっと説明長くなりそうだから,Scrollできればいいかなとか。
できたことと、できなかったこと
出したり、消したり、Scrollしたり、は、できた。
できなかったのは、
長文だからinspectorの小さい窓に打つのはイヤだな、Scriptで管理したいな
という部分。
どうしても画面に現れてくれないので、今回は断念。
ScrollView
トップページでUIからScrollViewを選択。
ScrollViewの中に勝手にできているのが
- Viewport→content
- ScrollBar(縦・横)
- 今回、横は要らないので削除
- 結果的に、そんなに長くならなくて、縦のScrollBarも出番なし
contentの下にUIからTextMeshProを選択。
- ここにScriptの内容を表示したかったが、諦めて直打ち。
- 結局範囲内に収まったけど、ちょっと引っぱると、びよんと動く。
HintButton、OKButton
- HintButtonはほかのButton同様Canvas下に置く。
- OKButtonはScrollView直下、ViewportやScrollBarと同じ層に置く。
- Scriptを書いて両方にattach。
- それぞれでOnClick()設定。同じScriptだけど、違う関数を選ぶ。
- Hintボタンを押すとScrollViewが出る。
- OKボタンを押すとScrollViewが消える。
using UnityEngine;
using UnityEngine.UI;
public class HintController : MonoBehaviour
{
public GameObject scrollView; // ScrollViewのGameObjectへの参照
// 主画面のHintButtonが押されたときに呼び出されるメソッド
public void ShowScrollView()
{
scrollView.SetActive(true); // ScrollViewを表示する
}
// ScrollView内のOKButtonが押されたときに呼び出されるメソッド
public void HideScrollView()
{
scrollView.SetActive(false); // ScrollViewを非表示にする
}
}
ScrollViewをinactiveにしておかないと
起動と同時に出ちゃう。消せば消えるけど。
なので、inspectorのチェックを外しておく。
以上、次回はちゃんと、Scriptから読み込みたい。
Discussion