目次

ライブラリ


C++ライブラリ | 各種ライブラリ

このページは筆者が作成したC++のライブラリが公開されます.

各種ライブラリ | Welcome!

このページでは, 筆者が作成したライブラリが置かれます.

Controllerの関数一覧 | コントローラ読み取りライブラリ
Begin Controllerの開始
Stick スイッチ情報取得
Read スイッチ情報取得
Controllerの使い方 | コントローラ読み取りライブラリ

ここでは, Controllerの基本的な説明を行います. 説明項目は以下のとおりです.

  • ボタン数,ピン設定
  • ボタン番号設定
  • スイッチ情報の読み込み
Controllerの導入方法 | コントローラ読み取りライブラリ

Controllerの導入方法を説明します. 説明項目は以下のとおりです.

  • ダウンロード
  • ファイルの説明
  • インクルード
  • コントローラの使用開始
コントローラ読み取りライブラリ | コントローラー

Controllerとは、このページで紹介したコントローラーを制御するものです。このヘッダファイルにある関数でコントローラーからのスイッチ情報を読み取りどのボタンが押されているかを判断します。Controllerができることは次の通りです。

  • ボタンが押されている間もそのボタン入力を検出すること(トリガー形式)ができます
  • ボタンが一回押されてそのあとも押されているときはそのボタン入力を検出しないこと(非トリガー形式)ができます
  • インスタンス生成でコントローラーを簡単に追加できます
  • ボタンの同時入力に対応しています

Controllerを改良、強化、何でもしてください(;´∀`)

Cpp
C++でUnicode文字列(UTF-8, UTF-16, UTF-32)を扱うライブラリ | C++ライブラリ

本稿では, C++でバージョンに左右されずに文字を扱うために, 以下の機能を持つライブラリを紹介します.

  • 型依存しないUTF-8, UTF-16, UTF-32間の相互変換
  • UTF-8, UTF-16文字(コードポイント)ごとのイテレート
  • 標準イテレータを使ったイテレート
  • 型依存しないイテレータの対応
サイズ固定の待ち行列 | C++ライブラリ

サイズ固定の待ち行列ライブラリを紹介します.

このQueueは, 以下の特徴を持ちます.

  • std::queue が使用できない状況下での待ち行列の使用
  • メモリを贅沢に使用しないサイズ固定待ち行列
  • 例外処理に対応していない環境下での使用
サイズ固定のスタック | C++ライブラリ

サイズ固定のスタックを扱うライブラリを紹介します.

このStackは, 以下の特徴を持ちます.

  • std::stack が使用できない状況下でのスタックの使用
  • メモリを贅沢に使用しないサイズ固定スタック
  • 例外処理に対応していない環境下での使用
C++でC#のようなStringを使いたい | C++ライブラリ

C#からC++に入った人もいるでしょう. その時C#で大変よく使っていたStringが恋しい場合があります. C++を書きつつC#を感じたい時があります.

上の問題を解決する方法でここで紹介するStringがあります. このStringで用意されている関数名はほぼC#と一致します.

C#で非常に便利だったSplit関数も用意されています.

また, 文字列探索において一番高速とされるBM法を用いています.

Stringを強化, 改良何でもしてください. ( `ー´)ノ

注意:

C#のStringを使ったことがない方は, これをお勧めすることはできません. これと同様かそれ以上の機能を持つC++のstringをお使いください. C++ですでに用意されています.

C++でC#のようなListを使いたい | 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++ですでに用意されています.

Unicode
C++でUnicode文字列(UTF-8, UTF-16, UTF-32)を扱うライブラリ | C++ライブラリ

本稿では, C++でバージョンに左右されずに文字を扱うために, 以下の機能を持つライブラリを紹介します.

  • 型依存しないUTF-8, UTF-16, UTF-32間の相互変換
  • UTF-8, UTF-16文字(コードポイント)ごとのイテレート
  • 標準イテレータを使ったイテレート
  • 型依存しないイテレータの対応
UTF-8
C++でUnicode文字列(UTF-8, UTF-16, UTF-32)を扱うライブラリ | C++ライブラリ

