フォントハンドル値が異常です と出ます・・・
Posted: 2008年8月02日(土) 23:36
初めまして。
最近DXライブラリを使い始めた者なのですが、うまくいきません。
一応、エラーはないので実行はできますが・・・(WinMain関数の内容のみ)
環境は
OS : Windows Vista
コンパイラ : VC++
です。コードは、
こんな感じです。マクロ定義は問題ないので気にしないでください。
WinMain関数でDrawStringToHandle関数を使用しても問題はなかったのですが、
menu関数で使用すると 出力 の所に"フォントハンドル値は異常です"と出てしまい、
何も画面に表示されません。それどころか画像等も表示されません。
また、DrawStringTo...を呼んだ回数だけ出力に表示されています。
それと、//1//の部分で、
if(minntyo == -1 || b_minntyo == -1)
printfDx("フォントが作成できません。");
と、実行もしているのですが問題ないようです。
ちなみに、バイナリファイルを扱う前はmenu関数のDrawStringTo...もちゃんと機能していました。
原因が分かる方、お願いします。
最近DXライブラリを使い始めた者なのですが、うまくいきません。
一応、エラーはないので実行はできますが・・・(WinMain関数の内容のみ)
環境は
OS : Windows Vista
コンパイラ : VC++
です。コードは、
//WinMain関数// { ChangeWindowMode(TRUE); SetGraphMode(800,600,16); //宣言等は省略します。// minntyo = CreateFontToHandle("明朝体",40,3,DX_FONTTYPE_ANTIALIASING);//文字のセット用 DrawStringToHandle(MENUX , MENUY + SMALL ,"ゲームスタート", white , minntyo ); DrawStringToHandle(MENUX + StrLen[1] + (SPACE * 3) , MENUY + SMALL,"ゲーム終了",white ,minntyo ); //上の場合、y400の位置にゲームスタートなどが描写されます menu(・・・省略)//ここでmenu関数へ行きます "minntyo"は渡していません DxLib_End(); return 0; } int menu(…省略) { int minntyo , b_minntyo; minntyo = CreateFontToHandle("明朝体" , 20 , 2 , DX_FONTTYPE_ANTIALIASING); b_minntyo = CreateFontToHandle("明朝体" , 30 , 2 , DX_FONTTYPE_ANTIALIASING); //1// //ここでバイナリファイルを扱います DrawStringToHandle( SPACE2 + sizex + SPACE3 + STRINGSPACE , SPACE2 + STRINGSPACE , "データ2" , white , b_minntyo); DrawStringToHandle( SPACE2 + STRINGSPACE , (SPACE2 * 2) + sizey + STRINGSPACE + SPACE3 , "データ消去" , white , minntyo ); //上の場合だと何故か描写されない・・ //省略// return 0; }
こんな感じです。マクロ定義は問題ないので気にしないでください。
WinMain関数でDrawStringToHandle関数を使用しても問題はなかったのですが、
menu関数で使用すると 出力 の所に"フォントハンドル値は異常です"と出てしまい、
何も画面に表示されません。それどころか画像等も表示されません。
また、DrawStringTo...を呼んだ回数だけ出力に表示されています。
それと、//1//の部分で、
if(minntyo == -1 || b_minntyo == -1)
printfDx("フォントが作成できません。");
と、実行もしているのですが問題ないようです。
ちなみに、バイナリファイルを扱う前はmenu関数のDrawStringTo...もちゃんと機能していました。
原因が分かる方、お願いします。