セリフは台詞とも科白とも書く…
そんなことはさておき、ここからが本題ですが
今開発中のゲームの中で、キャラクターにセリフを言わせる必要があります
DXライブラリを使用しているのでDrawStringToHandle関数を使って、普通に文字列を表示させればいいかなと思っていました
でも僕は「指定のフォントがパソコンの中に入っていなければ、文字は表示されない」という問題があることを知っていました
知っていて敢えてこの方法を取りました、「MSゴシック」ならば通常どのパソコンにもデフォルトで入っていると思ったからです
でもやっぱり100%どのパソコンにも入っているという保証は(おそらく)無いですよね? ではやはりこの方法は確実ではないでしょうか?
やはり(物凄く手間は掛りますが)そのセリフを書いた画像を用意して、それを描画する方が確実でしょうか?
どちらの方法がいいのか、または他にいい方法があるのか
どなたか教えてください
【雑談?】ゲームで表示する文字(セリフ)
【雑談?】ゲームで表示する文字(セリフ)
♪僕たちは まだ森の中 抜け出そう 陽のあたる場所へ
Re: 【雑談?】ゲームで表示する文字(セリフ)
MSゴシックとMS明朝は日本語版ウィンドウズなら必ず入ってますよ。
設定用ダイアログとか用意して、フォントを選択できるようにするのが親切かと思います。
ノベル系のゲームだとそういう機能が付いてます。
オリジナルフォントを用意してAddFontResourceExでセットして使うという手もあります。
設定用ダイアログとか用意して、フォントを選択できるようにするのが親切かと思います。
ノベル系のゲームだとそういう機能が付いてます。
オリジナルフォントを用意してAddFontResourceExでセットして使うという手もあります。
Re: 【雑談?】ゲームで表示する文字(セリフ)
台詞中心のゲームということであれば、やはり文字を動的にレンダリングするのがよいと思います。
OSデフォルトのフォントを指定してもいいですし、ファイルサイズやライセンスの問題もあるものの、
必要なフォントを同梱して起動時にロードする方法もあります。
(MSゴシックをはいかにも安っぽく見えてしまう気がしてあまり好きではないので、
僕だったらOSデフォルトのフォントを指定するとき、メイリオが入っている場合はそちらを優先させるかもしれません)
ただ、DXライブラリのフォントエンジンはアンチエイリアシングの品質が悪く、
小さい文字などは潰れて読みにくくなってしまいますのでそういう場合に局所的に画像を使用するのはありだと思います。
OSデフォルトのフォントを指定してもいいですし、ファイルサイズやライセンスの問題もあるものの、
必要なフォントを同梱して起動時にロードする方法もあります。
(MSゴシックをはいかにも安っぽく見えてしまう気がしてあまり好きではないので、
僕だったらOSデフォルトのフォントを指定するとき、メイリオが入っている場合はそちらを優先させるかもしれません)
ただ、DXライブラリのフォントエンジンはアンチエイリアシングの品質が悪く、
小さい文字などは潰れて読みにくくなってしまいますのでそういう場合に局所的に画像を使用するのはありだと思います。
Re: 【雑談?】ゲームで表示する文字(セリフ)
描画品質にこだわるなら…
GetGlyphOutlineというWindows APIを使うと階調付きでフォントをレンダリングしたビットマップを得ることができます。
大きめにレンダリングして自前で縮小すればさらに品質を上げることができます。
ただしフォントのレンダリング処理は重いので、ひらがな等使用頻度の高いフォントをあらかじめレンダリングしておいたり、レンダリングしたフォントを再利用するキャッシュを実装したりといった工夫が必要です。
GetGlyphOutlineというWindows APIを使うと階調付きでフォントをレンダリングしたビットマップを得ることができます。
大きめにレンダリングして自前で縮小すればさらに品質を上げることができます。
ただしフォントのレンダリング処理は重いので、ひらがな等使用頻度の高いフォントをあらかじめレンダリングしておいたり、レンダリングしたフォントを再利用するキャッシュを実装したりといった工夫が必要です。
Re: 【雑談?】ゲームで表示する文字(セリフ)
おぉ、お二人のご教授のお陰で早くも問題解決しちゃいました
ありがとうございます~
h2so5さんがおっしゃる通り、フォントデータを用意して
それをISLeさんが教えてくださったAddFontResourceEx関数でセットして使うようにしました
セリフ部分は半ば「あるだけ」なので画質にはそこまでこだわらない
だから楽チン且つ確実な方法で行くことにします(使うフォントはフリーのヤツ)
改めまして…、お二方ともありがとうございました~
ありがとうございます~
h2so5さんがおっしゃる通り、フォントデータを用意して
それをISLeさんが教えてくださったAddFontResourceEx関数でセットして使うようにしました
セリフ部分は半ば「あるだけ」なので画質にはそこまでこだわらない
だから楽チン且つ確実な方法で行くことにします(使うフォントはフリーのヤツ)
改めまして…、お二方ともありがとうございました~
♪僕たちは まだ森の中 抜け出そう 陽のあたる場所へ