Re: 実行画面が落ちてしまう ( No.1 ) |
- 名前:管理人 日時:2007/03/15 13:10
kurocaさん始めまして、DXライブラリの管理人です。
不思議ですね・・・お使いのPCは日本で発売されている
一般的なPCでしょうか?
とりあえず、最新版のDXライブラリでは正常に描画出来る
かもしれませんので、宜しければこちらをお試しになってみて下さい。
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe
(中身を既存のライブラリのファイルに上書きして、『再構築』をして下さい)
|
Re: 実行画面が落ちてしまう ( No.2 ) |
- 名前:kuroca 日時:2007/03/16 01:52
管理人様、初めまして。よろしくお願いします。
アドバイスありがとうございます。
さっそくご紹介いただいたDXライブラリを使用してみましたが、結果は変わりませんでした。
やはりログテキストにGetGlyphOutline関数が失敗しました、とあります。
使用しているPCですが、SAPPHIREのマザーボードを使って自作しております。
一応パーツは全て日本で揃えたものですが・・・そういえば、OSは英語版を言語設定日本語にして使用していました。
あと特別なものと言えば、TVチューナーボードを挿している事くらいでしょうか。
何か常駐しているアプリと相性が悪いのか、とも疑っていたりします。
|
Re: 実行画面が落ちてしまう ( No.3 ) |
- 名前:管理人 日時:2007/03/16 02:06
kuroca さんどうも、DXライブラリの管理人です。
うーんそうですか・・・
やっぱり気になるのは英語版のOSです。プログラム中で作成される
デフォルトのフォントが日本語が処理できないフォントになっているかも
しれませんので、DxLib_Init の後に
ChangeFont( "MS ゴシック" );
と書いて実行してみて頂けないでしょうか?
|
Re: 実行画面が落ちてしまう ( No.4 ) |
- 名前:kuroka 日時:2007/03/17 00:49
仰る通りに実行した所、正常に動作しました。
ありがとうございました。
ついでに”14歳から始めるC++わくわくゲームプログラミング教室”の第四章のプログラムも同様に実行してみたのですが、こちらは依然として失敗しています。
ログを参照すると、やはりGetGlyphOutline関数が失敗していると出ています。
またデバッガで追ってみるとGetDrawStringWidthToHandle関数で落ちているようです。
やはりOSの言語が問題なのでしょうか。
大学で配布されていたOSを未だに使い続けていたのですが、こういう問題も起こってしまうんですね。難しい・・・。
|
Re: 実行画面が落ちてしまう ( No.5 ) |
- 名前:管理人 日時:2007/03/17 11:39
kurokaさんどうも、DXライブラリの管理人です。
現在手元に『14歳から始めるC++わくわくゲームプログラミング教室』がないので
プログラムは確認できませんが、そのプログラムの中で CreateFontToHandle という
関数が使用されていると思います。その関数の第一引数に使用するフォントの名前を
渡すのですが、宜しければそこに前回と同じ様に『MS ゴシック』という文字列を
渡してみて下さい。
Win32API のフォントハンドルAPIではフォント名を何も指定しないとOSの
デフォルトのフォントが作成されるのですが、恐らく kurokaさんの環境では日本語が
処理できないフォントがデフォルトのフォントとして作成されてしまっているのだと思います。
|
Re: 実行画面が落ちてしまう ( No.6 ) |
- 名前:kuroka 日時:2007/03/18 02:55
管理人様、お世話になっております。
こちらもお教えいただいた通りにフォントをMSゴシックに設定した所、正常に動作しました。
本当にありがとうございました。
OSのデフォルトのフォントがどこで設定されているのか存じませんが、画面のプロパティから表示に使用されるフォントを調べてみた所、
『Tahoma』なる馴染みのないフォントを使用しておりました。
実は諸事情で手放したノートPCで作成した入門プログラムが今の環境でほとんど動かなかった為、
新しい環境を手に入れるまでダメなのかと思っている所でした。
これでまた時間を見つけてコツコツと手をつけられます。
ありがとうございました。
|
Re: 実行画面が落ちてしまう ( No.7 ) |
- 名前:kuroka 日時:2007/03/19 02:08
よろしければもう一つ教えていただけないでしょうか。
こちらは別の環境なのですが、同様に実行画面が描画前に落ちてしまいます。
AppLog.txtにはDirectDrawSurfaceを作成します、という行の次の行でZバッファの取得に失敗しましたとあります。
そこでDirectX診断ツールを実行してみると、DirectDrawアクセラレータは使用可能ですが、
Direct3DアクセラレータとAGPテクスチャアクセラレータは利用できませんとなっていました。
このような環境ではDXライブラリを使用して開発されたプログラムは実行できないのでしょうか?
一度解決した所に恐縮ですが、宜しくお願いします。
|
Re: 実行画面が落ちてしまう ( No.8 ) |
- 名前:wiz 日時:2007/03/19 12:34
2DのゲームならSetUse3DFlag関数でFALSEを
指定すれば作れそうですね。
|
Re: 実行画面が落ちてしまう ( No.9 ) |
- 名前:管理人 日時:2007/03/19 13:33
kurokaさんどうも、DXライブラリの管理人です。
Direct3D が使えない環境でしたら、DxLib_Init の前に
SetUseDirectDrawFlag( FALSE );
と記述した上で実行してみて下さい、Direct3D どころか
DirectDraw の機能も使わないので、恐らく正常に動作すると
思います。(半透明処理や拡大処理などを行う場合
DirectDrawアクセラレータを使用した方が負荷が高いので、
DirectDrawアクセラレータを使用しないで、すべて自前の
ソフトウエア処理を行った方が負荷が安定します)
ただ、SetUseDirectDrawFlag 関数自体は最近追加した関数
ですので、3/15の書き込みにある最新バージョンのライブラリファイル
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe
(中身を既存のライブラリのファイルに上書きして、『再構築』をして下さい)
を、お使い下さい。m(_ _)m
(因みに最新版では SetUseDirectDrawFlag(FALSE);を使用して
いなくても、Zバッファの作成に失敗した場合は自動的に
SetUseDirectDrawFlag(FALSE); の状態で起動するようになっています)
|
Re: 実行画面が落ちてしまう ( No.10 ) |
- 名前:kuroka 日時:2007/03/20 02:29
wiz様、管理人様、レスありがとうございます。
お教えいただいた通り、最新バージョンのライブラリファイルを使用した所、正常に動作しました。
管理人様の最後の記述の通り、明示的にフラグをFALSEに指定しなくとも動作してくれました。
デスクトップとノートがそれぞれこういう癖のある環境達だった為、「う、動かないー!」と半泣きでした(笑)
本当にありがとうございました。
|