Re: 描画関連がうまくいきません ( No.1 ) |
- 名前:通 日時:2008/07/30 10:12
どんなコードを書いてそうなったのかが重要です。
できれば、該当の図形を描画する部分のソースを
貼り付けてみては?
コンパイルエラーではないので、
結果だけ貼り付けても分かることは
少ないと思います。
|
Re: 描画関連がうまくいきません ( No.2 ) |
- 名前:なゐ 日時:2008/07/30 12:39
失礼しました。コードのせいではないと考え、コードは載せませんでしたが、
不具合を見てもらう以上、判断材料は全て提示しなければなりませんね。今後は気をつけます。
私の場合、図形描画関係全てがうまくいっていませんが、
例として、以下のコードを使用したとき、描画ができていませんでした
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
int Cr ;
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
Cr = GetColor( 0 , 0 , 255 ) ; // 青色の値を取得
DrawBox( 0 , 0 , 640 , 480 , Cr , TRUE) ; // 四角形を描画
WaitKey() ; // キーの入力待ち(『WaitKey』を使用)
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
以上は四角形の描画ですが、この他、関数解説のページに倣い、点を打つ関数、線を引く関数を試してみましたが、全て画面が真っ黒なままでした。
いずれも、サンプルをそのままコピー&ペーストしています。
文字列の描画に関しても同様で、以下のコードをサンプルからコピー&ペーストして実行しても、画面は真っ黒なままでした
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
int Cr ;
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
// 白色の値を取得
Cr = GetColor( 255 , 255 , 255 ) ;
// 文字列の描画
DrawString( 250 , 240 - 32 , "Hello C World!" , Cr );
WaitKey() ; // キーの入力待ち(『WaitKey』を使用)
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
また、画像表示に関しても同様で、DXライブラリ付属のサンプルコードをそのまま実行しても画像は描画されませんでした。
ビットマップ画像の場所がおかしいのでは?と考え、色々と試してみましたが、
そもそもファイルの場所の問題では無いということは、点が打てないことから明白でした。
ちなみに、音声は再生できていました。以下のコードで、指定の音源を再生することができました。
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
// test.wavのノーマル再生
PlaySoundFile( "test.wav" , DX_PLAYTYPE_NORMAL ) ;
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
やはり環境がおかしいのでしょうか?それとも設定がおかしいのでしょうか?このようなケースを他にもご存知でしたら、アドバイスをいただきたいです。よろしくお願いします
|
Re: 描画関連がうまくいきません ( No.3 ) |
- 名前:Will 日時:2008/07/30 13:15
画面のプロパティの「設定」タブに「画面の色」という項目があるのですが、そこの設定はどうなっていますか?
24bitに設定されている場合に、正しく表示されないことがあるらしいです。
|
Re: 描画関連がうまくいきません ( No.4 ) |
- 名前:なゐ 日時:2008/07/30 13:35
ご指摘ありがとうございます。
確認してみましたが、今は32bitになっていました。どうやらその線も無いみたいです。
ですが、なるほど、画面などのハードウェア的な不具合もあるのですね!
ライブラリやDirectXの描画関連の不具合しか考えていませんでした。
今後はこのようなことを踏まえて不具合に当たっていこうと思います。ありがとうございます
|
Re: 描画関連がうまくいきません ( No.5 ) |
- 名前:通 日時:2008/07/30 14:03
なるほど、コード自体はサンプルから
編集したものではなく、サンプルそのものなのですね
ちなみにこれはウィンドウモードでも
発生しますか?
Initの前にChangeWindowMode( TRUE )を呼び出して
みて、発生するかどうか調べたほうがいいかもしれません。
スクリーンモードで起こるとHW依存の可能性が
かなり高そうですが。。。
|
Re: 描画関連がうまくいきません ( No.6 ) |
- 名前:なゐ 日時:2008/07/30 14:57
ご指摘ありがとうございます。
ちょっと外出中で、パソコンの環境が違う場所から書き込んでいます。
お返事が7時以降くらいになってしまいますので、もしレス待ちでしたら、申し訳ありません。
帰宅したら通さんに言われたウィンドウモードを試してみようと思います。
確かに、解像度などの問題から、描画できているのに、表示範囲外という可能性も考えられますね。
ちなみに、今書き込みに使用しているパソコンでも同じことを試してみましたが、
こちらではすんなりとうまくいきました。
うまくいったとしても、このパソコンはそんなに自由には使えないので、やはり不具合は解決したいです
|
Re: 描画関連がうまくいきません ( No.7 ) |
- 名前:Will 日時:2008/07/30 16:02
グラフィックスドライバを最新のものに更新をしてみると解決するかもしれません。
|
Re: 描画関連がうまくいきません ( No.8 ) |
- 名前:なゐ 日時:2008/07/30 16:16
ご指摘ありがとうございます。
まだ外出中なのですが、帰宅後すぐに調べてみようと思います。
帰宅は7時を過ぎると思いますので、レス待ちでしたら申し訳ありません。試したらすぐに報告しますね
|
Re: 描画関連がうまくいきません ( No.9 ) |
- 名前:なゐ 日時:2008/07/30 20:19
お返事遅くなってすみません。
皆様、ご指摘ありがとうございました。無事に解決いたしました!
まず、通さんの言われたウィンドウモードを試してみましたが、どうもこれでもなかったようです。
Willさんのご指摘から、グラフィックドライバを最新のものに更新しようと様々な検索をかけたところ、
その前にハードウェアアクセラレータというものが目に留まりました。そこでは、トラブルシューティングとして、以下のような文章がありました。
「画面設定が1024*768ピクセル、256色のCRT表示の時、
ActiveMovieで動画ファイルを再生し、フルスクリーン表示にすると表示不正となる。」
この対策として、ハードウェアアクセラレータを最大状態から基本値まで戻すと正常に動作するということでした。
要するにアクセラレータを切ることで、問題が解決されたようです。
これまでのサンプルプログラムを実行した結果、画像の表示、図形描画、文字描画などが正常に行えるようになりました。
皆様のご指摘、アドバイスに、重ね重ね感謝します。ありがとうございました。
|