パハットノート

主にUnity(C#)を中心としたプログラムの備忘録

2021-01-01から1年間の記事一覧

Unity エディタ拡張(非publicリストの各要素に名前を付ける)

導入 作成したクラス Enemyクラス エディタ拡張のためのクラス プログラムの解説 [CustomEditor(typeof("編集したいクラス名"))] serializedObject serializedObject.FindProperty("編集する変数名") void OnEnable() SerializedProperty.arraySize public o…

Unity エディタ拡張(PropertyAttributeによるstringの文字制限)

PropertyAttributeとは 今回作成するAttribute StringLengthAttributeクラス StringLengthDrawerクラス 使用例 PropertyAttributeとは Unityでは[SerializeField]やpublicをつけることで変数をinspector上に表示できるが、表示する変数に対して制限を加えた…

Unity エディタ拡張(publicリストの各要素に名前を付ける)

目次 目次 概要 プログラム例 概要 リストや配列をインスペクター上に表示すると通常は「Element0」、「Element1」などのように表示されるがこの表示を変えられないかと考え、エディタ拡張を行った。 プログラム例 あるクラスでの英語のテストの点数を保存す…

Unity CSVファイルからエディタ上でEnumの再構築

UnityでCSVファイルを読み込み、エディタ上でスクリプト内のEnumの再構築する方法の備忘録

C# partialクラスの使い方

C#

Partialクラスについて partialを使用したクラスの記述方法 使用例 Partialクラスについて classの「partial」を利用すれば、そのクラスを分けて記述することができる。 クラスが大きくなりすぎしまうときに利用すると、クラス全体が見やすくなる partialを…

Unity ビルド開始前後での処理

目次 目次 導入 直前に処理を実行する方法 完了後に処理を実行する方法 使用例 発展 導入 Unityにおけるビルドのときに行う処理の記述方法をまとめました。 直前に処理を実行する方法 インターフェースIPreprocessBuildWithReportより、関数OnPreprocessBuil…

Unity エディタ拡張 その1(publicでない変数をIntFieldで表示)

目次 目次 導入 改善案 あとがき 導入 例えば、次のクラス「Monster」があるとします。 public class Monster : MonoBehaviour { public int hp; } 変数"hp"をエディタ拡張でインスペクターに表示するためには、以下のようなクラスを作成する必要があります…

C# Nullチェックの簡略化

C#

目次 目次 目的 Aに対して、Bを代入。ただし、BがnullならCを代入 Action型変数を呼び出すとき クラス型変数の割り当ての有無で処理の分岐 目的 変数がnull、非nullのときで処理を分岐するときにif文を使うと複雑になるのでC#の機能をうまく使って簡略化する…

C# プロパティの使い方

C#

導入 プロパティを用いるメリット 1. 変数に対して、読み込みと書き込みの範囲を別々に設定できる。 2. 変数の代入に対して制約を与えられる。 継承 あとがき 導入 以下のクラス「Sample01」を想定する。 public class Sample01 { public int a; } 変数aにつ…

C# コンストラクタの使い方

C#

コンストラクタについて 基本 プログラム例 継承 コンストラクタについて クラスを生成する際に行われる処理。 初期化などに使用。 基本 「Human」というクラスが存在し、これにコンストラクタを追加する場合には、 public Human(引数) { //処理 } というよ…

Excel VBA ドロップダウンリストの作成と適用

VBA

目的 使用するセル プログラム プログラムの解説 その1(リストの作成) 概要 詳細 その2(セルにリストを適用) 概要 詳細 まとめ 目的 Excelにはドロップダウンリストを作成することでセル内に入力できる文字を限定することができる。 今回は、任意の文字列を…

C# foreachの使い方

C#

概要 例1 int型配列の中身を表示 例2 Action型Listの実行 例3 String型スタックの表示 個人的なfor文との使い分け 追記 概要 foreach(データ型 変数 in 配列やリストなど) { } で繰り返し処理を行う 例1 int型配列の中身を表示 ソースコード using System;…

C# FuncとActionの違いと使用例

C#

違い Actionの使い方 引数がない場合 引数がある場合 Funcの使い方 引数がない場合 引数がある場合 発展(ラムダ式を使用する) 違い どちらも関数を変数のように扱えるという特徴がありますが、以下のような違いがあります。 Action 返り値がない場合に使用。…

Unity Vector2の使い方(その1)

目次 目次 加算 正規化 内積 角度の測定 ベクトルの大きさ static変数 位置ベクトル間の距離 加算 プログラム例 using UnityEngine; public class Vector2Sample0 : MonoBehaviour { // Start is called before the first frame update void Start() { Vecto…

Unity エディタ拡張 CSVファイルからScriptableObjectの作成

概要 スクリプト CSVファイルを読み込むクラス EditorWindowでCSVファイルを読み込み、ScriptableObjectを作成するクラス(継承して使用) 使用例 CSVファイル Item.csv ItemDataクラス CSVファイルを読み込み、Itemを作成するクラス(ScriptableObjectCreater…

C言語 アドレスとポインタ

アドレスについて *型変数 プログラム例 int型配列の合計と平均を求めるプログラム アドレスについて 「&変数名」によりその変数がメモリ上のどこに保存されているか取得することができる。 #include<stdio.h> int main(void) { int a = 2, b = 5; printf("aのアドレ</stdio.h>…

C# 配列の長さの取得(Length, GetLengthの使い方)

C#

目次 目次 一次元配列の長さの取得 二次元配列の長さの取得 使用例 一次元配列のソート 2次元配列の表示 一次元配列の長さの取得 配列名.Lengthで配列の長さを取得する。 using System; public class SampleLength { public static void Main() { int[] a = …

C#における配列の検索(その2 LastIndexOf)

C#

概要 使用例 public static int LastIndexOf(Array array, object value); public static int LastIndexOf(Array array, object value, int startIndex); public static int LastIndexOf(Array array, object value, int startIndex, int count 関連記事 概要…

C# 配列の検索(その1 IndexOf)

C#

C#においてIndexOfを用いた配列の検索を行う

C# 配列の並び替え(Sort)

C#

概要 数値型の配列の時 文字列型の配列の時 ひらがなのとき アルファベットのとき 漢字のとき 概要 public static void Sort(Array array); で、配列arrayを並び替えることができる。 数値型の配列の時 データは小さい順に並び替えられる。 using System; pu…

Unity 音楽の再生(再生・停止、5秒移動、再生速度の変化など)

Unityにおける音楽の再生(再生・停止、10秒移動、再生速度の変化など)

C# 可変長引数paramsについて

C#

C#の可変長引数paramsについて

C# スタックの基本的な使い方(データの取り出し、格納、読み込みなど)

C#

C#におけるスタックの基本的な使い方(データの取り出し、格納、読み込み、大きさなど)

C# abstractとvirtualの使い分け

C#

C#のabstractとvirtualの使い分け