本稿では, C++でバージョンに左右されずに文字を扱うために, 以下の機能を持つライブラリを紹介します.

  • 型依存しないUTF-8, UTF-16, UTF-32間の相互変換
  • UTF-8, UTF-16文字(コードポイント)ごとのイテレート
  • 標準イテレータを使ったイテレート
  • 型依存しないイテレータの対応
UTF-16
C++でUnicode文字列(UTF-8, UTF-16, UTF-32)を扱うライブラリ | C++ライブラリ

本稿では, C++でバージョンに左右されずに文字を扱うために, 以下の機能を持つライブラリを紹介します.

  • 型依存しないUTF-8, UTF-16, UTF-32間の相互変換
  • UTF-8, UTF-16文字(コードポイント)ごとのイテレート
  • 標準イテレータを使ったイテレート
  • 型依存しないイテレータの対応
UTF-32
C++でUnicode文字列(UTF-8, UTF-16, UTF-32)を扱うライブラリ | C++ライブラリ

本稿では, C++でバージョンに左右されずに文字を扱うために, 以下の機能を持つライブラリを紹介します.

  • 型依存しないUTF-8, UTF-16, UTF-32間の相互変換
  • UTF-8, UTF-16文字(コードポイント)ごとのイテレート
  • 標準イテレータを使ったイテレート
  • 型依存しないイテレータの対応
検索エンジン
PHPで動くあいまい検索エンジン | PHPライブラリ

データベースを使用しないで, あいまい検索を実現するPHPライブラリ

あいまい検索
PHPで動くあいまい検索エンジン | PHPライブラリ

データベースを使用しないで, あいまい検索を実現するPHPライブラリ

PHP
PHPで動くあいまい検索エンジン | PHPライブラリ

データベースを使用しないで, あいまい検索を実現するPHPライブラリ

PHPでC#のような処理時間計測ライブラリ | PHPライブラリ

C#には, 処理時間計測をするのにStopwatchクラスがあります[1]. PHPでもC#のような処理時間計測を実現するためのライブラリを実装しました.

作りは単純で, ソースもそれほど難しくはありません. 厳密な計測を想定していませんが, 簡単に計測を行いたい方などに最適です.

Debugツール | PHPライブラリ

PHPでWebアプリケーションを作るとき, 必ずデバックを行う必要があります. Debugの方法として, "echo"関数などを使用したプログラムの状態を画面に出力するなどがありますが, ファイルとしてそのようなデバック情報が保存されないのが難点です.

このDebugツールは以下の目的で作られました.

  • 簡単にDebugできるように
  • 外部ファイルとしてデバック情報を保存
PHPでローカリゼーション(多言語化)に対応する | PHPライブラリ

PHPアプリケーションでローカリゼーション(多言語化)に対応できるライブラリ

PHPでキャッシュ管理 CacheManager | PHPライブラリ

PHPで, キャッシュを管理するライブラリ

PHPライブラリ | 各種ライブラリ

このページは筆者が作成したPHPのライブラリが公開されます.

ダウンロード
PHPで動くあいまい検索エンジン | PHPライブラリ

データベースを使用しないで, あいまい検索を実現するPHPライブラリ

画面分割ライブラリ Splitter | JavaScript

多くの編集ソフトには, 一つの画面を分割する機能があります. 一つの画面を分割することで, 同じ画面で複数の作業を行うことができます.

Splitterは, ウェブブラウザ上で動作する画面分割ライブラリです. 分割境界にあるスライドバーを動かすことで領域のサイズを調節できます.

PHPでC#のような処理時間計測ライブラリ | PHPライブラリ

C#には, 処理時間計測をするのにStopwatchクラスがあります[1]. PHPでもC#のような処理時間計測を実現するためのライブラリを実装しました.

作りは単純で, ソースもそれほど難しくはありません. 厳密な計測を想定していませんが, 簡単に計測を行いたい方などに最適です.

Debugツール | PHPライブラリ

PHPでWebアプリケーションを作るとき, 必ずデバックを行う必要があります. Debugの方法として, "echo"関数などを使用したプログラムの状態を画面に出力するなどがありますが, ファイルとしてそのようなデバック情報が保存されないのが難点です.

