今回は、変数の表示をテキストに埋め込んでみようと思います。
今回は、トップビューのチュートリアルが終了した時点でのプロジェクトを使ってみます。
「プレイヤー」(と敵)のオブジェクトしかない状態です。
この「プレイヤー」の、あらかじめ設定されている変数「体力」と「最大体力」を画面に表示してみます。
1.まずフォントを設定します。
前回の記事
https://qiita.com/havin_nothin/items/3b11653050709a93ced5
でしたように、素材の、フォントで、TrueTypeフォントを登録し、32ポイントにして、名前を「font32」とします。
(ポイント数は好きな数字でいいです。前回36で、今回32にですが深い意味はありません;)
2.素材で、テキストを登録する。
素材のテキストで、テキストを追加して、名前を「体力表示」にしました。
フォントを「font32」にして、白い枠に以下の文字を入力します。
体力 \V[プレイヤー,体力,0]
最大体力 \V[プレイヤー,最大体力,0]
\V[プレイヤー,体力,0]と書くと、オブジェクト「プレイヤー」の変数「体力」の値を表示します。最後の0は少数点以下の桁数です。小数点以下は不要なのでゼロにしています。
右横にどんなふうに表示されるか反映されています。
(右下のゲーム画面は、最終的に表示される画面です)
新しいオブジェクトを追加して「変数表示」という名前にしました。
アクションプログラムは、念のため「重力の影響を受けない」をチェックし、
下の+を押して、実行アクションの「テキストを表示」を追加します。
テキスト素材を「体力表示」にします。
自動的に先ほど入力した文字列が出てきます。
フォントを「font32」にします。
レイアウトと動作の「表示時間」の「時間制限なし」をチェック、
表示領域の背景を「無し」にします。
(この後、時間制限なしにして、何度もアクションを実行すると、ゲームが遅くなることを発見しました。変化するテキスト表示はかならず制限時間を設定して消えるようにしてください)
4.メニューをシーン設定で表示させるようにし、オブジェクトを配置する。
前回の記事
https://qiita.com/havin_nothin/items/3b11653050709a93ced5
の、4.と5.でしたように、シーン設定で、メニューを表示できるようにして、
そのメニューに、作ったオブジェクト「変数表示」を配置します。
すると、画面に
「体力 1
最大体力 1」と表示されます。
プレイヤーの体力や最大体力を変更して、表示が変わるか試してみてください。
以下は、プレイヤーの体力を3、最大体力を10にした時のゲーム画面です。
次回は今回のテキスト表示を使って、データベースの働きを見ていきます。→https://qiita.com/havin_nothin/items/6413c41ec711c0964321
ではまた。
(補足)上記のままだと、変数がゲーム中に変化しても、リアルタイムで反映されません。ゲーム中にリアルタイムで変化させるには、下記のように、アクションをコピーして、無条件で両方をつなげて、ループするようにしてください。