トップページ > 過去ログ > 記事閲覧
画面いっぱいに描画できません
名前:お父さん 日時: 2006/10/27 19:03

「わくわくC…」のp78のプログラム(画面の右下に正方形を描くプログラム)で描画できません。 描画範囲が(0,0)-(452,350)ぐらいに限られてしまうようです。 調べて見ましたところ、SetDrawScreen(DX_SCREEN_BACK);でいったん裏画面に描画し、それをScreenFlip();で切り替えると 画面右下いっぱいまで意図したとおり描画できます。 要するに、下のプログラムで、SetDrawScreenとScreenFlipを有効にすれば画面右下一杯に水色と紫の四角形が描画されますが、 無効にすると、画面中央あたりに、右側と下側に紫の線が引かれた細長い水色の長方形が描画されるだけの結果になって しまいます。 #include "DxLib.h" int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, INT Nc) { ChangeWindowMode(TRUE); if(DxLib_Init()==-1) return -1; //SetDrawScreen(DX_SCREEN_BACK); // 描画対象画面の指定 DrawBox(420,160,640,480,65535,TRUE); DrawBox(452,160,640,480,0xff00ff,TRUE); DrawBox(420,350,640,480,0xff00ff,TRUE); //ScreenFlip(); WaitKey(); DxLib_End(); return 0; } ログファイルは以下です。 0:システムの情報を出力します 10: DXライブラリ Ver2.22d 10: OS Windows2000 ( Build 2195 Service Pack 4 ) 110: CPU動作速度:大体0.89GHz 110: MMX命令を使用します 110: CPUベンダ:GenuineIntel 112:COMの初期化... 成功しました 116:ソフトの二重起動検査... 二重起動はされていませんでした 117:メモリ総量:255.48MB 空きメモリ領域:131.95MB 117:ソフトの実行優先レベルを上げました 117:ウインドウクラスを登録します... 登録に成功しました 118:ウインドウモード起動用のウインドウを作成します 132:IMEを無効にしました 134:タイマーの精度を検査します 138:精度結果 更新回数 マルチメディアタイマー:1 パフォーマンスカウンター:60 139:パフォーマンスカウンターを使用します タイマー分解能 : 3579.545000 KHz 340:ウインドウスタイルをウインドウモード用に変更します... 完了 342:DirectInput関係初期化処理 342: DirectInput7 の取得中... 成功 368: 引き続き初期化処理... 初期化成功 369: ジョイパッドの初期化... 377: ジョイパッドの初期化は正常に終了しました 377: マウスデバイスの初期化... 初期化成功 378: キーボードデバイスの初期化... 初期化成功 382:DirectInput 関連の初期化は正常に終了しました 383:DirectSound の初期化を行います 384:DirectSound インターフェースの取得を行います.... 成功 388:引き続きインターフェースの初期化処理... 成功 494: DirectSound デバイスを列挙します 496: モジュール名: ドライバ記述:プライマリ サウンド ドライバ 497: モジュール名: yacxg.sys ドライバ記述:YAMAHA AC-XG WDM Audio 497: 最大サンプリングレート:48.00KHz 最小サンプリングレート:44.10KHz 497: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 500: 利用可能サンプリング精度 500: プライマリ 16bit = OK 8bit = NO 500: セカンダリ 16bit = OK 8bit = NO 500: 利用可能チャンネル 501: プライマリ MONO = OK STEREO = OK 501: セカンダリ MONO = OK STEREO = OK 501:DirectSound の初期化は正常に終了しました 503:DirectDraw 関連の初期化を行います 503: DirectDraw オブジェクトの取得を行います.... 成功 508: 引き続き初期化処理... 初期化に成功しました 511: ビデオカードの情報 511: 画面モード変更処理を開始します 573: 画面モードの変更処理を開始します 640 x 480 16 bit 574: ウインドウモードにします 574: 画面モードの変更は正常に終了しました 574: カラー情報 575: A:00000000 B:00ff0000 G:0000ff00 B:000000ff 575: ウインドウスタイルをウインドウモード用に変更します... 完了 575: 出力画面用の DirectDrawSurface を作成します 592: 各スクリーンメモリの配置位置 592: PrimaryBuffer : VIDEOMEMORY 593: BaskBuffer : VIDEOMEMORY 593: 出力画面用の DirectDrawSurface の作成は正常に終了しました 594: Direct3D 関連の初期化を行います 596: Direct3Dオブジェクトを取得します 598: Direct3Dオブジェクトを取得しました 600: 3Dデバイスを作成します... 3Dデバイスの作成に成功しました 603: テクスチャ最大幅:1024 最小幅:1 604: 描画制限: D_D3DPTEXTURECAPS_POW2 = 1 D_D3DPTEXTURECAPS_SQUAREONLY = 0 604: テクスチャピクセルフォーマット 604: 通常グラフィック用 604: BIT:16 RED:5 GREEN:6 BLUE:5 605: RED:00f800 GREEN:0007e0 BLUE:00001f 606: BIT:32 RED:8 GREEN:8 BLUE:8 606: RED:ff0000 GREEN:00ff00 BLUE:0000ff 607: アルファチャンネル付きグラフィック用 607: BIT:16 ALPHA:4 RED:4 GREEN:4 BLUE:4 607: ALPHA:0000f000 RED:00000f00 GREEN:000000f0 BLUE:0000000f 607: BIT:32 ALPHA:8 RED:8 GREEN:8 BLUE:8 607: ALPHA:ff000000 RED:00ff0000 GREEN:0000ff00 BLUE:000000ff 608: Direct3D 関連の初期化は正常に終了しました 608: グラフィック管理系の初期化を行います 611: 3Dグラフィック描画機能を使用します 613: フォントの初期化を行います 631: フォントの初期化は正常に終了しました 632: グラフィック管理系の初期化は正常に終了しました 3036: サーフェス間転送には BitBlt を使用します 3036: BitBlt:1182139μs BltFast:1198581μs 3037: スキャンラインの数:768 3095: 1フレーム当たりの時間は 16 msecです 3095: Tri00:16 msec 3096: Tri01:0 msec 3096: Tri02:16 msec 3096: Tri03:1 msec 3096: 画面モード変更処理は正常に終了しました 3122: オーバーレイサーフェスを使用します    UYVY 3123: DirectDraw 関連の初期化は正常に終了しました 3132: 文字コードバッファの初期化を行います... 完了しました 6472: ウインドウを閉じようとしています 6486: ウインドウが破棄されようとしています 6487: ソフトを終了する準備が整いました 6490: DirectDraw 関連の終了処理をおこないます 6492: フォントの初期化を行います 6508: フォントの初期化は正常に終了しました 6510: グラフィック管理系の終了処理は正常に終了しました 6510: Direct3D 関連の終了処理を行います 6511: 3Dデバイスの削除は正常に終了しました 6513: Direct3D 関連の終了処理は正常に終了しました 6514: メインサーフェスを破棄をします... 完了しました 6514: DirectDrawオブジェクトを解放します 6515: DirectDrawオブジェクトを解放しました 6516: DirectDraw 関連の終了処理は正常に終了しました 6516: DirectInput 関連の終了処理... 完了 6755: DirectSound の終了処理は正常に終了しました 6756: 6756: Alloc memory dump Total size:0(0.000kb) Alloc num:0 6757: フロント画面の描画範囲が(0,0)-(640,480)に設定されていないように思うのですが、どうしてこうなるのでしょうか。 VC++用、BCC用どちらでもこうなります。 追記: 今、家にある別のパソコンでExeファイルを実行してみましたら、そちらでは、問題なく右端まで描画されました。 ますますわけがわからなくなりました。 2.ChangeWindowMode(FALSE); にして全画面表示にすると、私のパソコンでも、右端まで表示されました。 ただし、長方形の色は、白と青になりました。 3.SetScreenMemToVramFlag( FALSE ); にしても右端まで描画されました。ただし色は、やはり白と青になりました。 これで描画できるということは、ビデオカードが古いのでどうしようもないということになるのでしょうか? でも、裏画面に描画して画面を切り替えればちゃんと描画できるなら、表画面に描いてもちゃんと描画できるはずだと 思うのですが、どうでしょうか?