このDebugツールは以下の目的で作られました.

  • 簡単にDebugできるように
  • 外部ファイルとしてデバック情報を保存
PHPでローカリゼーション(多言語化)に対応する | PHPライブラリ

PHPアプリケーションでローカリゼーション(多言語化)に対応できるライブラリ

PHPでキャッシュ管理 CacheManager | PHPライブラリ

PHPで, キャッシュを管理するライブラリ

サイズ固定の待ち行列 | C++ライブラリ

サイズ固定の待ち行列ライブラリを紹介します.

このQueueは, 以下の特徴を持ちます.

  • std::queue が使用できない状況下での待ち行列の使用
  • メモリを贅沢に使用しないサイズ固定待ち行列
  • 例外処理に対応していない環境下での使用
サイズ固定のスタック | C++ライブラリ

サイズ固定のスタックを扱うライブラリを紹介します.

このStackは, 以下の特徴を持ちます.

  • std::stack が使用できない状況下でのスタックの使用
  • メモリを贅沢に使用しないサイズ固定スタック
  • 例外処理に対応していない環境下での使用
JavaScript
画面分割ライブラリ Splitter | JavaScript

多くの編集ソフトには, 一つの画面を分割する機能があります. 一つの画面を分割することで, 同じ画面で複数の作業を行うことができます.

Splitterは, ウェブブラウザ上で動作する画面分割ライブラリです. 分割境界にあるスライドバーを動かすことで領域のサイズを調節できます.

JavaScript | 各種ライブラリ

このページは筆者が作成したJavaScriptのライブラリが公開されます.

C#
PHPでC#のような処理時間計測ライブラリ | PHPライブラリ

C#には, 処理時間計測をするのにStopwatchクラスがあります[1]. PHPでもC#のような処理時間計測を実現するためのライブラリを実装しました.

作りは単純で, ソースもそれほど難しくはありません. 厳密な計測を想定していませんが, 簡単に計測を行いたい方などに最適です.

言語パック管理'LanguagePackManager'の紹介 | Componentの紹介

LanguagePackManagerとは言語パックを管理するものです. もちろんですがUnity上で動作します.
これを使うと以下のことができます.

  • 言語パックの管理
  • 各シーンでのアンロードとロード

言語パックといいながらファイル形式はテキスト形式です. 言語関係の編集が簡単になります.
また言語パックを各シーンでアンロードされるのでロードした言語パックが残り続けることがありません. これはすなわち使っていないメモリを開放します.

LanguagePackManagerを改良、強化、何でもしてください(;´∀`)

WARNING

このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.

このページの内容は2016年に執筆されています.

イベント制御'EventController'の紹介 | Componentの紹介
EventControllerEditor画面
EventControllerEditor画面

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を改良、強化、何でもしてください(;´∀`)

WARNING

このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.

このページの内容は2016年に執筆されています.

カメラ制御'CameraController'の紹介 | Componentの紹介

CameraControllerとはCameraを制御するものです。これは次のことができます。

  • 一人称,三人称カメラの切り替え
  • カメラ移動の線形補間,曲線補間
  • コライダーを自動で避けるAutoAvoidCollider機能
  • 任意の場所にカメラ位置を設定可能
  • 任意の方向にカメラを向けることが可能

上の機能が一つのカメラで実現できるためカメラ管理がしやすくなります。

CameraControllerを改良、強化、何でもしてください(;´∀`)

WARNING

このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.

このページの内容は2016年に執筆されています.

HUDMessageManager UI表示のためのコンポーネント | Componentの紹介

Unityでゲーム制作もしくはツール制作においてちょっとしたUIを表示したい時があります. HUDMessageManagerはその時のために製作されたものです.

HUDMessageManagerはちょっとしたUIの表示に最適です. 特徴は以下のとおりです.

  • 固定されないUIの表示場所
  • フェードイン, フェードアウトエフェクト
  • 表示時間設定

Unity 2018.2.5f1で動作確認済みです.

C++でC#のようなStringを使いたい | C++ライブラリ

C#からC++に入った人もいるでしょう. その時C#で大変よく使っていたStringが恋しい場合があります. C++を書きつつC#を感じたい時があります.

上の問題を解決する方法でここで紹介するStringがあります. このStringで用意されている関数名はほぼC#と一致します.

C#で非常に便利だったSplit関数も用意されています.

また, 文字列探索において一番高速とされるBM法を用いています.

Stringを強化, 改良何でもしてください. ( `ー´)ノ

