blogプログラムやゲーム、旅、愛する家族について綴っていきます。プログラミングはじめにUnityを始めるにあたりそもそもC#も触っていなかったので基本的な言語仕様や構文等のスタディの備忘録を付けておきます。C#固有、Unity固有の何かがあればそれもメモしていきます。基本のデータ型C#本来のsystem名前空間の組み込みデータ型。メソッドスコープ内で宣言される変数に使用することができる。"山田太郎";}MS的には右辺の代入の型が明示的な場合は極力varを使うことをMSDNのコーディング規約にも書かれている。foreachC#でのforeachの書き方。}}可変長配列STLのvectorみたいなものです。List<>というのがあります。これはC#で用意されているものです。}}連想配列STLのmapの様なものです。Dictionary<>というのがあります。keyとvalを指定して指定したkeyでvalを引っ張ってくることができます。Unityで用意されているプラットフォームごとの#defineディレクティブ。{以下の様なエラーが出ました。fileファイルの先頭に持っていったらエラーは出なくなりました。{if文(制御構文)C#ではif文は必ずbooleanになっていないとダメです。}}文字列も値として扱うことができる。通常あまり生のメンバー変数を公開するものではないが、Unityの場合パブリックフィールドにしないとインスペクターに表示されない。コンストラクタとデストラクタは少し特殊な関数。アクセサの簡易表記法。オブジェクトを配列のように扱えるようにするための機能。処理の一部を外部に委譲したり、何かのタイミングを通知するための機能。オブジェクトの初期化処理を行うためのメソッド。UnityはMonoBehaviourを継承したクラスがコンストラクタを実装することを推奨していません。Awake/Startを使いましょう。オブジェクトの破棄処理を行ためのメソッド。C#ではGCが動いていて明示的な破棄はしなくてよいので、通常は意識する必要はありません。C#で破棄のタイミングを管理したいクラスはIDisposableを継承して、Dispose()メソッドを実装し、using文と合わせて使います。sealed修飾子を付けたクラスは継承できなくなります。・extern属性(アトリビュート)自分でクラスを定義してみます。hoge.GetY());}Unityのinspectorに表示してみます。変数名の先頭の小文字は勝手に大文字に変換されるようです。プロパティC#(VB)固有の言語仕様。hoge.Z);}属性(アトリビュート)属性(attribute)とはクラスやメンバーに追加情報を与えるもの。C#の言語仕様についてはこちらを参考に。・属性Unityで使う場合はこちらを参考に。・UnityのAttribute(属性)についてまとめてメモる。TestClass;キャストとは逆に「変換先の型」が右側に来ます。参照型にしか使用できません。値型(struct等)には使用できません。変換できなかった場合はnullが返ります。キャストを試してみます。`Main.B'as演算子を試してみます。E;}パーシャルクラス、パーシャルメソッド記述中...拡張メソッド既存のクラスに機能を追加する方法です。}}例えばstringに拡張メソッドを追加する場合は以下の様に記述します。str.ExtMethod();}リフレクション記述中...ジェネリックいわゆるテンプレート。List<>もDictionay<>もジェネリックで記述されている。MODでオリジナル「食料」を追加しよう!(Mac編)今回は「食料」を追加してみます。環境での説明になります。はてなブログProプログラムやゲーム、旅、愛する家族について綴っていきます。プログラミングはてなブログをはじめよう!takezoh_1127さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。