Page: 1 | 2 |

Re: 画面いっぱいに描画できません ( No.6 )
名前:お父さん 日時:2006/10/29 04:23

管理人様 遅くまでありがとうございます。 テストプログラムを試してみましたら、おっしゃるとおり画面の左上から640X480ぐらいの範囲が水色に塗りつぶさ れました。 グラフィックチップは、 1004: ビデオカードの情報 2083: ビデオカードドライバ:ati2drab.dll バージョン:0.0.0.0 2085: ドライバ記述:ATI RAGE MOBILITY-M1 PCI (Japanese) 2085: ビデオメモリ総量:4.99MB ビデオメモリ空き容量:4.98MB ということでよろしいのでしょうか。 お手数をかけますが、よろしくお願いします。
Re: 画面いっぱいに描画できません ( No.7 )
名前:管理人 日時:2006/10/30 13:20

 お父さんさんどうも、DXライブラリの管理人です。  想定通りの動作となったようで何よりです。  ただ、RAGE MOBILITY-M1 でDXライブラリの3D機能使用 動作をさせるのはちょっと難しいかもしれません。  というのも、ドライバがしっかりしていれば問題ないと思うのですが、 この頃の3D機能搭載チップは癖があり、DirectX 的には正しい処理を していても、正常な描画結果が出なかったりすることが多々あったからです。 (商業ソフトであれば売り上げに関るので予算と時間を割いて「癖」を 回避して正常に描画出来るように調整しますが、DXライブラリでは 個人で管理しているので限界があります)  なので、今回の件を回避することは可能かもしれませんが、こちらの チップで3D機能を使用する設定でDXライブラリをお使いになると、 今後も正常な結果が得られないことが度々起こるかもしれません。  ここで最初のお書き込みにあるご質問にお答えしますと > これで描画できるということは、ビデオカードが古いのでどうしようもないということになるのでしょうか?  どうしようもないということはありません。ただ、古いビデオカードでも 正常な結果を出すことが可能ですが、それなりに時間と労力を割く事になります。 (あと、古いビデオカードでは正常に実行できない機能の使用を諦めて 使わないようにすることで対処することもあります)  私の手元には RAGE MOBILITY-M1 を搭載したPCが無いので、今回の 件も含めて今後も不具合の対処にそれなりに時間を割くことになると 思いますが、それでも宜しいでしょうか?  若しくは、3D機能を使用した場合正常に動作しない環境を考慮して 搭載されているチップの性能・機能に左右されない SetScreenMemToVramFlag( FALSE ); のソフトウエアレンダリングモード が在りますので、描画速度は3D機能を使用した場合よりかなり落ちますが、 このモードをお使いになって頂くという手もあります。
Re: 画面いっぱいに描画できません ( No.8 )
名前:お父さん 日時:2006/10/30 17:59

管理人様 いつもありがとうございます。 > 私の手元には RAGE MOBILITY-M1 を搭載したPCが無いので、今回の件も含めて今後も不具合の対処にそれ >なりに時間を割くことになると思いますが、それでも宜しいでしょうか?  これは、時間はかかるけれども、いずれは私のパソコンでも正常に動作するように、対処していただけるとい うことでよろしいのでしょうか? それでしたら、喜んで待たせていただきます。いつもお手数をおかけして申 し訳ありません。 > 若しくは、3D機能を使用した場合正常に動作しない環境を考慮して搭載されているチップの性能・機能に左 >右されないSetScreenMemToVramFlag( FALSE ); のソフトウエア>レンダリングモードが在りますので、描画速 >度は3D機能を使用した場合よりかなり落ちますが、このモードをお使いになって頂くという手もあります。 幸い裏画面からScreenFlip関数を使えば正常に動作するようですから、ゲームなどスピードが要求されるプログラ ミングもちゃんと作れますし、画面の切り替えを使わないのは、スピードを要求されない動きのない簡単なプロ グラムにいちいち画面切り替えを使っていては何かせわしないような気がするというだけの理由ですので、 SetScreenMemToVramFlag( FALSE );を1行追加して使わせてもらいます。前に投稿したときには、これを使う と色が変になるので困ったと思いましたが、Thilfさんにご指摘頂いたように色の設定をGetColorを使ってきちん と設定すれば問題なく描画されることがわかりましたので、スピードが要求されないときにはこのモードで、 スピードが要求されるときには裏画面から描画してというふうに使い分けていきたいと思います。 ただ、ひとつだけ分からないのは、どうして裏画面から描画してScreenFlip関数を使って表画面にアクセスする とうまくいくのに、直接表画面に描くとうまくいかないのかということです。もし、私のような素人にも分かる ように教えていただけるようでしたら、その理由だけでも簡単にご説明いただけませんでしょうか。これは勿論 管理人様に不満を言っているのではありませんので、誤解なさらないようにお願いしたいのですが、私のような素 人は裏画面がちゃんと設定できるのなら、表画面も同じように設定できるはずだと単純に考えてしまいますので、 そこのところが、不思議でたまらないのです。
Re: 画面いっぱいに描画できません ( No.9 )
名前:mas 日時:2006/10/30 23:50

