UE4 覚え書き スコア表示と加算処理
画面上へのスコアを表示と箱を破壊するとスコアに100点ずつ追加されるという処理を追加しました。(スコアは足されていくがゲーム的要素は皆無・・)
下準備
①スコア管理用BPの作成
新規追加でブループリントクラスから「GameStateBase」のクラスを作成する。
作成したBP内でスコア用の変数をINT型で作成、「インスタンス編集可」にチェックを入れておく。
また、プロジェクト設定の「マップ&モード」の「Game State Class」の欄を上記で作成したBPの名前に変更する。
②UIの作成
新規追加でユーザーインターフェイスから「ウィジットブループリント」を作成する。
ブループリントを開くとUIデザインの画面になるので、左側にある「パレット」からTextを選び任意の場所に配置していく。今回はスコア表示なので「SCORE:」の文字とスコアの数字が入るテキスト2つを作成する。テキストの内容は「Content」⇒「Text」に記入する事で変更できる。スコアの数字の方は「000000」などにしておいて、更にバインドの項目をクリックして「バインディングを作成」を選択。すると以下のようなノードが新しく出来るので
ここに①で作成したBPからスコアの数値を引っ張ってくるBPを追加
①で作ったBP(MyGameState)からCastしてScoreの変数の内容をゲットしてくる。
スコアの加算処理
箱を破壊したら100点追加という事で、加算の処理は破壊の処理の後に追加する事にした。Castしてスコアの数値を持ってくるという部分は上記のスコア表示の際と同じ処理なのでBPをコピペして流用する。
単純にゲットしてきたスコアに100を足したものをセットするという処理を行う。
----------------------------------------------------------------------------------------------------------
UIに関してはゲームの見栄えを左右するところでもあるので、フォントの使い方、ゲージの表示など今後も細かく勉強していきたいです。