注意:

C#のStringを使ったことがない方は, これをお勧めすることはできません. これと同様かそれ以上の機能を持つC++のstringをお使いください. C++ですでに用意されています.

C++でC#のようなListを使いたい | 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++ですでに用意されています.

Message表示'HUDMessageManager'の紹介 | Componentの紹介

HUD_MessageManagerとは画面に文字を表示するなどの処理をするコンポーネントです。これはUnity上で動作します。ゲームで文字の表示といえばゲーム内でのキャラのセリフ、ゲームシステム側からプレイヤーに向けてのメッセージ―セーブが完了した,新しい称号を獲得したなど―などがあります。HUD_MessageManagerを使うことでこのようなことが簡単に実装できます。

HUD_MessageManagerを使うと以下のことができます。

  • 画面に文字を表示する
  • 6つの場所に文字を表示できます
  • 表示位置はカスタマイズ可能
  • 表示,非表示時にエフェクトをかけることが可能
  • 表示時間を指定可能

HUD_MessageManagerを改良、強化、何でもしてください(;´∀`)

このコンポーネントは古いバージョンです. これをベースとした改良版UIMessageManagerをご利用下さい. 表示場所が6つに固定されている問題, 初期設定のしにくさの問題を修正しています.

デバッガ
Debugツール | PHPライブラリ

PHPでWebアプリケーションを作るとき, 必ずデバックを行う必要があります. Debugの方法として, "echo"関数などを使用したプログラムの状態を画面に出力するなどがありますが, ファイルとしてそのようなデバック情報が保存されないのが難点です.

このDebugツールは以下の目的で作られました.

  • 簡単にDebugできるように
  • 外部ファイルとしてデバック情報を保存
ツール
Debugツール | PHPライブラリ

PHPでWebアプリケーションを作るとき, 必ずデバックを行う必要があります. Debugの方法として, "echo"関数などを使用したプログラムの状態を画面に出力するなどがありますが, ファイルとしてそのようなデバック情報が保存されないのが難点です.

このDebugツールは以下の目的で作られました.

  • 簡単にDebugできるように
  • 外部ファイルとしてデバック情報を保存
ローカリゼーション
PHPでローカリゼーション(多言語化)に対応する | PHPライブラリ

PHPアプリケーションでローカリゼーション(多言語化)に対応できるライブラリ

キャッシュ
PHPでキャッシュ管理 CacheManager | PHPライブラリ

PHPで, キャッシュを管理するライブラリ

Python
stdlib | Python

筆者がこれまでに作成した, モジュールを紹介します.

音楽再生
Arduinoでメロディーを鳴らす | Arduino

Arduinoで何か作品を作っているとき, その作品に音を鳴らせたい時があります. 本格的に音楽を鳴らすのではなく, 効果音としてちょこっと入れたいという意味です. 例えば, 簡単な早押しゲームを作るとして, ボタンを押したときの効果音を入れたいという時です. ですが, この効果音を入れたいために別のArduinoを用意するのはコストの点で好ましくありません. -オーディオプレイヤーのように音楽を鳴らしたい時は[Arduino/Arduinoで音楽を鳴らす]を参照してください.-

ここで, このMelodyPlayerがあります. このMelodyPlayerは新たにArduinoを用意する必要はありません. また, 音楽再生処理はバックグラウンドで行っているためメインプログラムに何も影響を与えません. メロディーを流しながら何か他の処理―LED点灯, ボタン入力など―をすることができます. あなたがすでに書いたスケッチのコードに一行"Play(’Melody名’)"と入れるだけでメロディーが再生されます.

MelodyPlayerができるのは以下の通りです.

  • インクルードするだけで簡単にメロディー再生
  • 簡単にメロディーを追加

ただしMelodyPlayerはピン3,9,10,11のPWM出力を妨げます.

Arduinoで音楽を鳴らす | Arduino

Arduinoで電子工作をしていると音を鳴らしたくなります. その鳴る音は電子音のようなピーピー音ではなく, ゲーム機でなっているような音―むしろ音楽といった方がいいでしょう―にしたいです.

このページではArduinoを用いて音楽を鳴らすことができる’MediaPalyer’を紹介します. 外部シールドを使わないで音楽を鳴らすことができます.

ただし以下の環境が必要です.

対応環境

メインのArduino

下の音楽再生用のArduinoをコントロールするためのものです.

音楽を再生するためのArduino

MediaPlayerは音楽を再生するためのArduinoを必要とします. これはつまり音楽を再生する処理とそのほかのメイン処理を分けるということになります. こうすることで, Arduinoは音楽を再生するための処理に集中することができます.

対応しているArduinoについて

  • 動作周波数: 8MHz, 16MHz

microSD

音楽ファイルを保存するために必要です

音楽ファイル

  • 対応ファイル形式: Wave
  • サンプリング周波数: 32KHz, 16KHz, 8KHz
  • 量子化精度: 8bit
Arduino
Arduinoでメロディーを鳴らす | Arduino

Arduinoで何か作品を作っているとき, その作品に音を鳴らせたい時があります. 本格的に音楽を鳴らすのではなく, 効果音としてちょこっと入れたいという意味です. 例えば, 簡単な早押しゲームを作るとして, ボタンを押したときの効果音を入れたいという時です. ですが, この効果音を入れたいために別のArduinoを用意するのはコストの点で好ましくありません. -オーディオプレイヤーのように音楽を鳴らしたい時は[Arduino/Arduinoで音楽を鳴らす]を参照してください.-

ここで, このMelodyPlayerがあります. このMelodyPlayerは新たにArduinoを用意する必要はありません. また, 音楽再生処理はバックグラウンドで行っているためメインプログラムに何も影響を与えません. メロディーを流しながら何か他の処理―LED点灯, ボタン入力など―をすることができます. あなたがすでに書いたスケッチのコードに一行"Play(’Melody名’)"と入れるだけでメロディーが再生されます.

MelodyPlayerができるのは以下の通りです.

  • インクルードするだけで簡単にメロディー再生
  • 簡単にメロディーを追加

ただしMelodyPlayerはピン3,9,10,11のPWM出力を妨げます.

Arduinoで2Dグラフィックを扱う | Arduino

Arduinoでグラフィック液晶やドットマトリックスを操作することは定番です. またそれらを操作するライブラリも豊富です. ただ, それらに共通してある2Dに何かを描画するという機能は多くの場合独立していません. この機能を独立させることで, いかなる表示機においても2Dに対する描画法を統一できます. 例えば, ドットマトリックスで描画していたものをグラフィック液晶に簡単に移植できます. メンテナンスもしやすくなるでしょう. 描画の機能のパフォーマンスが向上すれば, その恩恵はその機能を使っているすべての表示機にも与えられます.

キャンバスとは, Arduinoで2Dグラフィックを扱う時に便利なライブラリです. キャンバスはメモリ上にある描画空間に対して処理を行います―例えば, 点を打つ, 線を引くなど―.

キャンバス単体で用いることはほとんどありません. キャンバスと実際に目に見えるものに描画するものとを組み合わせて使用します.

このキャンバスの特徴は以下の通りです.

  • 応用しやすい関数セット
  • 白紙のキャンバスに文字、画像、直線などを描くような操作
  • 高い移植性
  • 高い描画効率

キャンバスを強化, 改良, 何でもしてください(’ω’)ノ

SketchWriter | ArduinoでArduinoにスケッチ書き込み

SketchWriterとは、optiboot―これが書き込まれているArduinoはArduinoUnoです―と通信することができるものです。このSketchWriterはoptibootに対してメモリのセット、データの送信、アプリの実行、を命令することができます。それらの命令を使ってパソコンを用いずにArduinoにスケッチ―Arduinoではプログラムのことをスケッチと呼んでいます―を書き込むことができます。SketchWriterができることは以下のことです。

  • optibootに対しての基本命令の送信
  • スケッチが書かれたHexFile(Hexファイル)の読み込み
  • Arduinoにスケッチを送信
  • 今後応用可能な関数セット

optibootに対しての基本命令とはメモリのセット、 データの送信、 アプリの実行、 optibootと同期などをさします。このヘッダを用いるとArduinoからArduinoへスケッチ―プログラム―を書き込むことができます。

ただし、以下の環境が必要です。

スケッチを書き込まれるArduinoにはブートローダー"optiboot"がかきこまれていること

optibootがかきこまれているArduinoは"Arduino UNO"です。このサイトでもこれを使用しています。

スケッチを書き込むArduinoは16MHzで動作していること

optibootとの通信には115200bpsのシリアル通信が用いられています。8MHzなどの低周波数で動作するArduinoではこの通信がうまくいきません。

SketchWriterを改良、強化、何でもしてください(;´∀`)

