プログラムコンテンツへスキップはじめてプログラムプログラミング初心者向けチュートリアルやUnity5やC#の記事を書いています。TextUnity5のColor構造体は、0から1の範囲で、Color32構造体が0から255の範囲を取ります。Unity5では、UnityEngine.Color構造体とUnityEngine.Color32構造体があります。Color構造体は、floatを引数に取ります。Color32構造体はbyteで、0-255を引数に取ります。Color構造体は、0f~1.0fの値をれるもので、0f-255.0fの値を入れないように注意しましょう。a);スクリプトで使う場合は、ColorかColor32か意識しましょう。GetComponent<Shadow>()をすると、Outlineを取得してしまう。GetComponent<Shadow>()をすると、Outlineを取得してしまう。255));}}上記は、GUIのTextの色を変更するC#スクリプトです。Outlineコンポーネント、Shadowコンポーネントの記述もあり、Outlineもランダムで変更するようにしています。0f)などのようにも記述できてしまいます。他のプログラミング言語で似たようなColorクラスなどがあって、安易に0から255の値を入れてしまうと、コンパイルエラーは出ませんがColor構造体は、1以上を1とみなすだけなので、プログラマーの意図とは異なる挙動になってしまいます。私は、ちゃんと確認せず、Colorは0から255を取ると思っていたので、この問題解決に結構苦労しました。OutlineとShadowの関係Outlineで、テキストに枠を付けることができます。Shadowで文字の影を作れます。OutlineはShadowを継承しています。そのため以下の画像のように、TextにOutlineコンポーネントとShadowコンポーネントを用意した場合は、GetComponent<Shadow>()で、取得しようとしたときに、Outlineコンポーネントが所得されるようです。回避方法としては、GetComponents<Shadow>()で、Shadow[]を取得するか、Unityエディターで順番を入れ替えることです。(順番の入れ替えについては私は検証していませんが、おそらくできるでしょう。GetComponent<Shadow>()をすると、Outlineを取得してしまう。GetComponent<Shadow>()をすると、Outlineを取得してしまう。UIUnity5のColor構造体は、0から1の範囲で、Color32構造体が0から255の範囲を取ります。C#」で、ストラテジーゲームで使われるヘルスバーを3D空間で作成することができました。ポイントとしては、2つあって、1つは、Unity5で新たに用意されたWorldScaleのCanvasを使うことです。通常のCanvasはスクリーン座標ですが、この機能で、ワールド座標でキャンバスを使えます。ビルボードまた2個目の動画で作成したビルボードは凄くシンプルなスクリプトで以下のようになります。カメラの傾きの逆の傾きをVector3.back、Vector3.downで考慮することで、傾きが相殺されて、結果的にカメラに対してオブジェクトが向き合う形になります。そのためこのビルボードの仕組みは、このCanvsに特化したスクリプトでははなく、Unityのすべてのオブジェクトに対して使用できるスクリプトでした。Vector3.down);}}これでヘルスバーやマジックポイント用のバーをさくせいすることができたのであとは、ダメージテキストを組み合わせることで、敵やプレイヤーの基本UIを作成できそうです。UnityUnity5でビルボードに対応したヘルスバーを作成するにコメントUnity5でポップアップのダメージ表示を行うYoutubeのチュートリアルを参考に3D上で、ポップアップのダメージ表示を実装してみました。これにより結月ゆかりのゲームにダメージ表示ができるようになります。あとは、視点移動したときに、ヘルスバーが表示できれば基本的な状態表示が完了します。カメラが移動してもテキストがターゲットを起点として表示される。細かい計算を想定していたのですが、実際は、UnityEngine.UI.Textは、スクリーン座標で表示され、シーン上のオブジェクトはワールド座標で表示されるので、それをCamera.main.worldToScreenPointで正しく変換させるだけでした。テキストが上下に移動するのは、何か特殊な処理をしているわけではなく、UnityEngine.UI.Textを通常のオブジェクトと同様にアニメーションで、座標移動させているだけです。スクリーン空間に変換。スクリーン空間に変換。最近の投稿CocosCreator2.0で廃止(Deprecated)されたもの。60行でタイピングゲームを作ろう!Python3+Tkinterでタイピングゲームを作ってみました。PythonでSetIntervalとSetTimeoutと同じようなことがしたい。