いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

Unityでゲームのスコアを表示する

次のように表示したいとします。先頭の”000”は色違いです。この"000"はなくてもいいとも言えますが、地味な色にすればいい感じ。実践では桁数を固定したいことが多いかも知れません。そのときは"00000000000"といった文字列からスコアの桁数を引き算した分の0を取り出して使えばよいでしょう。

ぼくは文字列の表示にはTextMeshProを用い、以下のコードでやりました。

string sScore = "<color=#BC8F8F>" + "000" + "</color>";
sScore += score.ToString();

この文字列をTextMeshProに渡します。色は「color=……」で指定できるようです。#BC8F8Fのところを変えて、パディングした0だけを好きな色にできます。どの色はどんな値なのか、ネットで「タグ color=」みたいに検索すれば見つかるでしょう。TextMeshProもネットですぐです。

 

こんな感じの、「こういうことをしたいときはコレ」を集めた本みたいなものがあるといいと思うんですが。最小限のコードで、プレファブからオブジェクトを生成するとか、スクリプトで音楽を鳴らすとか、ゲームで使いそうな基本テクニックをまとめたリファレンスがいいです。情報はバラバラに存在していると効率的に使えないのです。入門書は実際にゲームを少しずつ作り上げてゆく、といった書き方が多く、これはこれで初めての人にはありがたいのだと思いますが。

UnityではC#で書きますが、ぼくがC#のリファレンスに使っているのはこれ。

分かりやすい、短い使用例が載っており、大変重宝しています。こんな感じの、Unityのリファレンスが欲しいです。