Arduinoで音楽を鳴らす | Arduino

Arduinoで電子工作をしていると音を鳴らしたくなります. その鳴る音は電子音のようなピーピー音ではなく, ゲーム機でなっているような音―むしろ音楽といった方がいいでしょう―にしたいです.

このページではArduinoを用いて音楽を鳴らすことができる’MediaPalyer’を紹介します. 外部シールドを使わないで音楽を鳴らすことができます.

ただし以下の環境が必要です.

対応環境

メインのArduino

下の音楽再生用のArduinoをコントロールするためのものです.

音楽を再生するためのArduino

MediaPlayerは音楽を再生するためのArduinoを必要とします. これはつまり音楽を再生する処理とそのほかのメイン処理を分けるということになります. こうすることで, Arduinoは音楽を再生するための処理に集中することができます.

対応しているArduinoについて

  • 動作周波数: 8MHz, 16MHz

microSD

音楽ファイルを保存するために必要です

音楽ファイル

  • 対応ファイル形式: Wave
  • サンプリング周波数: 32KHz, 16KHz, 8KHz
  • 量子化精度: 8bit
Unity
Assetの紹介 | Unity

筆者がこれまでに作成したアセットを紹介します.

各アセットの詳しい説明は, 別ページになります.

Queue
サイズ固定の待ち行列 | C++ライブラリ