既に試されていたら申し訳ないのですが… グラフィックカードのドライバの更新はされました? ドライバのバグなどが修正されている可能性もあるので重要です。 古いもののようなので、見つけるのも一苦労かもしれませんが、 ATIのサイトやメーカー製のPCであればメーカーのサイトにあるかもしれません。 (といっても先程ATIのサイトをちらっと見たのですが見つかりませんでした) 検索して探してたら、 ttp://support.packardbell.com/nl/item/index.php?i=NECFIUP04120400&pi=platform_B5 ttp://jp1.gateway.com/helpspot/download/readme/00000337.shtml このようなものも見つかりましたが、 もし導入するとしても自己責任でということで…
Re: 画面いっぱいに描画できません ( No.10 )
名前:管理人 日時:2006/10/31 13:12

 お父さんさんどうも、DXライブラリの管理人です。 > > 私の手元には RAGE MOBILITY-M1 を搭載したPCが無いので、今回の件も含めて今後も不具合の対処にそれ > >なりに時間を割くことになると思いますが、それでも宜しいでしょうか? >  >  これは、時間はかかるけれども、いずれは私のパソコンでも正常に動作するように、対処していただけるとい > うことでよろしいのでしょうか?  半分正解です。  というのも、お父さんさんのご協力も必要になるからです。今回の件も含めて、今後も不具合の対処には お父さんさんのご協力が必要で、私は元より、お父さんさんの時間もそれなりに割いて頂くことになります。 (私の手元には RAGE MOBILITY-M1 が搭載されたPCが無いので、修正できたかどうかのご確認をその都度 お父さんさんにして頂く必要がありますので) > 幸い裏画面からScreenFlip関数を使えば正常に動作するようですから、ゲームなどスピードが要求されるプログラ > ミングもちゃんと作れますし、画面の切り替えを使わないのは、スピードを要求されない動きのない簡単なプロ > グラムにいちいち画面切り替えを使っていては何かせわしないような気がするというだけの理由ですので、 > SetScreenMemToVramFlag( FALSE );を1行追加して使わせてもらいます。前に投稿したときには、これを使う > と色が変になるので困ったと思いましたが、Thilfさんにご指摘頂いたように色の設定をGetColorを使ってきちん > と設定すれば問題なく描画されることがわかりましたので、スピードが要求されないときにはこのモードで、 > スピードが要求されるときには裏画面から描画してというふうに使い分けていきたいと思います。  SetScreenMemToVramFlag 関数を実行すると、DirectDraw と Direct3D の再初期化が行われますので、 頻繁に呼ばれることはお勧めできません。不都合が無ければ、動きのない部分でも裏画面を使用される ようにして下さい。m(_ _;m > ただ、ひとつだけ分からないのは、どうして裏画面から描画してScreenFlip関数を使って表画面にアクセスする > とうまくいくのに、直接表画面に描くとうまくいかないのかということです。もし、私のような素人にも分かる > ように教えていただけるようでしたら、その理由だけでも簡単にご説明いただけませんでしょうか。  それは・・今の所私にも分かりません。  何故なのかが分かれば、今回の件は直ぐにでも解決できると思います。(汗)  ところで mas さんがドライバの更新を勧められていますが、なるべくならお父さんさんが お使いになられているPC用のサポートサイトからダウンロードできるドライバの方が良いと 思います。
Re: 画面いっぱいに描画できません ( No.11 )
名前:お父さん 日時:2006/10/31 15:17

mas様 アドバイスありがとうございます。ドライバの更新は思いつきませんでした。調べてみます。また何かありまし たらよろしくお願いします。 管理人様 ご返事ありがとうございます。 >半分正解です。 > というのも、お父さんさんのご協力も必要になるからです。 もちろん、いくらでも協力させていただきますので、どんどんご指示をください。 > SetScreenMemToVramFlag 関数を実行すると、DirectDraw と Direct3D の再初期化が行われますので、 >頻繁に呼ばれることはお勧めできません。不都合が無ければ、動きのない部分でも裏画面を使用される >ようにして下さい。m(_ _;m はい、そうします。SetScreenMemToVramFlag 関数を使おうと思うのは、昔のN88Basicの画面に四角形や円を描い て絵を描くようなプログラムだけですので、ひとつのプログラムで1回しか使いません。頻繁に画面が切り換わ るような大きなプログラムはSetScreenMemToVramFlag関数は使わないようにしたいと思います。 >それは・・今の所私にも分かりません。 > 何故なのかが分かれば、今回の件は直ぐにでも解決できると思います。(汗) 誠にごもっともです。質問がうかつでした。 これからもよろしくお願いします。
Re: 画面いっぱいに描画できません ( No.12 )
名前:管理人 日時:2006/11/01 13:08

 お父さんさんどうも、DXライブラリの管理人です。 > もちろん、いくらでも協力させていただきますので、どんどんご指示をください。  了解しました。ではとりあえず描画領域がヘンな現象を直すという方向で。  ただ、以降のテストはドライバの更新を試された後にしたいと思います。  ちょっと調べた所、RAGE MOBILITY-M1 は中身は RAGE LT PRO と同じとの ことでしたので、ATI のサポートページから落とせる RAGE LT PRO の ドライバが有効かもしれません。  以下のURLが Windows2000用の RAGE LT PRO のドライバをダウンロードできる ページですので、もしお使いのPC用のサポートページからダウンロードできる ドライバ等が無かったり、直らなかったりした場合はお試しになってみて下さい。m(_ _)m https://support.ati.com/ics/support/KBAnswer.asp?questionID=1302
Re: 画面いっぱいに描画できません ( No.13 )
名前:お父さん 日時:2006/11/01 18:59

管理人様 いつもありがとうございます。 管理人様に教えていただいたページには直接アクセスできませんでしたので、ATIのサポートページから、 W2Krpro402219-54018.exeというのをダウンロードしてみましたが、このドライバは、私のパソコンにはインス トールできませんでした。 自分でもいろいろ調べてみて、また後ほど結果を報告したいと思います。 この問題は我が家のパソコンの中でも私のパソコンだけに起こる問題ですので(古いWindows98のパソコンでも この問題は起こりません)、恐らく他のDxライブラリのユーザーの方々の中でも、こんな問題で困っている人 はいないかもしれません。管理人様にお手数をかけて本当に申し訳ないのですが、やはり自分のパソコンでも正 常に動いて欲しいというのが正直な気持ちですので、おひまな折にでも引き続き対策を考えていただきますよう 宜しくお願いします。
Re: 画面いっぱいに描画できません ( No.14 )
名前:お父さん 日時:2006/11/02 03:27

管理人様 自分なりにいろいろ試してみました結果をご報告いたします。 1.以下のプログラムで、ウィンドウを画面の左上の方に移動してから描画すると、ウィンドウの右下まで、正 常に描画するようです。ウィンドウ内が描画されないというより、ディスプレイの画面全体の中の一部しか、描 画されないようです。これは、ChangeWindowMode(TRUE);を実行したときに、表画面の描画領域は、ウィンドウの 中ではなく、ディスプレイ全体の中の640X480の範囲に設定されるということですね。管理人様にいただいたテスト プログラムの意味がわかったような気がします。(全く的外れなら恥ずかしいですが) #include "DxLib.h" int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, INT nC) { ChangeWindowMode(TRUE); if(DxLib_Init()==-1) return -1; WaitKey(); DrawBox(420,160,640,480,GetColor(0,255,255),TRUE); DrawBox(452,160,640,380,GetColor(255,0,255),TRUE); DrawBox(420,350,640,480,GetColor(255,0,255),TRUE); WaitKey(); DxLib_End(); return 0; } 2.娘のパソコンは、私のとCPUの速度が違うだけで、OSも同じ、グラフィックドライバもほぼ同じ ですが、正常に描画します。私のパソコンはNEC VersaPro VA10J、ドライバは、RAGE MOBILITY-M1 ですが、娘のは、NEC VersaPro VA75H、RAGE MOBILITY-Mです。ちなみに、私のパソコンのドライバ をRAGE MOBILITY-Mに変更してみても正常に描画されませんでした。 以上、何かの参考になればと思いご報告いたします。お手数をお掛けしますが、よろしくお願いします。
Re: 画面いっぱいに描画できません ( No.15 )
名前:管理人 日時:2006/11/02 13:31

 お父さんさんどうも、DXライブラリの管理人です。  色々調べて頂有難うございます、大変参考になります。  今度は、デスクトップ画面の右下まで描画出来るかどうかを テストするために前回のプログラムをパワーアップ(?)させて デスクトップ全体を塗り潰すプログラムを組んでみました。  迷惑なプログラムで申し訳ありませんが、宜しければお試しに なってみて下さい。m(_ _)m http://homepage2.nifty.com/natupaji/temp/DrawBoxTest.zip
Re: 画面いっぱいに描画できません ( No.16 )
名前:お父さん 日時:2006/11/02 16:13

管理人様 いつもありがとうございます。テストプログラムを実行してみましたら、前回のテストプログラムと同じように デスクトップ画面の左上から640X480ぐらいの大きさで水色の長方形が描画されました。下にそのときのLog.txtを 貼っておきます。 0:システムの情報を出力します 10: DXライブラリ Ver2.22e 10: OS Windows2000 ( Build 2195 Service Pack 4 ) 110: CPU動作速度:大体0.63GHz 110: MMX命令を使用します 111: CPUベンダ:GenuineIntel 112:COMの初期化... 成功しました 117:ソフトの二重起動検査... 二重起動はされていませんでした 118:メモリ総量:255.48MB 空きメモリ領域:61.40MB 118:ソフトの実行優先レベルを上げました 119:ウインドウクラスを登録します... 登録に成功しました 120:ウインドウモード起動用のウインドウを作成します 151:IMEを無効にしました 154:タイマーの精度を検査します 157:精度結果 更新回数 マルチメディアタイマー:1 パフォーマンスカウンター:60 158:パフォーマンスカウンターを使用します タイマー分解能 : 3579.545000 KHz 358:ウインドウスタイルをウインドウモード用に変更します... 完了 361:DirectInput関係初期化処理 361: DirectInput7 の取得中... 成功 395: 引き続き初期化処理... 初期化成功 396: ジョイパッドの初期化... 416: 入力装置を見つけました 421: デバイスの登録名:USB Gamepad 421: デバイスの製品登録名:USB Gamepad 423: 周期的エフェクトの作成に失敗しました。 425: ジョイパッドの追加は正常に終了しました 426: ジョイパッドの初期化は正常に終了しました 426: マウスデバイスの初期化... 初期化成功 427: キーボードデバイスの初期化... 初期化成功 430:DirectInput 関連の初期化は正常に終了しました 430:DirectSound の初期化を行います 430:DirectSound インターフェースの取得を行います.... 成功 436:引き続きインターフェースの初期化処理... 成功 576: DirectSound デバイスを列挙します 579: モジュール名: ドライバ記述:プライマリ サウンド ドライバ 581: モジュール名: yacxg.sys ドライバ記述:YAMAHA AC-XG WDM Audio 581: 最大サンプリングレート:48.00KHz 最小サンプリングレート:44.10KHz 582: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 582: 利用可能サンプリング精度 582: プライマリ 16bit = OK 8bit = NO 583: セカンダリ 16bit = OK 8bit = NO 583: 利用可能チャンネル 583: プライマリ MONO = OK STEREO = OK 584: セカンダリ MONO = OK STEREO = OK 584:DirectSound の初期化は正常に終了しました 586:DirectDraw 関連の初期化を行います 587: DirectDraw オブジェクトの取得を行います.... 成功 593: 引き続き初期化処理... 初期化に成功しました 598: ビデオカードの情報 598: 画面モード変更処理を開始します 659: 画面モードの変更処理を開始します 640 x 480 16 bit 659: ウインドウモードにします 660: 画面モードの変更は正常に終了しました 660: カラー情報 660: A:00000000 B:00ff0000 G:0000ff00 B:000000ff 661: ウインドウスタイルをウインドウモード用に変更します... 完了 662: 出力画面用の DirectDrawSurface を作成します 666: 各スクリーンメモリの配置位置 667: PrimaryBuffer : VIDEOMEMORY 667: BaskBuffer : VIDEOMEMORY 668: 出力画面用の DirectDrawSurface の作成は正常に終了しました 668: Direct3D 関連の初期化を行います 669: Direct3Dオブジェクトを取得します 672: Direct3Dオブジェクトを取得しました 674: 3Dデバイスを作成します... 3Dデバイスの作成に成功しました 679: テクスチャ最大幅:1024 最小幅:1 679: 描画制限: D_D3DPTEXTURECAPS_POW2 = 1 D_D3DPTEXTURECAPS_SQUAREONLY = 0 681: テクスチャピクセルフォーマット 682: 通常グラフィック用 682: BIT:16 RED:5 GREEN:6 BLUE:5 682: RED:00f800 GREEN:0007e0 BLUE:00001f 683: BIT:32 RED:8 GREEN:8 BLUE:8 684: RED:ff0000 GREEN:00ff00 BLUE:0000ff 684: アルファチャンネル付きグラフィック用 684: BIT:16 ALPHA:4 RED:4 GREEN:4 BLUE:4 685: ALPHA:0000f000 RED:00000f00 GREEN:000000f0 BLUE:0000000f 685: BIT:32 ALPHA:8 RED:8 GREEN:8 BLUE:8 687: ALPHA:ff000000 RED:00ff0000 GREEN:0000ff00 BLUE:000000ff 687: Direct3D 関連の初期化は正常に終了しました 688: グラフィック管理系の初期化を行います 691: 3Dグラフィック描画機能を使用します 692: フォントの初期化を行います 710: フォントの初期化は正常に終了しました 711: グラフィック管理系の初期化は正常に終了しました 3191: サーフェス間転送には BitBlt を使用します 3192: BitBlt:1218203μs BltFast:1235099μs 3192: スキャンラインの数:768 3248: 1フレーム当たりの時間は 1 msecです 3250: Tri00:15 msec 3250: Tri01:1 msec 3251: Tri02:16 msec 3251: Tri03:1 msec 3251: 画面モード変更処理は正常に終了しました 3252: ビューポートのセットに失敗しました 3252: ビューポートの設定に失敗しました Back Buffer 3279: オーバーレイサーフェスを使用します    UYVY 3279: DirectDraw 関連の初期化は正常に終了しました 3290: 文字コードバッファの初期化を行います... 完了しました 3292: ビューポートのセットに失敗しました 3292: ビューポートの設定に失敗しました Back Buffer 3294: ビューポートのセットに失敗しました 3295: ビューポートの設定に失敗しました Image Buffer 3296: ビューポートのセットに失敗しました 3297: ビューポートの設定に失敗しました Back Buffer 5032: DirectDraw 関連の終了処理をおこないます 5033: フォントの初期化を行います 5054: フォントの初期化は正常に終了しました 5055: グラフィック管理系の終了処理は正常に終了しました 5056: Direct3D 関連の終了処理を行います 5058: 3Dデバイスの削除は正常に終了しました 5059: Direct3D 関連の終了処理は正常に終了しました 5061: メインサーフェスを破棄をします... 完了しました 5062: DirectDrawオブジェクトを解放します 5063: DirectDrawオブジェクトを解放しました 5063: DirectDraw 関連の終了処理は正常に終了しました 5064: DirectInput 関連の終了処理... 完了 5121: DirectSound の終了処理は正常に終了しました 5124: ウインドウを閉じようとしています 5169: ウインドウが破棄されようとしています 5169: ソフトを終了する準備が整いました 6047: 6048: Alloc memory dump Total size:0(0.000kb) Alloc num:0 6050: よろしくお願いします。
Re: 画面いっぱいに描画できません ( No.17 )
名前:お父さん 日時:2006/11/03 18:20

管理人様 管理人様からのご回答を読むと、「(私のパソコンで)3D機能を使うのは難しい…」という風なことが書いて ありますので、管理人様には初めから分かっていたことだと思いますが、SetUse3DFlag(FALSE);と設定しまして も画面一杯に描画されました。プログラムは以下のとおりです。 #include "DxLib.h" int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, INT Nc) { ChangeWindowMode(TRUE); if(DxLib_Init()==-1) return -1; SetUse3DFlag(FALSE); DrawBox(420,160,640,480,GetColor(0,255,255),TRUE); DrawBox(452,160,640,380,GetColor(255,0,255),TRUE); DrawBox(420,350,640,480,GetColor(255,0,255),TRUE); WaitKey(); DxLib_End(); return 0; } 以上ご報告いたします。
Re: 画面いっぱいに描画できません ( No.18 )
名前:管理人 日時:2006/11/05 13:03

 お父さんさんどうも、DXライブラリの管理人です。  画面一杯に表示されませんでしたか・・・  前回のテストプログラムは画面全体のサイズが正しく取得できて いなかった可能性がありますので、明示的にデスクトップの左上から 800x600 までの領域を塗りつぶすというテストプログラムをアップ してみました。 http://homepage2.nifty.com/natupaji/temp/DrawBoxTest.zip (デスクトップのサイズは 1024x768 等、800x600 より大きい 画面にしておいて下さい)  こちらでも正常に表示されなかった場合は、お手数ですが 再度ログファイルを丸ごと貼り付けて下さい。m(_ _)m > 管理人様からのご回答を読むと、「(私のパソコンで)3D機能を使うのは難しい…」という風なことが書いて > ありますので、管理人様には初めから分かっていたことだと思いますが、SetUse3DFlag(FALSE);と設定しまして > も画面一杯に描画されました。プログラムは以下のとおりです。   はい、どうも Direct3D を使って描画する場合に正常に動作しないようです。
Re: 画面いっぱいに描画できません ( No.19 )
名前:お父さん 日時:2006/11/05 14:45

管理人様 いつもありがとうございます。さっそく試してみましたが残念ながら640X480の範囲しか描画されませんでした。 Log.txtを貼っておきます。 0:システムの情報を出力します 0: DXライブラリ Ver2.22e 0: OS Windows2000 ( Build 2195 Service Pack 4 ) 100: CPU動作速度:大体0.83GHz 100: MMX命令を使用します 101: CPUベンダ:GenuineIntel 102:COMの初期化... 成功しました 106:ソフトの二重起動検査... 二重起動はされていませんでした 107:メモリ総量:255.48MB 空きメモリ領域:134.95MB 107:ソフトの実行優先レベルを上げました 108:ウインドウクラスを登録します... 登録に成功しました 108:ウインドウモード起動用のウインドウを作成します 132:IMEを無効にしました 135:タイマーの精度を検査します 138:精度結果 更新回数 マルチメディアタイマー:1 パフォーマンスカウンター:60 139:パフォーマンスカウンターを使用します タイマー分解能 : 3579.545000 KHz 339:ウインドウスタイルをウインドウモード用に変更します... 完了 350:DirectInput関係初期化処理 350: DirectInput7 の取得中... 成功 378: 引き続き初期化処理... 初期化成功 380: ジョイパッドの初期化... 396: 入力装置を見つけました 400: デバイスの登録名:USB Gamepad 401: デバイスの製品登録名:USB Gamepad 416: 周期的エフェクトの作成に失敗しました。 417: ジョイパッドの追加は正常に終了しました 417: ジョイパッドの初期化は正常に終了しました 418: マウスデバイスの初期化... 初期化成功 418: キーボードデバイスの初期化... 初期化成功 420:DirectInput 関連の初期化は正常に終了しました 420:DirectSound の初期化を行います 421:DirectSound インターフェースの取得を行います.... 成功 425:引き続きインターフェースの初期化処理... 成功 528: DirectSound デバイスを列挙します 530: モジュール名: ドライバ記述:プライマリ サウンド ドライバ 531: モジュール名: yacxg.sys ドライバ記述:YAMAHA AC-XG WDM Audio 532: 最大サンプリングレート:48.00KHz 最小サンプリングレート:44.10KHz 532: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 532: 利用可能サンプリング精度 533: プライマリ 16bit = OK 8bit = NO 533: セカンダリ 16bit = OK 8bit = NO 533: 利用可能チャンネル 533: プライマリ MONO = OK STEREO = OK 534: セカンダリ MONO = OK STEREO = OK 534:DirectSound の初期化は正常に終了しました 536:DirectDraw 関連の初期化を行います 536: DirectDraw オブジェクトの取得を行います.... 成功 542: 引き続き初期化処理... 初期化に成功しました 545: ビデオカードの情報 545: 画面モード変更処理を開始します 606: 画面モードの変更処理を開始します 640 x 480 16 bit 606: ウインドウモードにします 607: 画面モードの変更は正常に終了しました 607: カラー情報 607: A:00000000 B:00ff0000 G:0000ff00 B:000000ff 608: ウインドウスタイルをウインドウモード用に変更します... 完了 609: 出力画面用の DirectDrawSurface を作成します 613: 各スクリーンメモリの配置位置 613: PrimaryBuffer : VIDEOMEMORY 614: BaskBuffer : VIDEOMEMORY 614: 出力画面用の DirectDrawSurface の作成は正常に終了しました 614: Direct3D 関連の初期化を行います 616: Direct3Dオブジェクトを取得します 618: Direct3Dオブジェクトを取得しました 619: 3Dデバイスを作成します... 3Dデバイスの作成に成功しました 624: テクスチャ最大幅:1024 最小幅:1 625: 描画制限: D_D3DPTEXTURECAPS_POW2 = 1 D_D3DPTEXTURECAPS_SQUAREONLY = 0 626: テクスチャピクセルフォーマット 627: 通常グラフィック用 627: BIT:16 RED:5 GREEN:6 BLUE:5 627: RED:00f800 GREEN:0007e0 BLUE:00001f 629: BIT:32 RED:8 GREEN:8 BLUE:8 629: RED:ff0000 GREEN:00ff00 BLUE:0000ff 629: アルファチャンネル付きグラフィック用 630: BIT:16 ALPHA:4 RED:4 GREEN:4 BLUE:4 630: ALPHA:0000f000 RED:00000f00 GREEN:000000f0 BLUE:0000000f 630: BIT:32 ALPHA:8 RED:8 GREEN:8 BLUE:8 632: ALPHA:ff000000 RED:00ff0000 GREEN:0000ff00 BLUE:000000ff 632: Direct3D 関連の初期化は正常に終了しました 633: グラフィック管理系の初期化を行います 636: 3Dグラフィック描画機能を使用します 637: Set View port 638: フォントの初期化を行います 655: フォントの初期化は正常に終了しました 656: グラフィック管理系の初期化は正常に終了しました 3120: サーフェス間転送には BltFast を使用します 3120: BitBlt:1222656μs BltFast:1218048μs 3121: スキャンラインの数:768 3181: 1フレーム当たりの時間は 16 msecです 3181: Tri00:16 msec 3182: Tri01:1 msec 3182: Tri02:16 msec 3182: Tri03:0 msec 3183: 画面モード変更処理は正常に終了しました 3184: Set View port 3184: ビューポートのセットに失敗しました 3185: ビューポートの設定に失敗しました Back Buffer 3197: Set View port 3275: オーバーレイサーフェスを使用します    UYVY 3276: DirectDraw 関連の初期化は正常に終了しました 3296: 文字コードバッファの初期化を行います... 完了しました 3298: Set View port 3299: ビューポートのセットに失敗しました 3300: ビューポートの設定に失敗しました Back Buffer 3300: Set View port 3301: Set View port 3302: ビューポートのセットに失敗しました 3302: ビューポートの設定に失敗しました Image Buffer 3303: Set View port 3303: Set View port 3304: ビューポートのセットに失敗しました 3304: ビューポートの設定に失敗しました Back Buffer 3310: Set View port 3311: Check Point 1 3312: Set View port 25245: Set View port 25257: Set View port 25275: Set View port 25294: Set View port 25313: Set View port 25333: Set View port 25351: Set View port 25372: Set View port 25391: Set View port 25411: Set View port 25431: Set View port 25451: Set View port 25470: Set View port 25489: Set View port 25509: Set View port 25527: Set View port 25541: Set View port 25707: Set View port 25767: Set View port 25918: Set View port 26065: Set View port 26077: Set View port 26173: Set View port 26184: Set View port 26280: Set View port 26315: Set View port 26343: Set View port 26355: Set View port 26379: Set View port 26401: Set View port 26425: Set View port 26438: Set View port 26464: Set View port 26491: Set View port 26504: Set View port 26531: Set View port 26543: Set View port 26562: Set View port 26574: Set View port 26587: Set View port 26603: Set View port 26617: Set View port 26629: Set View port 26643: Set View port 26657: Set View port 26670: Set View port 26683: Set View port 26696: Set View port 26709: Set View port 26722: Set View port 26735: Set View port 26747: Set View port 26760: Set View port 26774: Set View port 26786: Set View port 26798: Set View port 26810: Set View port 26821: Set View port 26835: Set View port 26847: Set View port 26859: Set View port 26873: Set View port 26886: Set View port 26898: Set View port 26907: Set View port 26923: Set View port 26946: Set View port 26953: Set View port 27022: Set View port 27030: Set View port 27043: Set View port 27055: Set View port 27067: Set View port 27079: Set View port 27092: Set View port 27106: Set View port 27118: Set View port 27131: Set View port 27145: Set View port 27159: Set View port 27171: Set View port 27177: Set View port 27190: Set View port 27202: Set View port 27215: Set View port 27227: Set View port 27240: Set View port 27266: Set View port 27343: Set View port 27361: Set View port 27387: Set View port 27394: Set View port 27412: Set View port 27443: Set View port 27495: Set View port 27533: Set View port 27571: Set View port 27583: Set View port 27602: Set View port 27618: Set View port 27666: Set View port 27705: Set View port 27718: Set View port 27732: Set View port 27746: Set View port 27758: Set View port 27770: Set View port 27782: Set View port 27794: Set View port 27806: Set View port 27819: Set View port 27831: Set View port 27843: Set View port 27856: Set View port 27869: Set View port 27882: Set View port 27895: Set View port 27909: Set View port 27922: Set View port 27935: Set View port 27949: Set View port 27963: Set View port 28025: Set View port 28027: Set View port 28038: Set View port 28052: Set View port 28065: Set View port 28078: Set View port 28092: Set View port 28105: Set View port 28119: Set View port 28132: Set View port 28146: Set View port 28160: Set View port 28173: Set View port 28186: Set View port 28197: Set View port 28210: Set View port 28223: Set View port 28235: Set View port 28248: Set View port 28260: Set View port 28286: Set View port 28299: Set View port 28313: Set View port 28339: Set View port 28351: Set View port 28364: Set View port 28389: Set View port 28413: Set View port 28425: Set View port 28437: Set View port 28450: Set View port 28462: Set View port 28474: Set View port 28487: Set View port 28500: Set View port 28514: Set View port 28526: Set View port 28541: Set View port 28553: Set View port 28566: Set View port 28579: Set View port 28590: Set View port 28602: Set View port 28614: Set View port 28627: Set View port 28639: Set View port 28652: Set View port 28677: Set View port 28690: Set View port 28703: Set View port 28717: Set View port 28743: Set View port 28777: Set View port 28915: Set View port 28922: Set View port 28935: Set View port 28954: Set View port 29026: Set View port 29034: Set View port 29043: Set View port 29066: Set View port 29092: Set View port 29105: Set View port 29118: Set View port 29144: Set View port 29156: Set View port 29171: Set View port 29228: Set View port 29281: Set View port 29294: Set View port 29308: Set View port 29322: Set View port 29335: Set View port 29348: Set View port 29362: Set View port 29375: Set View port 29387: Set View port 29399: Set View port 29411: Set View port 29424: Set View port 29436: Set View port 29450: Set View port 29471: Set View port 29485: Set View port 29499: Set View port 29511: Set View port 29524: Set View port 29532: Set View port 29541: Set View port 29555: Set View port 29570: Set View port 29584: Set View port 29596: Set View port 29609: Set View port 29621: Set View port 29634: Set View port 29646: Set View port 29659: Set View port 29673: Set View port 29686: Set View port 29699: Set View port 29712: Set View port 29725: Set View port 29738: Set View port 29752: Set View port 29764: Set View port 29780: Set View port 29795: Set View port 29807: Set View port 29820: Set View port 29833: Set View port 29845: Set View port 29859: Set View port 29885: Set View port 29898: Set View port 29911: Set View port 29925: Set View port 29938: Set View port 29951: Set View port 30022: Set View port 30024: Set View port 30032: Set View port 30043: Set View port 30056: Set View port 30069: Set View port 30083: Set View port 30109: Set View port 30118: Set View port 30128: Set View port 30139: Set View port 30151: Set View port 30165: Set View port 30180: Set View port 30194: Set View port 30207: Set View port 30221: Set View port 30233: Set View port 30246: Set View port 30258: Set View port 30271: Set View port 30284: Set View port 30296: Set View port 30319: Set View port 30358: Set View port 30370: Set View port 30384: Set View port 30397: Set View port 30410: Set View port 30425: Set View port 30437: Set View port 30449: Set View port 30462: Set View port 30474: Set View port 30481: Set View port 30499: Set View port 30512: Set View port 30520: Set View port 30548: Set View port 30596: Set View port 30641: Set View port 30658: Set View port 30686: Set View port 30711: Set View port 30737: Set View port 30750: Set View port 30762: Set View port 30776: Set View port 30788: Set View port 30802: Set View port 30815: Set View port 30827: Set View port 30841: Set View port 30852: Set View port 30865: Set View port 30879: Set View port 30893: Set View port 30908: Set View port 30921: Set View port 30933: Set View port 30947: Set View port 30960: Set View port 30973: Set View port 30986: Set View port 31000: Set View port 31013: Set View port 31026: Set View port 31039: Set View port 31052: Set View port 31065: Set View port 31077: Set View port 31089: Set View port 31102: Set View port 31117: Set View port 31129: Set View port 31143: Set View port 31156: Set View port 31168: Set View port 31181: Set View port 31195: Set View port 31208: Set View port 31223: Set View port 31236: Set View port 31248: Set View port 31261: Set View port 31273: Set View port 31285: Set View port 31298: Set View port 31310: Set View port 31322: Set View port 31335: Set View port 31347: Set View port 31361: Set View port 31373: Set View port 31379: Set View port 31398: Set View port 31429: Set View port 31451: Set View port 31492: Set View port 31508: Set View port 31612: Set View port 31933: Set View port 31946: Set View port 31958: Set View port 32024: Set View port 32026: Set View port 32040: Set View port 32047: Set View port 32059: Set View port 32071: Set View port 32084: Set View port 32110: Set View port 33212: ウインドウを閉じようとしています 33258: ウインドウが破棄されようとしています 33258: ソフトを終了する準備が整いました 33262: DirectDraw 関連の終了処理をおこないます 33265: フォントの初期化を行います 33282: フォントの初期化は正常に終了しました 33283: グラフィック管理系の終了処理は正常に終了しました 33284: Direct3D 関連の終了処理を行います 33285: 3Dデバイスの削除は正常に終了しました 33286: Direct3D 関連の終了処理は正常に終了しました 33286: メインサーフェスを破棄をします... 完了しました 33288: DirectDrawオブジェクトを解放します 33289: DirectDrawオブジェクトを解放しました 33290: DirectDraw 関連の終了処理は正常に終了しました 33290: DirectInput 関連の終了処理... 完了 33357: DirectSound の終了処理は正常に終了しました 33357: 33358: Alloc memory dump Total size:0(0.000kb) Alloc num:0 33358: お手数をお掛けしますが、宜しくお願いします。
Re: 画面いっぱいに描画できません ( No.20 )
名前:管理人 日時:2006/11/06 12:22

 お父さんさんどうも、DXライブラリの管理人です。  ログの貼り付け有難うございます。 そして、駄目でしたか・・・・  うーん・・・  今度は、1024x768 の画面で起動するように SetGraphMode で指定 した状態で、デスクトップの左上から 800x600 の範囲を塗り潰すという プログラムを組んでみましたので、宜しければお試し下さい。m(_ _)m http://homepage2.nifty.com/natupaji/temp/DrawBoxTest.zip
Re: 画面いっぱいに描画できません ( No.21 )
名前:お父さん 日時:2006/11/06 19:54

管理人様 どうもありがとうございます。何度もお手数をかけてすみません。今度はうまくいったようです。画面に800X600 ぐらいの大きさで、水色の長方形が描画されました。 念のために、log.txtを貼り付けておきます。 0:システムの情報を出力します 0: DXライブラリ Ver2.22e 0: OS Windows2000 ( Build 2195 Service Pack 4 ) 100: CPU動作速度:大体0.58GHz 100: MMX命令を使用します 101: CPUベンダ:GenuineIntel 102:COMの初期化... 成功しました 107:ソフトの二重起動検査... 二重起動はされていませんでした 108:メモリ総量:255.48MB 空きメモリ領域:154.37MB 109:ソフトの実行優先レベルを上げました 116:ウインドウクラスを登録します... 登録に成功しました 117:ウインドウモード起動用のウインドウを作成します 144:IMEを無効にしました 148:タイマーの精度を検査します 151:精度結果 更新回数 マルチメディアタイマー:1 パフォーマンスカウンター:60 151:パフォーマンスカウンターを使用します タイマー分解能 : 3579.545000 KHz 352:ウインドウスタイルをウインドウモード用に変更します... 完了 370:DirectInput関係初期化処理 370: DirectInput7 の取得中... 成功 405: 引き続き初期化処理... 初期化成功 407: ジョイパッドの初期化... 428: 入力装置を見つけました 432: デバイスの登録名:USB Gamepad 433: デバイスの製品登録名:USB Gamepad 436: 周期的エフェクトの作成に失敗しました。 438: ジョイパッドの追加は正常に終了しました 438: ジョイパッドの初期化は正常に終了しました 439: マウスデバイスの初期化... 初期化成功 440: キーボードデバイスの初期化... 初期化成功 443:DirectInput 関連の初期化は正常に終了しました 443:DirectSound の初期化を行います 444:DirectSound インターフェースの取得を行います.... 成功 449:引き続きインターフェースの初期化処理... 成功 582: DirectSound デバイスを列挙します 585: モジュール名: ドライバ記述:プライマリ サウンド ドライバ 587: モジュール名: yacxg.sys ドライバ記述:YAMAHA AC-XG WDM Audio 588: 最大サンプリングレート:48.00KHz 最小サンプリングレート:44.10KHz 588: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 589: 利用可能サンプリング精度 589: プライマリ 16bit = OK 8bit = NO 589: セカンダリ 16bit = OK 8bit = NO 590: 利用可能チャンネル 590: プライマリ MONO = OK STEREO = OK 590: セカンダリ MONO = OK STEREO = OK 591:DirectSound の初期化は正常に終了しました 594:DirectDraw 関連の初期化を行います 594: DirectDraw オブジェクトの取得を行います.... 成功 600: 引き続き初期化処理... 初期化に成功しました 607: ビデオカードの情報 607: 画面モード変更処理を開始します 667: 画面モードの変更処理を開始します 1024 x 768 16 bit 668: ウインドウモードにします 668: 画面モードの変更は正常に終了しました 669: カラー情報 669: A:00000000 B:00ff0000 G:0000ff00 B:000000ff 669: ウインドウスタイルをウインドウモード用に変更します... 完了 701: 出力画面用の DirectDrawSurface を作成します 918: 各スクリーンメモリの配置位置 918: PrimaryBuffer : VIDEOMEMORY 919: BaskBuffer : VIDEOMEMORY 919: 出力画面用の DirectDrawSurface の作成は正常に終了しました 920: Direct3D 関連の初期化を行います 922: Direct3Dオブジェクトを取得します 926: Direct3Dオブジェクトを取得しました 928: 3Dデバイスを作成します... 3Dデバイスの作成に成功しました 933: テクスチャ最大幅:1024 最小幅:1 934: 描画制限: D_D3DPTEXTURECAPS_POW2 = 1 D_D3DPTEXTURECAPS_SQUAREONLY = 0 937: テクスチャピクセルフォーマット 937: 通常グラフィック用 938: BIT:16 RED:5 GREEN:6 BLUE:5 938: RED:00f800 GREEN:0007e0 BLUE:00001f 939: BIT:32 RED:8 GREEN:8 BLUE:8 939: RED:ff0000 GREEN:00ff00 BLUE:0000ff 939: アルファチャンネル付きグラフィック用 940: BIT:16 ALPHA:4 RED:4 GREEN:4 BLUE:4 940: ALPHA:0000f000 RED:00000f00 GREEN:000000f0 BLUE:0000000f 941: BIT:32 ALPHA:8 RED:8 GREEN:8 BLUE:8 943: ALPHA:ff000000 RED:00ff0000 GREEN:0000ff00 BLUE:000000ff 943: Direct3D 関連の初期化は正常に終了しました 944: グラフィック管理系の初期化を行います 949: 3Dグラフィック描画機能を使用します 950: フォントの初期化を行います 980: フォントの初期化は正常に終了しました 981: グラフィック管理系の初期化は正常に終了しました 7276: サーフェス間転送には BitBlt を使用します 7277: BitBlt:3116125μs BltFast:3142947μs 7277: スキャンラインの数:768 7343: 1フレーム当たりの時間は 16 msecです 7346: Tri00:16 msec 7346: Tri01:1 msec 7347: Tri02:16 msec 7347: Tri03:1 msec 7348: 画面モード変更処理は正常に終了しました 7383: オーバーレイサーフェスを使用します    UYVY 7384: DirectDraw 関連の初期化は正常に終了しました 7398: 文字コードバッファの初期化を行います... 完了しました 7437: ビューポートのセットに失敗しました ErrorCode 80070057 7437: ビューポートの設定に失敗しました Image Buffer 7470: Check Point 1 31955: DirectDraw 関連の終了処理をおこないます 31958: フォントの初期化を行います 31980: フォントの初期化は正常に終了しました 31982: グラフィック管理系の終了処理は正常に終了しました 31983: Direct3D 関連の終了処理を行います 31984: 3Dデバイスの削除は正常に終了しました 31985: Direct3D 関連の終了処理は正常に終了しました 31986: メインサーフェスを破棄をします... 完了しました 31988: DirectDrawオブジェクトを解放します 31990: DirectDrawオブジェクトを解放しました 31990: DirectDraw 関連の終了処理は正常に終了しました 31991: DirectInput 関連の終了処理... 完了 32057: DirectSound の終了処理は正常に終了しました 32060: ウインドウを閉じようとしています 32144: ウインドウが破棄されようとしています 32145: ソフトを終了する準備が整いました 32964: 32965: Alloc memory dump Total size:0(0.000kb) Alloc num:0 32966: ご苦労をおかけしますが、よろしくお願いします。
Re: 画面いっぱいに描画できません ( No.22 )
名前:管理人 日時:2006/11/07 13:26

 お父さんさんどうも、DXライブラリの管理人です。  おお、800x600の長方形が描画されましたか。1024x768の サイズで起動すると 800x600 の領域も描画されるという ことですね・・・・うーん。  今度は 640x480 のサイズで起動しても 800x600 の領域が 描画されるように少し手を加えてみましたので、宜しければ お試し下さい。m(_ _)m http://homepage2.nifty.com/natupaji/temp/DrawBoxTest.zip (今回は二つ入っています。両方とも800x600の領域が 描画されるか、それとも片方だけか、どちらも駄目か、 ご確認になってみて下さい)
Re: 画面いっぱいに描画できません ( No.23 )
名前:お父さん 日時:2006/11/07 17:05

管理人様 いつもありがとうございます。 早速試してみましたところ、1の方は640X480の長方形しか描画されませんでしたが、2の方は800X600の長方形が 描画されました。 ご苦労をおかけしますが、よろしくお願いします。
Re: 画面いっぱいに描画できません ( No.24 )
名前:管理人 日時:2006/11/08 11:52

 お父さんさんどうも、DXライブラリの管理人です。  了解しました。  では、こちらのライブラリをお使いになってみて下さい。m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe //VC用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe //BCC用 (中身を既存のファイルに上書きして、BCCをお使いの場合は『再構築』、 VCをお使いの場合は『リビルド』をして下さい)  恐らく、表画面に直接描画しても正常な結果が得られると思います。
Re: 画面いっぱいに描画できません ( No.25 )
名前:お父さん 日時:2006/11/08 15:43

管理人様 ありがとうございました。VC用、BCC用、両方とも「わくわくC…」の本にあるとおり、ちゃんと画面の右下に正 方形を描画することができました。 これで、昔のお絵かきプログラムなども、安心して移植することができるようになりました。本当にありがとう ございました。

Page: 1 | 2 |