DXライブラリの文字入力について
Posted: 2010年7月19日(月) 21:57
始めましてプログラミング初心者ですが、
c言語の参考書とDXライブラリのサンプルを見ながらゲームを作っている者です。
下のプログラムでつまずいてしまいました。
char Name[25];//文字配列宣言
strcpy(Name,"");//文字配列初期化
int InputHandle;//データハンドル
// 描画先を裏にする
SetDrawScreen( DX_SCREEN_BACK ) ;
// キー入力ハンドルを作る(キャンセルなし全角文字あり数値入力じゃなし)
InputHandle = MakeKeyInput( 10 , FALSE , FALSE , FALSE );
//作成したキー入力ハンドルをアクティブにする
SetActiveKeyInput( InputHandle );
while( !ProcessMessage() )
{
//入力が終了している場合は終了
if( CheckKeyInput( InputHandle ) != 0 ) break;
// 画面の初期化
ClearDrawScreen() ;
//入力途中の文字列を描画
DrawKeyInputString( 0, 0, InputHandle );
// 裏画面の内容を表画面に反映させる
ScreenFlip() ;
}
//入力された文字列を所得
GetKeyInputString( Name , InputHandle );
if(Name!="")//もし入力してあるなら
{
//処理1
}
else//入力してないなら(文字を入力せずにEnterを押した場合)
{
//処理2
}
文字を入力せずにEnterを押したとき、処理が処理2にいってほしいのですが、
処理2に行かず処理1にいってしまいます。
どうしても、解らないのでどうぞよろしくお願いいたします。
c言語の参考書とDXライブラリのサンプルを見ながらゲームを作っている者です。
下のプログラムでつまずいてしまいました。
char Name[25];//文字配列宣言
strcpy(Name,"");//文字配列初期化
int InputHandle;//データハンドル
// 描画先を裏にする
SetDrawScreen( DX_SCREEN_BACK ) ;
// キー入力ハンドルを作る(キャンセルなし全角文字あり数値入力じゃなし)
InputHandle = MakeKeyInput( 10 , FALSE , FALSE , FALSE );
//作成したキー入力ハンドルをアクティブにする
SetActiveKeyInput( InputHandle );
while( !ProcessMessage() )
{
//入力が終了している場合は終了
if( CheckKeyInput( InputHandle ) != 0 ) break;
// 画面の初期化
ClearDrawScreen() ;
//入力途中の文字列を描画
DrawKeyInputString( 0, 0, InputHandle );
// 裏画面の内容を表画面に反映させる
ScreenFlip() ;
}
//入力された文字列を所得
GetKeyInputString( Name , InputHandle );
if(Name!="")//もし入力してあるなら
{
//処理1
}
else//入力してないなら(文字を入力せずにEnterを押した場合)
{
//処理2
}
文字を入力せずにEnterを押したとき、処理が処理2にいってほしいのですが、
処理2に行かず処理1にいってしまいます。
どうしても、解らないのでどうぞよろしくお願いいたします。