退廃的ソースコードコンテナ

ゲームシステムを組むのが好きな人の備忘録

【DirectWrite】DirectX11でフォントファイルを読み込んで文字を描画できるクラスを作った【DirectX】

今回はDirectWriteを使って、ttf形式などのフォントファイルを読み込んで文字列を描画するクラスを作りました。

 

以前作ったDirectWriteのクラスをアップデートしたものになります(1年ぶり)

この記事の中だと「フォントの埋め込み」とか言ってるやつですね。

islingtonsystem.hatenablog.jp

 

どういうメリットがあるの?

実行環境に左右されず、フォントファイルを指定できる

DirectWriteでシステムフォント(PC内にインストール済みのフォント)を使用すると相手先の実行環境に左右される欠点がありますが、フォントファイルを一緒に配布してそこから読み込めば、自分の意図したフォントを使用することができます。

 

自作したフォントファイルをゲーム内で使用できる

ttf形式など、一般的なフォントファイルに対応しているので、

自作したフォントファイルをゲーム内で呼び出して使用することもできます。

 

文字の描画が楽になるよ

これはDirectWriteを使用するメリット。

簡単なスコア表示からセリフ表示まで、DirectXでゲームを作る際は役立ちます。

learn.microsoft.com

 

今回は前回のDirectWriteの記事と同様に、

すぐ使えるDirectWriteのクラスを目指して設計しました。

よければお使いください。

続きを読む

【Unity】呼び出すだけでゲーム内にウィンドウが表示されるシステムを作ってみた

皆さんこんにちは。

今回は、Unityのゲーム内ウィンドウを表示するスクリプトを紹介します。

 

早速ですが、ゲーム内ウィンドウってどうやって表示していますか?

例えば、ゲーム終了時の「本当に終了しますか?」だったり、セーブデータを消去時の「本当に終了しますか?」の確認に使うウィンドウですが、表示方法は千差万別、様々あると思います。

 

今回は、Instantiateでウィンドウを生成するタイプのシステムで作ってみます。

また、処理もウィンドウ内で行うのでスクリプト簡潔に済みます。

 

ソースコード活用例も載っているので、よろしければ最後までお読みください。

続きを読む

【DirectX】DirectX11で文字を表示できるDirectWriteのクラスを作った【DirectWrite】

皆さんこんにちは。

DirectXの環境で開発するとき、文字の表示方法ってどうしていますか?

一番簡単なのが別のソフトを使ってテクスチャに文字を書き込み、表示する方法だと思います。

しかし、実はMicrosoftが文字を描画するAPIを用意しています。

 

それがDirectWriteです。

docs.microsoft.com

 

DirectWrite自体はMicrosoftチュートリアルを用意しているのですが、

今回は、自分が作ってみたすぐに使えるDirectWriteクラスを紹介します。

最後までお読み頂ければ幸いです。

 

アップグレード版の紹介

フォントファイルからフォントの読み込み可能にしたバージョンを公開しました。

DirectWriteの軽い解説も載っているので、ご一緒にご覧ください。

islingtonsystem.hatenablog.jp

続きを読む

【Unity】エースコンバット風の方向を示す矢印を作りたい

皆さんこんにちは。

早速ですが、エースコンバットってご存知ですか?

 

エースコンバットとは歴史ある由緒正しい戦闘機シミュレーションゲームなのですが、色々と「エースコンバットといえばこれだよ!」というUIがあります。

 

そのうちの一つが、HUD(ヘッドアップディスプレイ)に表示されるこれ。

ロックオンした敵の方向を示す矢印(画面中央)

これです!

ロックオンした敵の方向を示す矢印!!!

 

「Unityの3Dアクションゲームでもこれ作りてえな~」ってことで、作ってみましたので方法を紹介します。

よければ、最後までご覧ください。

続きを読む

【Unity】システム作るならオーバーロードを有効活用したい

こんにちは。

ゲーム作ってたら、いつの間にか裏方のシステム周りばっかりを担当することになっていた人間です。

 

ところで、Unity標準として用意されている関数を使っていたら、こんなウィンドウが現れたのを見たことがないですか?

続きを読む