C#
Stringが持つ関数は以下のとおりです.
String | コンストラクタ |
---|---|
Length | 文字の長さ-バイト数- |
operator= | 代入演算子 |
operator[] | 添え字演算子 |
operator+ | 文字列結合 |
operator+= | 文字列結合 |
CopyFrom | 指定されたStringからコピー |
CharArray | String内部Char配列の先頭アドレス |
IndexOf | 指定した文字列の位置 |
Contains | 指定した文字列が含まれるか |
Equals | 指定した文字列と等しいか |
Insert | 文字列挿入 |
Replace | 文字列置き換え |
Split | 文字列分割 |
Substring | 部分文字列を取得 |
ToUpper | すべて大文字に -英語のみ対応- |
ToLower | すべて小文字に -英語のみ対応- |
Concat | 文字列結合 |
GetLine | ストリームから文字列取得 |
Copy | 文字列コピー |
筆者がこのStringを作る際, C#のStringリファレンス(accessed: 3.3.2017) を参考にしました. 関数名はほとんど一緒にしてあります.
ここでは, Stringの基本的な使い方を説明します. 各説明項目は以下のとおりです.
- 使用例
- Splitについて
- GetLineについて
CameraControllerとはCameraを制御するものです。これは次のことができます。
- 一人称,三人称カメラの切り替え
- カメラ移動の線形補間,曲線補間
- コライダーを自動で避けるAutoAvoidCollider機能
- 任意の場所にカメラ位置を設定可能
- 任意の方向にカメラを向けることが可能
上の機能が一つのカメラで実現できるためカメラ管理がしやすくなります。
CameraControllerを改良、強化、何でもしてください(;´∀`)
このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.
このページの内容は2016年に執筆されています.
![EventControllerEditor画面](/Master/Unity/Images/EventController/Img1.png)
Gameは必ずイベントを含みます. イベントがないGameはほとんどないでしょう.
イベント製作時によくあるのが, イベント管理のしにくさと, Debugのしにくさです. イベントを作っていくとどのイベントがどのイベントにどうつながるのかが重要ですが, 大量のイベントを作るとどんなイベントがどれほどあるのかが把握しにくくなります. 特にスクリプトでイベントを製作している場合はそうでしょう. Debugのしにくさとして, ある特定のイベントをDebugする際そのイベントに到達するのに時間がかかります. そのイベントの前にn個のイベントがあり, そのイベントに対するフラグがm個あり, またそのイベントに到達するのにt時間かかるとするならば, そのイベントのDebugに要する時間は $n \times m \times t$ となります.(n = 6; m = 3; t = 5分とするとDebug時間は90分になります. 非常に長いです)
上のような問題を解決するために, ’EventController’を紹介します. EventControllerができるのは次の通りです.
- Eventの遷移, 登録を直感的に行えるEditor
- Game中現在実行しているEventをお知らせ
- パラメータのアクセスは外部スクリプトでも可能
- Game実行中パラメータの値はEditor上でも設定可能
EventControllerを改良、強化、何でもしてください(;´∀`)
このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.
このページの内容は2016年に執筆されています.
C#には, 処理時間計測をするのにStopwatchクラスがあります[1]. PHPでもC#のような処理時間計測を実現するためのライブラリを実装しました.
作りは単純で, ソースもそれほど難しくはありません. 厳密な計測を想定していませんが, 簡単に計測を行いたい方などに最適です.
C#には, 処理時間計測をするのにStopwatchクラスがあります[1]. PHPでもC#のような処理時間計測を実現するためのライブラリを実装しました.
作りは単純で, ソースもそれほど難しくはありません. 厳密な計測を想定していませんが, 簡単に計測を行いたい方などに最適です.
ここでは, Stringの導入方法を説明します. 説明項目は以下のとおりです.
- ダウンロード
- インクルード
ここでは, Listの導入方法を説明します. 説明項目は以下のとおりです.
- ダウンロード
- インクルード
C#からC++に入った人もいるでしょう. その時C#で大変よく使っていたStringが恋しい場合があります. C++を書きつつC#を感じたい時があります.
上の問題を解決する方法でここで紹介するStringがあります. このStringで用意されている関数名はほぼC#と一致します.
C#で非常に便利だったSplit関数も用意されています.
また, 文字列探索において一番高速とされるBM法を用いています.
Stringを強化, 改良何でもしてください. ( `ー´)ノ
C#のStringを使ったことがない方は, これをお勧めすることはできません. これと同様かそれ以上の機能を持つC++のstringをお使いください. C++ですでに用意されています.
C#からC++に入った人もいるでしょう. その時C#で大変よく使っていたStringが恋しい場合があります. C++を書きつつC#を感じたい時があります.
上の問題を解決する方法でここで紹介するStringがあります. このStringで用意されている関数名はほぼC#と一致します.
C#で非常に便利だったSplit関数も用意されています.
また, 文字列探索において一番高速とされるBM法を用いています.
Stringを強化, 改良何でもしてください. ( `ー´)ノ
C#のStringを使ったことがない方は, これをお勧めすることはできません. これと同様かそれ以上の機能を持つC++のstringをお使いください. C++ですでに用意されています.
C#からC++に入った人もいるでしょう. その時C#で大変よく使っていたListが恋しい場合があります. C++を書きつつC#を感じたい時があります.
上の問題を解決する方法でここで紹介するListがあります. このListで用意されている関数名はほぼC#と一致します. C#でのListは要素数が容量を上回ったとき自動でメモリが再確保されますが, ここで紹介するListもそのように動作します. アルゴリズムも同じです(はずです).
C#で非常に便利だったSort関数も用意されています. もちろんですが, 処理が一番早いとされているクイックソートアルゴリズム(O(n*log(n)))を使用しています.
Listを強化, 改良何でもしてください. ( `ー´)ノ
C#のListを使ったことがない方は, これをお勧めすることはできません. これと同様かそれ以上の機能を持つC++のvectorをお使いください. C++ですでに用意されています.
C#からC++に入った人もいるでしょう. その時C#で大変よく使っていたListが恋しい場合があります. C++を書きつつC#を感じたい時があります.
上の問題を解決する方法でここで紹介するListがあります. このListで用意されている関数名はほぼC#と一致します. C#でのListは要素数が容量を上回ったとき自動でメモリが再確保されますが, ここで紹介するListもそのように動作します. アルゴリズムも同じです(はずです).
C#で非常に便利だったSort関数も用意されています. もちろんですが, 処理が一番早いとされているクイックソートアルゴリズム(O(n*log(n)))を使用しています.
Listを強化, 改良何でもしてください. ( `ー´)ノ
C#のListを使ったことがない方は, これをお勧めすることはできません. これと同様かそれ以上の機能を持つC++のvectorをお使いください. C++ですでに用意されています.
Listが持つ関数は以下のとおりです.
List | コンストラクタ |
---|---|
Count | 要素数を取得 |
Capacity | 容量を取得 |
SetCapacity | 容量を設定 |
Array | 内部配列先頭アドレス取得 |
Add | List末尾に要素追加 |
Insert | 指定した位置に要素挿入 |
IndexOf | 指定されたオブジェクトの位置 |
LastIndexOf | 最後から検索して最初に見つかったオブジェクトの位置 |
CopyTo | 配列にコピー |
RemoveAt | 指定した位置を削除 |
Clear | 要素をゼロ |
Sort | 並び替え |
Trim | 容量を要素数に設定 |
CopyFrom | 指定されたListからコピー |
MoveFrom | 指定された配列そのものをListに差し替え |
筆者がこのListを作る際, C#のListリファレンス(accessed: 2.1.2017) を参考にしました. 関数名はほとんど同じにしています.
ここでは, Listの基本的な使い方を説明します. 各説明項目は以下のとおりです.
- 使用例
- C#との相違点
- Sortについて
ここでは, Listの導入方法を説明します. 説明項目は以下のとおりです.
- ダウンロード
- インクルード
Unityでゲーム制作もしくはツール制作においてちょっとしたUIを表示したい時があります. HUDMessageManagerはその時のために製作されたものです.
HUDMessageManagerはちょっとしたUIの表示に最適です. 特徴は以下のとおりです.
- 固定されないUIの表示場所
- フェードイン, フェードアウトエフェクト
- 表示時間設定
Unity 2018.2.5f1で動作確認済みです.
HUD_MessageManagerとは画面に文字を表示するなどの処理をするコンポーネントです。これはUnity上で動作します。ゲームで文字の表示といえばゲーム内でのキャラのセリフ、ゲームシステム側からプレイヤーに向けてのメッセージ―セーブが完了した,新しい称号を獲得したなど―などがあります。HUD_MessageManagerを使うことでこのようなことが簡単に実装できます。
HUD_MessageManagerを使うと以下のことができます。
- 画面に文字を表示する
- 6つの場所に文字を表示できます
- 表示位置はカスタマイズ可能
- 表示,非表示時にエフェクトをかけることが可能
- 表示時間を指定可能
HUD_MessageManagerを改良、強化、何でもしてください(;´∀`)
このコンポーネントは古いバージョンです. これをベースとした改良版UIMessageManagerをご利用下さい. 表示場所が6つに固定されている問題, 初期設定のしにくさの問題を修正しています.
LanguagePackManagerとは言語パックを管理するものです. もちろんですがUnity上で動作します.
これを使うと以下のことができます.
- 言語パックの管理
- 各シーンでのアンロードとロード
言語パックといいながらファイル形式はテキスト形式です. 言語関係の編集が簡単になります.
また言語パックを各シーンでアンロードされるのでロードした言語パックが残り続けることがありません. これはすなわち使っていないメモリを開放します.
LanguagePackManagerを改良、強化、何でもしてください(;´∀`)
このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.
このページの内容は2016年に執筆されています.