最近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...もちゃんと機能していました。
原因が分かる方、お願いします。