備忘録( 6 )

Category
[C#] C/C++相当の共用体(union)を扱う
C/C++ではメンバのメモリ領域を共有できる共用体が存在しますが、C#には存在しません。 しかし、属性を駆使して共用体を実装することは可能です。 具体的なコードは以下のようになります。 struct TestUnion { public int i; public double d; public char c; pu...
6147 PV
[Unity] キーコンフィグの動的変更についての考察
ゲーム制作でキーコンフィグをユーザ側から設定する機能を実装しようと思うようになりました。 たとえばメニューの決定ボタンや弾を発射するボタンの割り当てをゲーム内の設定画面から変更できるようにする機能です。 Unityの機能でこれらを実現できないかどうかを調べてみました。 結論から言うとそのような機能は無いです。 ただし、...
4460 PV
[Unity] プロジェクト単位でカスタムテンプレートを適用する
前回の記事でUnityのスクリプトテンプレートを書き換える方法を紹介しました。 しかし、上記にはいくつかの問題点が存在します。  ・インストールされたUnity全体に影響が及ぶ  ・共同開発では各々のPCで設定する必要あり  ・1台のPCで異なるテンプレートを併用することが出来ない テンプレートの変更はインストールされ...
2851 PV
[Unity] スクリプトのテンプレートを変更する
Unity上でスクリプトを新規作成するとき、以下のようにあらかじめテンプレートが入力された状態で作成されます。 using UnityEngine; using System.Collections; public class NewBehaviourScript : MonoBehaviour { // Use th...
4218 PV
[Unity] スクリプトの有効/無効状態にコルーチンを連動させる
GameObjectにアタッチしたスクリプトのenabledフィールドをfalseにした場合(スクリプトを無効にした場合)、Update()などが呼び出されなくなり更新処理が止まります。 しかし、前述のスクリプトから呼び出されたコルーチンは止まりません。 たとえば、以下のようなカウンタ値を1秒ごとに出力するスクリプトで...
6726 PV
[Unity] MonoDevelopでTODOリストを表示する
コーディングする際、後で実装が必要な箇所にTODOコメントを付ける事はよく行われているのではないでしょうか。 EclipseなどのIDEでは「// TODO」と書くとその箇所をハイライトしてくれます。 MonoDevelopにもこのような機能は存在します。 以下のようにスクリプトにTODOコメントを入れます。 そして、...
3841 PV
[Unity] 数字をスプライトで表示
Unityのスプライトで数字を表示させるためのTipsのご紹介です。 Unityで数字を表示するためにはGUITextやuGUIのTextを用いることで実現できます。 しかし、自分で描いたオリジナルの数字を表示させたい場合は数字の絵を並べて表示させる必要が出てきます。 今回はこれを簡単に行うためのスクリプトを用意しまし...
15216 PV
[Unity] スプライトのパラパラアニメーション
Unityではデフォルトでアニメーション機能が備わっております。 これを使えばパラパラアニメのような動きも実装できます。 しかし、スプライトのアニメーションを作るたびにUnityのアニメーション設定を行うのが面倒と思われる方もいるかもしれません。(私がそうです) そのため、簡単な設定で実現できる簡易的なパラパラアニメを...
4407 PV
[Unity] [C#] クラス定義を複数ソースに分割する
UnityでC#のクラスを定義するとき、通常はひとつのソースファイル内で完結するのが普通でしょう。 しかし、そのクラスの定義が数千行になった場合はソースファイルを編集するのが大変になります。 また、複数人でひとつのクラスを実装するとき、ファイルが同一だと競合を起こしてしまいます。 SVNやGITなどのバージョン管理ツー...
14580 PV
[Unity] 2D図形を指定した色で描画する
2Dゲームの制作などで単色の図形を描画する方法のメモ書きです。 主に塗りつぶし図形を表示させたい場合に使えます。 図形の描画色を変えるには専用のマテリアルを用意し、これにDiffuseシェーダーなどをセットして色を指定することで可能です。 しかし、この方法では異なる色の図形を用意するたびにその数分のマテリアルを用意せね...
9627 PV