目次
前回のチュートリアル
はじめに
前回は、HP ゲージと経験値ゲージを作成しました
今回は、レベルを表示していきます
フォントの導入
今回は、ゲーム画面に文字を表示するために、
あらかじめ用意したフォントデータを使用します
https://github.com/baba-s/unity-shooting-tutorial/blob/master/font-20x20.unitypackage?raw=true
上記のページにアクセスして「font-20x20.unitypackage」をダウンロードします
Unity メニューの「Assets/Import Package/Custom Package...」を選択して、
ダウンロードした「font-20x20.unitypackage」を選択します
Import Unity Package ウィンドウが表示されたら「Import」ボタンを押します
これで、フォントデータの導入が完了しました
テキストの作成
プレイヤーのレベルを表示するオブジェクトを作成していきます
「Canvas」オブジェクトを右クリックして「UI>Legacy>Text」を選択します
作成した「Text (Legacy)」オブジェクトを選択して、名前に「LevelTitle」に変更し、
「Pos X」に「42」、「Pos Y」に「184」、「Text」に「LEVEL:」と入力し、
「font-20x20-export」を「Font」の欄にドラッグして設定し、
「Color」を白色に変更します
これで、「LEVEL:」というテキストを画面に表示できました
次に、作成した「LevelTitle」オブジェクトを選択した状態で Ctrl + D を押して、
複製した「LevelTitle (1)」を選択した状態で、名前を「Level」に変更し、
「Pos X」に「128」、「Text」に「10」と入力します
これで、レベルを表すテキストを画面に表示できました
レベルの表示を更新するコードの実装
レベルを表示するオブジェクトの配置が完了したので、
レベルの表示を更新するコードを作成していきます
「Hud」スクリプトをコードエディタで開き、
変数の定義に下記のコードを追加します
public Text m_levelText;// レベルのテキスト
次に、Update 関数の最後に下記のコードを追加します
// レベルのテキストの表示を更新する
m_levelText.text = player.m_level.ToString();
そして、Unity に戻り、「Canvas」オブジェクトを選択した状態で
「Level」オブジェクトを「Level Text」の欄にドラッグして設定します
これで Unity を再生すると、プレイヤーのレベルが常に表示されるようになります
次回は、ゲームオーバーの表示を作成していきます