UE4_ウィジェットで用意した文章をランダムで表示する機能
くsssssssssssssssssssssssssssssssっそ簡単
世にいるクリエイターはたぶんみんな「その程度のことで記事を書くんですか?」
と思われるだろう。
うるさい。
自分で開発した機能をひけらかしたくなるのが普通でしょう!
この「Now Loadin」の部分
点はThrobberというウィジェットのプリミティブが入ってるだけ
画像だと映ってないな・・・
文字の後を「…」この点が明滅してアニメーションしてくれる面白いやつ。
点を別の形や画像にしたり、数を増やしたりできるのでおすすめ。
じゃなくて
この文字を、あらかじめ用意した文字列からランダムで
しかもこのウィジェットを表示中に切り替えられる機能
切り替えは今のところ自動。
まず答えを張る
これをウィジェットのイベントグラフに作る。
これ以外にもテキストバインドしないといけない。
ウィジェットのテキストをバインド
ウィジェットのキャンバスにテキストを追加したら、
左の詳細からコンテンツ>Text で右のバインドをポチってやって作成する
ようするに、外からの要因で中身を作りますよっていう機能
変数作成
テキストのバインドを作成すると
Get~~(Textウィジェットの名前)がリターンノードにつながってるグラフが出てくる。
ここにテキストの変数を作ってゲットしてつなげておく。
LoadingTextっていうのを作ってつなげた。
ウィジェットのイベントグラフで作業
イベントグラフのTickを使うます
●表示する文字列を用意
配列を作成で文字を書き込む
色(形式)はそのうち変わるので放置
画像ではすでにテキスト型になっておるがな
●それをGET(コピー)
配列とindexから、要素を抜き出すGETをつなぐ
このとき、参照とコピーの二つが出てきて
一見、何が違うねんってノードの見た目になるけど
参照は、その要素をごにょごにょして違うものにして
配列に戻す場合
今回はいじらないで、入ってるものをただ見せるだけなので
コピー
●ランダムで選んでもらう
今回はこのノードを使ってランダムにした
なんかいろいろあるけど
0~5の6個から選ぶので、これで十分。
こいつは数字を返してくれるだけなので
さっきのGETと組み合わせて使う。
●Tickにつなぐ(荒ぶる)
やらなくていい
ただ、このままだと、瞬間的に選び続けるので
テキストが荒ぶる
て言いたかっただけ
Do Onceをつないで、何秒で変わるか設定
そこで、DoOnceを使う。
その処理の最後にDelayをいれてやると
Delay含めたDoOnceの後の処理が終わるまで
繰り返さないくなる。
マジ便利。
あとは、処理の最後から、DoOnceのResetにピンをつないで
また処理をしてくれるようにする。
Delayを1秒にしたから
1秒ごとに文字が変わる。
これで完了。
たったこれだけなので
ただ文字が1秒おきにパッパッと変わるだけだが
やりようによってはいくらでも見栄えをよくできる。
すごく基本的な機能だけで、やりたいことが実現できたので
テンション上がってここに書き込んだ。