2Dフォントの管理 + メッセージシステムの管理をします。
※機能的に最低限のもののみ実装しているので改良はご自由にしてください。
色々修正しました 2009.09.25
- C2DFontSpriteManagerが管理出来るパックファイル(.spb)を事実上無制限にしました。
- Release 01.13 : 2009.09.24で動作を確認しました。
使い方
①まず使用するフォントのパックファイルを読み込みます
使用するフォントのパックファイルを予め全て読みこんでおきます。
尚、ここに登録されていないパックファイルからBindした場合適時パックファイルごと読み込みます。
例
const wchar_t* pFontPackList[] = {
L"Font.spb",
L"GUI.spb",
NULL };
GlobalSystem::SetupFont( pFontPackList );
※このメソッドを使用すると同時にメッセージ管理システムが初期化されますので
必ず呼び出してください。
②次にパックファイル内にある.sffファイルと数値を関連付けます。
これを実行する事で.sffがロードされ、フォントを数値で扱うことが出来ます。
パックファイルがロードされていなかった場合はBind内でロードを行います。
例:GlobalSystem::Get2DFontSpriteManager()->Bind( E_FONT_24, L"Font.spb", L"Font_24.sff" );
これまでの流れでメッセージを扱う準備が整いましたので、実際に使ってみます。
③メッセージオブジェクトを取得します
今後はこのオブジェクトを介してメッセージを操作します。
生成するオブジェクトはFMessageFactory.hにて管理していますので、好きに付け足していってください。
例:C2DMessageBase *pMessageObj = d_cast<C2DMessageBase *>(GlobalSystem::Get2DMessageManager()->CreateMessageObject( E_MESSAGE_BASIC ));
④実際にメッセージを流してみます。
現状メッセージを描画する方法は2通りあり、自動管理と手動管理に分かれています。
自動管理はメッセージ描画から削除まで一通りの動作をマネージャーの方で全て管理します。
手動管理はメッセージ描画はマネージャーで管理しますが、削除は手動で行います。
例:自動管理
pMessageObj->PushMessageData_Auto( E_FONT_24, L"じどうかんりです1。", Point2DI(100,100), 120, 3 );
例:手動管理
pMessageObj->PushMessageData( E_FONT_24, L"しゅどうかんりです。", Point2DI(100,190), 5, ColorF( 0.8f, 0.8f, 0.8f, 1.0f));
⑤手動管理の場合使用終了したら削除依頼を出します
この時削除するデータはPushMessageData()からの戻り値であるデータを渡します。
例:生成と削除
S_MESSAGE_DATA *pData = NULL;
pData = pMessageObj->PushMessageData( E_FONT_24, L"しゅどうかんりです。", Point2DI(100,190), 5, ColorF( 0.8f, 0.8f, 0.8f, 1.0f));
pMessageObj->DeleteMessageData( &pData );
⑥マネージャーの定期処理を回す
メッセージとフォントの管理システムの定期処理を回します。
この命令はSimpleRendering()の後で行わなければいけません
例:メッセージとフォントの管理システムの定期処理を回す
※呼ぶ順番は変えないで下さい。
GlobalSystem::Get2DMessageManager()->Proc();
GlobalSystem::Get2DFontSpriteManager()->Rendering();
準備する事
- プロジェクト内にSeleneフォルダがありますので、ここに公式で配布されている.Libと.hを一通り入れて下さい。
- Binフォルダに.exeが作られるので、同じフォルダにSeleneで配布されている.dllを一通り入れてください。
最終更新:2009年09月25日 02:13