CEGUI を使用したゲーム メニューの例 | |
| 原作者 | ポール・D・ターナー |
|---|---|
| 開発者 | CEGUI チーム |
| 初回リリース | 2004年12月 |
| 安定版リリース | 0.8.7 (2016年4月28日) [±] [1] |
| 書かれた | C++ |
| オペレーティング·システム | Linux、OS X、Windows |
| タイプ | ウィジェットツールキット |
| ライセンス | MIT バージョン0.5.0以前: GNU LGPL [2] |
| Webサイト | cegui.org.uk |
Crazy Eddie の GUI ( CEGUI ) は、プログラミング言語C++用のグラフィカル ユーザー インターフェイス(GUI)ライブラリです。ビデオ ゲームのニーズに合わせて設計されていますが、アプリケーションやツールなど、ゲーム以外のタスクにも使用できます。ルック アンド フィールの柔軟性と、ツールやオペレーティング システムに関するユーザーの選択に適応できるように設計されています。
構成可能性
CEGUIの強みは、その堅牢性[3]と設定のしやすさです。システムは、ファイルを直接ロードしたり、ウィンドウをレンダリングしたり、テキストを直接表示したり、システムから入力を取得したりすることはありません。CEGUIは、ユーザー定義のコードを介してこれらとインターフェイスしますが、ソースコードパッケージには、特定のコンポーネントとライブラリを使用するためのモジュールが多数付属しています。
この自由度により、CEGUI はあらゆる種類のリソース管理システムやオペレーティング環境で使用できます。入力はユーザーのコードによって収集され、必要に応じてユーザーが適切と判断してフィルタリングされた後、ウィンドウ処理のために CEGUI に渡されることが想定されています。
CEGUI には、平均的なウィジェット ツールキットのウィジェットに匹敵する適切なウィジェット セットが付属しています。
ツール
CEGUI は、標準の画像、XML、コード編集ツールを使用して完全にカスタマイズできます。ただし、CEGUI には、CEGUI ベースのインターフェイスの設計と開発を支援するためのツールも用意されています。
0.8 より前の CEGUI バージョンでは、インターフェイスのさまざまな側面を編集するための個別のツールが提供されていました。その中で最も注目すべきは、イメージセット エディターとレイアウト エディターです。
CEGUI 0.8以降、CEGUI統合エディタ(CEED)と呼ばれる新しい統合編集ツールが登場し、積極的に開発が進められています。[4]このツールは、GUI開発のあらゆる側面を1つのツールに統合しています。
レンダリング
レンダリングは、バックエンドのレンダリング モジュールによって実行されます。CEGUI は、 Direct3D、OpenGL、OGRE 3D エンジン、およびIrrlicht エンジン用のモジュールを提供します。カスタム エンジン用に他のモジュールを作成することもできます。
CEGUIのGUIコンポーネントはツリー(グラフ)[5]に編成されており、ツリーのトラバーサル順にレンダリングされます。
リソース管理
ファイルの読み込みとリソース管理は、バックエンドの「リソース プロバイダー モジュール」によって処理されます。ユーザーは、リソースへのアクセス方法を定義するカスタム モジュールを作成できます。これにより、ライブラリを事実上すべてのオペレーティング環境で使用できるようになります。デフォルトのリソース プロバイダーはクロスプラットフォームであり、リソースを読み込むための標準的なファイル アクセス メカニズムを提供します。オプションの minizip モジュールを使用すると、zip アーカイブからのリソースの読み込みが可能になります。
メモリ管理
CEGUI には柔軟なメモリ管理システムがあります。このシステムは OGRE に基づいており、クライアントがさまざまな種類のアロケータをさまざまな種類のオブジェクトにマップできるようにします。デフォルトでは、すべてのオブジェクトはオペレーティング システムのデフォルトのアロケータを使用します。CEGUI は、OGRE および nedmalloc アロケータのサポートを提供します。
スクリプト
CEGUI にはオプションのバックエンドスクリプト モジュールがあります。CEGUIではLuaおよびPythonスクリプト モジュールが提供されます。完全な CEGUIアプリケーション プログラミング インターフェイス(API) はスクリプト経由で利用できるため、クライアントはスクリプト環境内でウィンドウを作成し、関係を定義し、イベントを処理できます。
見た目と感触
CEGUI には、さまざまなウィジェットの外観と操作性を定義する強力なシステムがあります。Falagard と呼ばれるこのシステムでは、ユーザーが希望する場合は、XML ファイルまたは C++ コードを使用してウィジェットの外観を定義できます。また、任意のウィジェットのレイアウト動作を変更することもできます。
アニメーション
CEGUI にはアニメーション システムが組み込まれています。このシステムでは、ウィンドウの移動やサイズ変更から色の変換や画像のシーケンスまで、多くの標準的な遷移効果を実現できます。アニメーションは XML で定義でき、任意のイベントによってトリガーできます。クライアントは、キー フレームとしてのウィンドウ プロパティ、フレーム間の遷移方法、およびフレーム間の遷移時間を指定できます。
ユニコード
CEGUI はUnicodeに対応しており、オプションのバックエンドBidi モジュールを介して双方向言語をサポートしています。このサポートは、MiniBidi または FriBidi によって提供されます。
ライブラリの依存関係
CEGUI は外部ライブラリに依存せずに構築できます。ただし、一般的な構成では、FreeType、レンダリング モジュール、XML パーサー モジュール、およびイメージ コーデック モジュールが必要です。CEGUI はモジュール設計のおかげで、すでにいくつかの外部ライブラリをサポートしています。
Ogre3DライブラリはUIにCEGUIライブラリに依存していましたが[9]、Ogre3Dはその後、よりスリムで機能も少ない独自のUIソリューションを組み込むように変更されました。
リリース履歴
参照
参考文献
- ^ https://github.com/cegui/cegui/releases/tag/v0-8-7
- ^ 「Simple DirectMedia Layer - ライセンス」。
- ^ MacDonald, Mickey (2018年1月29日). Mastering C++ game development : create professional and Reality 3D games using C++ 17 . バーミンガム、イギリス. ISBN 978-1-78862-983-6. OCLC 1023864109.
{{cite book}}: CS1 メンテナンス: 場所が見つかりません 発行者 (リンク) - ^ CEED
- ^ パーベイシブコンピューティングとネットワーク化された世界:合同国際会議、ICPCA/SWS 2012、トルコ、イスタンブール、2012年11月28〜30日、改訂された選択された論文。Zu、Qiaohong、Hu、Bo、Elçi、Atilla、IEEE Symposium on Web Society(2012:トルコ、イスタンブール)。ベルリン:Springer。2013年。ISBN 978-3-642-37015-1. OCLC 830532405.
{{cite book}}: CS1 メンテナンス: その他 (リンク) - ^ 「SILLY - CEGUI Wiki - Crazy Eddie の GUI システム (オープン ソース)」。
- ^ 「PyCEGUI - CEGUI Wiki - Crazy Eddie の GUI システム (オープン ソース)」。
- ^ 「ホーム」. fribidi.org .
- ^ Thorn, Alan. (2008).クロスプラットフォームゲーム開発. テキサス州プラノ: Wordware Pub. ISBN 978-1-59822-056-8. OCLC 213408662.
- ^ 「Crazy Eddies GUI システム (CEGUI) - SourceForge.net で /CEGUI Mk-2/0.1.0 を参照」。
外部リンク
- 公式サイト
