Unityで順番にコメントを表示する??
タイトルがふわっとしていて申しわけないです。
とにかく動画のような動きのことです。
今ダンジョンのイベントを制作中で、クリックしなくても勝手にイベントが進む処理がほしいなあと思ってつくりました。
相変わらずUniTaskでできてます。
コードはこんな感じ↓
public GameObject parent; //Prefabを生成するときの親
public GameObject prefab; //コメントオブジェのプレハブ
private bool textflg; //コメント表示中かどうかのフラグ
async public UniTask CommentTextOn(string txt)
{
//表示してるものがあったら消えるまで待つ
if (prefab)
{
await UniTask.WaitUntil(() => textflg == false);
}
textflg = true;
GameObject popup = Instantiate(prefab, parent.transform);
popup.transform.Find("Text").GetComponent<TextMeshProUGUI>().text = txt;
await UniTask.Delay(System.TimeSpan.FromSeconds(2.0f));
//2秒待ってコメントオブジェを消す
Destroy(popup);
textflg = false;
}
呼び出すときは↓
await CommentTextOn("ここにテキスト");
これも地味にめちゃくちゃ欲しかったやつ。
ちゃんと処理が終わるのを待ってくれるのがすごいですね。UniTaskすごい。
ダンジョンつくりながらモンスターのデザインもぼちぼち考えております。
過去の記事で出てきたタプタプちゃんはそのままレギュラー化の予定。
いわゆるクリーチャーと呼ばれるグロキモ系のデザインが好きなので、なんかそういうのが出せたらいいな……どうかな……
というわけで、いよいよ梅雨に入った?って感じで案の定体調がぐずぐずなのでしばらくは無理せず進めていこうと思いま~~~す。
みなさんもご自愛くださいませ。
とくにこれから暑くなりますしね。
食欲ないときは羊羹おすすめです。
この記事にはコメントできません。