UnrealEngine4でTimerの残り時間を描画する処理を書く。

密かに作っているゲーム・どっかーんで、制限時間を過ぎると勝手に発射するドカンを作りたいと思い、実装に取り掛かりました。

プログラムを書く前にわからなかったところは、タイマーイベントを行なっている際に、0になるまでの残り時間をいかに取得するかということ、他はまぁ簡単だろうと思って実装に入りました。

残り時間の処理に関しては、単純に差分を取ればいい話なんですが、
GameEngineだしなにかしらの便利機能があるべや、と思って調べていたら、
SetTimerByEventメソッドからTimerHandlerから残り時間とか経過時間やらが引っ張ってこれる模様。

これだと思いドカンの回転部分のタイマー処理を利用して実装しようとしたら、
ドカンの回転部分でdelayメソッドを呼んでいるため、delayを呼び出しているタイミングで、タイマーのupdate処理が止まってしまうという現象が発生したので、処理を分けました。

そのほかにも、RenderTextを使用して描画しているテキストがオブジェクトのプレビュー画面だとフォントカラーに設定した白で描画されるのに、
実行プレビュー画面だとなぜだか真っ黒になってしまう問題などがあり、
本当は1~2時間もあれば実装できるだろうと思っていたところが、4時間くらいかかってしまいました。

テキストが黒になる問題は、テキストにLightが当たることが前提らしく、
Lightが当たらないと発光しないので、黒くなるらしい。

なので、その辺りの設定を変えることで、対応しました。

あとはゲームを面白くするための努力をしないと・・・
雲がどんよりとした日だった。

2018/4/14

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です