サイズ固定の待ち行列ライブラリを紹介します.

このQueueは, 以下の特徴を持ちます.

  • std::queue が使用できない状況下での待ち行列の使用
  • メモリを贅沢に使用しないサイズ固定待ち行列
  • 例外処理に対応していない環境下での使用
行列
サイズ固定の待ち行列 | C++ライブラリ

サイズ固定の待ち行列ライブラリを紹介します.

このQueueは, 以下の特徴を持ちます.

  • std::queue が使用できない状況下での待ち行列の使用
  • メモリを贅沢に使用しないサイズ固定待ち行列
  • 例外処理に対応していない環境下での使用
Stack
サイズ固定のスタック | C++ライブラリ

サイズ固定のスタックを扱うライブラリを紹介します.

このStackは, 以下の特徴を持ちます.

  • std::stack が使用できない状況下でのスタックの使用
  • メモリを贅沢に使用しないサイズ固定スタック
  • 例外処理に対応していない環境下での使用
言語パック
言語パック管理'LanguagePackManager'の紹介 | Componentの紹介

LanguagePackManagerとは言語パックを管理するものです. もちろんですがUnity上で動作します.
これを使うと以下のことができます.

  • 言語パックの管理
  • 各シーンでのアンロードとロード

言語パックといいながらファイル形式はテキスト形式です. 言語関係の編集が簡単になります.
また言語パックを各シーンでアンロードされるのでロードした言語パックが残り続けることがありません. これはすなわち使っていないメモリを開放します.

