• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:描画出力にあたって)

描画出力についての質問

このQ&Aのポイント
  • 画面に線や円の描画ができないです
  • 指定した位置に線、円、四角形等を描画する方法を教えてください
  • 参考にしたサイトはhttp://l.huu.cc/g/#0です

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.6

間が開いてしまいもうしわけありません。 DxLibのソースも見てみましたが、DxLib自体でそれほど複雑なことをしているわけではなく、 DirectXのところで何かあるのだとは思いますが、DirectXはあまり詳しくないので 今のところこれという情報はありません。 プログラムを、円のみや線のみのものにして試してみても同じように描画されないままでしょうか? 色や半径などを適当に変えながら試しててみてください。 もし円だけ(線だけ)で現象が発生するのなら、 ライブラリの作者にレポートするのがよろしかろうと思います。 DXライブラリ置き場 HOME http://homepage2.nifty.com/natupaji/DxLib/index.html ここから掲示板にいけます。

ilice
質問者

お礼

線・円・四角それぞれ一つずつで試してみたいと思います 問題があるようならご指摘にあるとおり対応していきたいと思います ありがとうございました

その他の回答 (5)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.5

#2でビデオカードのドライバ等の確認が提案されていますが、 そちらはどうでしたでしょう? DirectXが原因とは言い切れませんが、差し支えなければ ・お使いのPCのメーカーと型番。 ・診断ツールででてきたディプレイ関連の上の中で、デバイスのメーカーと種類、 ドライバとmini VDD、VDDの名称を教えてください。 DirectXの機能のところにある DirectDrawのテストを実行したときに何か問題は出ませんか? #ハードが壊れたりはしないはずなので安心してください もしテスト実行のボタンが押せない状態ならその旨をお知らせください。 Direct3Dは#4の補足からするとダメっぽいですが、 今回描画しようとしているのは3Dは多分関係ないですよねえ。

ilice
質問者

補足

DirectDrawのテストを実行したら問題はなく すべてのテストが問題なく終了しました。 (コンピューターの指示通りに進めて問題なく終了) 診断ツールの[ディスプレイ]のところに書いてあるのであれば(正確な調べ方を知りません。すいませんm(_ _)m)以下の通りです。 [デバイス] デバイスの名前  :ATI RADEON XPRESS 200 Seres デバイスメーカー名:ATI Technologies INC. [ドライバ] メインドライバ:ati2dvag.dll miniVDD    :ati2mtag.sys VDD    :利用不能

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.4

なんともどうしたものか思いつかないのですが、 とりあえず スタート→ファイル名を指定して実行 を開いて dxdiag と入力して実行してみてください(DirectXの診断ツールです)。 使用しているグラフィックボードだとか、DirectXのバージョン等々でますので どこかが「問題あり」になっていないか確かめてみてください。 わたしが試したのは Windows 2000のマシンなので DirectXのバージョンは8です。

参考URL:
http://www.microsoft.com/japan/security/bulletins/ver_directx.mspx
ilice
質問者

補足

今入っているのはDirectX9.0cです 診断ツールを起動したのですが 診断ツールの[ディスプレイ]欄の [デバイス] メモリ合計が利用不可 [ドライバ] VDDが利用不可 DDIが不明 [DirectXの機能] DirectDrawアクセラレータが利用不可 Direct3Dアクセラレータが利用不可 AGPテクスチャアクセラレータが利用不可 [注意] ・Direct3D の機能は利用できません。ドライバが製造元によって提供されている最新のものであることを確認してください。 となっています。 問題ありという表記はなかったのですが この辺りが怪しいかと思い載せました。 このほかに記載する情報があればいってください よろしくお願いします

回答No.3

ScreenFlip()を WaitKey()の前に入れると表示されるかもしれません。

ilice
質問者

お礼

ご指摘の通りに #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ ChangeWindowMode(TRUE) ; if( DxLib_Init() == -1) return -1; int white,red,g_blue; white = GetColor(255,255,255); red = GetColor(255,0,0); g_blue = GetColor(0,255,255); DrawLine(10,10,630,10,white); DrawBox(10,50,310,100,g_blue,false); DrawBox(10,150,310,200,g_blue,true); DrawCircle(500,300,100,red,true); ScreenFlip();←ここですよね? WaitKey(); DxLib_End(); return 0; } としたのですがやはり表示できませんでした ほかの方からの指摘された部分についても確認してみます ご回答ありがとうございました

noname#30727
noname#30727
回答No.2

私の環境でも4つ表示されています。 DirectXを使用している場合、ビデオカードのドライバやDirectXのランタイムが古かったりすると、こういう事が起きやすいです。

ilice
質問者

お礼

たしかに、ビデオカードのドライバやランタイムが古いのは気がつきませんでした そのあたりを調べてみます

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

試しに手元のコンパイラ(VC++ 7.1)で試してみましたが、 線分も円もきちんと描画されましたよ? お使いの環境をもう少し詳しく書いていただけませんか?

ilice
質問者

補足

使っているソフトはMicrosoft Visual C++ で 200Xとかは書かれていないので古いタイプだと思います。 OSはWindows XP Pro Ver2002 SP2 です。

関連するQ&A