NinaLabo

個人ゲーム開発者の技術メモ

C#

【C#】三角関数で2点間の線の長さと角度を計算する

下記のようなスキルツリーのミニマム版みたいなものを実装しているのですが、ボタンとボタンを繋ぐ線の長さと角度は計算して配置しています。 特定の2点間を線でつなぐのを Unity でどう書けばいいのか、いつもやりかたを忘れてしまうのでまとめておきます。…

Unity 5.3 で Application.LoadLevel が Obsolete になりました

シーンを遷移するときに呼び出す Application.LoadLevel が、Unity 5.3 から非推奨になったんですね。MonoDevelop で Application.LoadLevel を呼び出している箇所に警告が出ていました。 `UnityEngine.Application.LoadLevel(int)' is obsolete: `Use Scene…

【C#】リストや配列のソート方法まとめ

リスト(List)や 配列(Array)の 並び替えの方法をまとめました。 《CASE1》リスト内のオブジェクトの変数で並び替え 社員オブジェクト(Employee)を格納した 社員リスト(employeeList)があるとして、その社員リストを 社員番号(Employee.ID)で並び替…

【C#】数値を符号(プラス/マイナス)を付けた文字列に変換する

たとえば・・ 数値がプラスの場合は、 「こんぼう +1」 数値がマイナスの場合は、 「こんぼう -1」 数値がゼロの場合は、 「こんぼう」 と表示するとします。 もちろん、if分で場合分けして、文字列を組み立てればできるのですが、 string.Format ("{0} {1}"…

C#で Vector3 を Vector2 に変換するには

こういうVector3があるとして、 Vector3 three = new Vector3 (1, 2, 3); zを無視してVector2に変換する場合、もちろんこう書けばできるけど、 Vector2 two = new Vector2 (three.x, three.y); 暗黙的にキャストしてくれるので、これで大丈夫です。 Vector2 …

C#で Enum(列挙型)と 数値や文字列 との変換

こんな Enum(列挙型)があるとして、 public enum ItemType{ Weapon = 1, Shield = 2,} Enum (列挙型)→ 文字列 ItemType.Weapon.ToString(); Enum (列挙型)→ 数値 int itemTypeNo = (int)ItemType.Weapon; 文字列 → Enum (列挙型) ItemType type = En…

C#で 任意の個数の引数をもつメソッドをつくるには

キーワード params をメソッドの引数の配列型の前につけるだけ。例えばこんな感じ。 public void ShowMessage (string message, params object[] messageParams) 呼び出し側は引数を何個でも渡せます。 ShowMessage ("message", param1, param2, param3); 文…