トップページ > 過去ログ > 記事閲覧
ClearDrawScreenが上手くいきません。
名前:DirectFuck 日時: 2007/01/18 12:10

「ScreenFlip 関数を使用した後はClearDrawScreen 等を使用して裏ページを初期化して下さい 」 とリファレンスにありますが、ClearDrawScreen関数をおくと 「error C3861: 'ClearDrawScreen': 識別子は、引数依存の照合を使用しても見つかりません。」 とビルド時にエラーがでてしまいます。 ちなみにVer 2.19b (VC++)を使用していまして、ソースは #include "DxLib.h" // プログラムは WinMain から始まります int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { if( DxLib_Init() == -1 ) // DXライブラリ初期化処理 { return -1 ; // エラーが起きたら直ちに終了 } // 画面モードの変更 SetGraphMode( 800 , 600 , 32 ) ; // 透過色を変更 SetTransColor( 0 , 0 , 0 ) ; // test.bmpの読み込み int GHandle[8]; GHandle[0] = LoadGraph( "blue.png" ) ; GHandle[1] = LoadGraph( "green.png" ) ; GHandle[2] = LoadGraph( "red.png" ) ; GHandle[3] = LoadGraph( "brown.png" ) ; GHandle[4] = LoadGraph( "white.png" ) ; GHandle[5] = LoadGraph( "purple.png" ) ; GHandle[6] = LoadGraph( "yellow.png" ) ; GHandle[7] = LoadGraph( "flame.png" ) ; int p1x = 32*3+16, p1y = 32*1+16, p1t = GetRand( 7 ); int p2x = 32*3+16, p2y = 32*2+16, p2t = GetRand( 7 ); int n1x = 32*10, n1y = 32*3, n1t = GetRand( 7 ); int n2x = 32*10, n2y = 32*4, n2t = GetRand( 7 ); while( CheckHitKeyAll() == 0 ) { // メッセージループに代わる処理をする if( ProcessMessage() == -1 ) { break ; // エラーが起きたらループを抜ける } // 画面を初期化 ClearDrawScreen() ; // 描画先画面を裏にする SetDrawScreen( DX_SCREEN_BACK ) ; DrawGraph( 32*6 , 32*2 , GHandle[7] , TRUE ) ; DrawGraph( p1x , p1y , GHandle[p1t] , TRUE ) ; DrawGraph( p2x , p2y , GHandle[p2t] , TRUE ) ; DrawGraph( n1x , p1y , GHandle[n1t] , TRUE ) ; DrawGraph( n2x , p2y , GHandle[n2t] , TRUE ) ; // 裏画面の内容を表画面に反映します ScreenFlip() ; // ここで1秒まつ WaitTimer( 1000 ) ; } DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 } ・・・です。 どうかご教授お願いします。

Page: 1 |

Re: ClearDrawScreenが上手くいきません。 ( No.1 )
名前:Sin 日時:2007/01/18 12:35

下のようにしたら動きませんか? if( DxLib_Init() == -1 ) // DXライブラリ初期化処理 { return -1 ; // エラーが起きたら直ちに終了 }      SetDrawScreen( DX_SCREEN_BACK ) ; //------------------------------- 以下whileまで同じ //------------------------------- while( CheckHitKeyAll() == 0 ) { // メッセージループに代わる処理をする if( ProcessMessage() == -1 ) { break ; // エラーが起きたらループを抜ける } // 画面を初期化 ClearDrawScreen() ; // 描画先画面を裏にする DrawGraph( 32*6 , 32*2 , GHandle[7] , TRUE ) ; DrawGraph( p1x , p1y , GHandle[p1t] , TRUE ) ; DrawGraph( p2x , p2y , GHandle[p2t] , TRUE ) ; DrawGraph( n1x , p1y , GHandle[n1t] , TRUE ) ; DrawGraph( n2x , p2y , GHandle[n2t] , TRUE ) ; // 裏画面の内容を表画面に反映します ScreenFlip() ; // ここで1秒まつ WaitTimer( 1000 ) ; }
動作しませんでした・・・。 ( No.2 )
名前:DirectFuck 日時:2007/01/18 13:31

すばやい回答ありがとうございます。 しかし残念ながら同じエラーがでてしまいました。
Re: ClearDrawScreenが上手くいきません。 ( No.3 )
名前:通りすがり 日時:2007/01/18 14:02

ライブラリのバージョンが古いから ClearDrawScreen関数がないだけでしょ。 かわりにClsDrawScreen関数を使えばいいはず。
上手くいきました。 ( No.4 )
名前:DirectFuck 日時:2007/01/18 16:32

通りすがりさんの指摘どおりのようです。 ありがとうございました。
Re: 申し訳ないです ( No.5 )
名前:Sin 日時:2007/01/18 21:39

的外れ回答申し訳ありません

Page: 1 |