LanguagePackManagerを改良、強化、何でもしてください(;´∀`)

WARNING

このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.

このページの内容は2016年に執筆されています.

UI表示
HUDMessageManager UI表示のためのコンポーネント | Componentの紹介

Unityでゲーム制作もしくはツール制作においてちょっとしたUIを表示したい時があります. HUDMessageManagerはその時のために製作されたものです.

HUDMessageManagerはちょっとしたUIの表示に最適です. 特徴は以下のとおりです.

  • 固定されないUIの表示場所
  • フェードイン, フェードアウトエフェクト
  • 表示時間設定

Unity 2018.2.5f1で動作確認済みです.

Message表示'HUDMessageManager'の紹介 | Componentの紹介

HUD_MessageManagerとは画面に文字を表示するなどの処理をするコンポーネントです。これはUnity上で動作します。ゲームで文字の表示といえばゲーム内でのキャラのセリフ、ゲームシステム側からプレイヤーに向けてのメッセージ―セーブが完了した,新しい称号を獲得したなど―などがあります。HUD_MessageManagerを使うことでこのようなことが簡単に実装できます。

HUD_MessageManagerを使うと以下のことができます。

  • 画面に文字を表示する
  • 6つの場所に文字を表示できます
  • 表示位置はカスタマイズ可能
  • 表示,非表示時にエフェクトをかけることが可能
  • 表示時間を指定可能

HUD_MessageManagerを改良、強化、何でもしてください(;´∀`)

このコンポーネントは古いバージョンです. これをベースとした改良版UIMessageManagerをご利用下さい. 表示場所が6つに固定されている問題, 初期設定のしにくさの問題を修正しています.

文字列処理
C++でC#のようなStringを使いたい | C++ライブラリ

C#からC++に入った人もいるでしょう. その時C#で大変よく使っていたStringが恋しい場合があります. C++を書きつつC#を感じたい時があります.

上の問題を解決する方法でここで紹介するStringがあります. このStringで用意されている関数名はほぼC#と一致します.

C#で非常に便利だったSplit関数も用意されています.

また, 文字列探索において一番高速とされるBM法を用いています.

Stringを強化, 改良何でもしてください. ( `ー´)ノ

注意:

C#のStringを使ったことがない方は, これをお勧めすることはできません. これと同様かそれ以上の機能を持つC++のstringをお使いください. C++ですでに用意されています.

List
C++でC#のようなListを使いたい | 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++ですでに用意されています.

音楽
Arduinoで音楽を鳴らす | Arduino

Arduinoで電子工作をしていると音を鳴らしたくなります. その鳴る音は電子音のようなピーピー音ではなく, ゲーム機でなっているような音―むしろ音楽といった方がいいでしょう―にしたいです.

このページではArduinoを用いて音楽を鳴らすことができる’MediaPalyer’を紹介します. 外部シールドを使わないで音楽を鳴らすことができます.

ただし以下の環境が必要です.

対応環境

メインのArduino

下の音楽再生用のArduinoをコントロールするためのものです.

音楽を再生するためのArduino

MediaPlayerは音楽を再生するためのArduinoを必要とします. これはつまり音楽を再生する処理とそのほかのメイン処理を分けるということになります. こうすることで, Arduinoは音楽を再生するための処理に集中することができます.

対応しているArduinoについて

  • 動作周波数: 8MHz, 16MHz

microSD

音楽ファイルを保存するために必要です

音楽ファイル

  • 対応ファイル形式: Wave
  • サンプリング周波数: 32KHz, 16KHz, 8KHz
  • 量子化精度: 8bit
液晶
GLCDControllerの紹介 | グラフィック液晶
フレームレート測定画面
フレームレート測定画面

GLCDControllerとは、グラフィック液晶SG12864ASLB-GBを操作するものです. GLCDControllerの特徴は以下の通りです.

  • 2Dグラフィック操作ライブラリCanvasの利点を受け継ぎ
  • 高いフレームレート

このGLCDControllerのメンバ変数としてCanvasがあるのですが, このCanvasが2Dグラフィック操作を簡単にします. Canvasについての特徴はCanvasの特徴を参照してください.

画面の更新速度ですが,最高60fps以上(最高fps85fps, 平均60fps, 全画面更新15fps)まで出せます(ArduinoUno 16Mhzで検証).

GLCDControllerを改良、強化、何でもしてください(;´∀`)

「https://contentsviewer.work/Master/TagMap/ライブラリ?layer=ja」から取得