コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

2014-01-01から1ヶ月間の記事一覧

【C#】null合体演算子によるキャッシュ

C#

class Character { private Status status; public Status Status { get { if (status == null) { status = new Status(); } return status; } } } 必要となった時に初めてインスタンスを作る場合 if文でnullチェックを行うと上記の書き方になりますが C#で…

【C#】デリゲートやイベントの実行順は登録順とは関係ない

C#

デリゲート (プログラミング) - Wikipedia 実行される順番は登録順とは関係なく、未定義である。 イベントの実行順に依存するプログラムを書いてしまい 仕事中につまづいたので書き残しておきます

【C#】デリゲートでオブジェクトの振る舞いを変える

C#

// キャラクターの基底クラス class Character { public virtual void Start(){} public virtual void Update(){} } // 王国兵士 class Soldier : Character { public override void Start(){} // ここで王国兵士の初期化処理を設定 public override void Up…

【Unity】「Unity初心者が全財産200万投じて、チーム開発に挑戦してみた。」感想

Unity初心者が全財産200万投じて、チーム開発に挑戦してみた。【Prefab2D開発ノウハウ】 - NAVER まとめ http://matome.naver.jp/odai/2139014619023230301 私的まとめ Prefab毎にテスト用のシーンを用意する 本番用のシーンにPrefabを置いておく必要がなく…

【F#】「とことんF#よぷよ! F# + XNA ゲームプログラミング入門」

関連記事

【C#】eventとdelegateの違い

C#

class MyClass { public Action Delegate; // delegate public event Action Event; // event } static void Main() { Action act = delegate { }; var n = new MyClass(); // delegateの場合 n.Delegate = act; n.Delegate += act; n.Delegate -= act; n.De…

【Unity】MonoBehaviourのサブクラスをnewで生成している場合の警告

You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using MonoBehaviourを継承したサブクラスをnewで生成している場合 上記のような警告が出力されてしまいます

【オブジェクト指向】「アプリでもオブジェクト指向エクササイズ(Potatotips#3)」

関連記事

【C#】配列のNULLチェックを省略する

C#

private int[] array; private void Update() { if (array != null) { foreach (var n in array) { Debug.Log(n); } } } このような配列のNULLチェックは 最初に空の配列を作成することで省略可能です private int[] array = new int[0]; private void Updat…

【C#】複数の戻り値をラムダ式で受け取る

C#

int GetParam() { return mId; } 例えばint型でIDを返す関数があって、その関数からさらにstring型で名前を受けとりたくなった場合 refキーワードを使用すると下記のようになりますが void GetParam(ref int id, ref string name) { id = mId; name = mName;…

【オブジェクト指向】「オブジェクト指向エクササイズのススメ」

最近は改めてオブジェクト指向について見直す機会が多いです いざゲーム会社で働いてみると仕様変更が多く 綺麗にコーディングしていないと対応に時間がかかってしまうので・・・ 例えばタイトル画面でスタートボタンとオプションボタンを表示する場合 publi…

【Unity】「ウチの姫さまがいちばんカワイイ」の開発秘話が公開されました

非エンジニアが知ってると得するUnityの知識|1 pixel|サイバーエージェント公式クリエイターズブログ http://ameblo.jp/ca-1pixel/entry-11718229785.html 「ウチの姫さまがいちばんカワイイ」がUnityで開発された時に どのようなツールやアセットが使用さ…

【Unity】UnityとVisual Studio Express 2012の連携

会社ではMonoDevelopを使用してUnityのゲームを開発していて、 インテリセンスが正しく動作しない時があったり、 参照の抽出やリネームに時間がかかったりして少し使いづらいなと感じていたのですが、 UnityとVisual Studio Express 2012の連携方法がまとめ…

【オブジェクト指向】「オブジェクト指向できていますか?」

1つのメソッドにつきインデントは1段階まで else句を使用しないこと すべてのプリミティブ型をラップする 1行につきドットは1つまで 名前を省略しない すべてのエンティティを小さくする 1つのクラスにつきインスタンス変数は2つまで ファーストクラスコレク…

【C#】「知って得するC# LINQ to Objects編」スライド公開しました

知って得するC# LINQ to Objects編 from Shota Baba 昨日、会社の勉強会でC#の「LINQ to Objects」という機能について紹介したのですが そこで使用したスライドをSlideShareで公開しました LINQ to Objectsを使うと、for文やforeach文などを使用する処理をキ…

【C#】文字列がnull または空文字列または空白文字のみかを判断する「String.IsNullOrWhiteSpace 」

C#

概要 if (string.IsNullOrWhiteSpace(s)) string.IsNullOrEmptyの場合はnullか空文字列の場合にtrueになりますが string.IsNullOrWhiteSpaceを使うと 文字列が空白文字のみで構成されている場合もtrueと判断してくれます なので、RPGの主人公の名前の決定な…

【C#】if文の重複を回避する

C#

例えば下記のような処理があったとして private Character character; private void Attack() { if (character == null) { return; } character.Attack(); } private void Defense() { if (character == null) { return; } character.Defense(); } if文の判…

【C#】文字列がnullまたは空文字列かを判断する「String.IsNullOrEmpty」

C#

従来のコーディング if (s == null || s == "") String.IsNullOrEmptyを使用 if (string.IsNullOrEmpty(s)) 従来の方法だと文字列の変数を2回記述しないといけなかったり ||と&&を間違えずに記述しないといけなかったりで 意外と凡ミスが起きやすいポイント…

【Unity】おすすめ参考サイトのRSSリンク集

普段、Unityのゲーム開発の参考になるサイトを 「Feedly」というRSSリーダーに登録して毎日チェックしているのですが せっかくなので参考にしているサイトのフィード情報を載せておきます OPML形式でエクスポートしてあるので このファイルをダウンロードし…

【C#】イベントのNULLチェックを省略する

C#

今までC#でイベントを使う時は下記のように記述していて public event Action ChangedState; private void OnChangedState() { var f = ChangedState; if (f != null) { f(); } } 毎回NULLチェックを行わなければいけないことを煩わしく感じていましたが pub…

【Unity】「[Unite Japan 2013]Unity × Jenkins:一歩進んだ使い方」感想

[Unite Japan 2013]Unity × Jenkins:一歩進んだ使い方 from Unity Technologies Japan G.K. on Vimeo. Unity × Jenkins:一歩進んだ使い方 静的解析 Gendarme Monoプロジェクトの静的解析ツール Gendarme for Unity(unity-gendarme) GitHubで公開中 Monoは.…

【Unity】「[Unite Japan 2013]LWF in real life: どうぶつフレンズの開発事例」感想

[Unite Japan 2013]LWF in real life: どうぶつフレンズの開発事例 from Unity Technologies Japan G.K. on Vimeo. 今更ながら昨年のUniteの動画を見たので感想を書き残しておきます。 LWF in real life: どうぶつフレンズの開発事例 Unity Profilerなしでデ…