ゲームプログラミングの館の12.画像を動かすの所を今やっているのですが画像が動いてくれません。
最初はSleepに入れる値が少なすぎると思ったのですが1000を入れると今度はフリーズして動かなくなりました。
プログラムはコピーなのであっていると思うのですがどうしていいかわかりません。アドバイスをお願いします。
使用OS Windows Vista
使用コンパイラ Visual C++ 2008 Express Edition
Sleepなのですが
Re:Sleepなのですが
もう少し、詳しく状況を書かないと、フォローしようがありません。
1 その前の所までは順調に動いていた。
2 12のプログラムをコピペしたが画像が動かない。
(ということは、左上にchar.pngの画像が出たまま)
3 Sleepを1000にしたら、フリーズした。
(ということは、Sleepが10のときは、何かキーを押したら終了していた)
まず、Sleep(1000)は1秒ですから、300秒、5分しないと終わりません。5分以上立ってもフリーズでしたか。
ビルドしたときにエラーは出ませんでしたか?
短いプログラムですから、コピペを失敗していないか、そのプログラムを掲示板にコピペしてください。
1 その前の所までは順調に動いていた。
2 12のプログラムをコピペしたが画像が動かない。
(ということは、左上にchar.pngの画像が出たまま)
3 Sleepを1000にしたら、フリーズした。
(ということは、Sleepが10のときは、何かキーを押したら終了していた)
まず、Sleep(1000)は1秒ですから、300秒、5分しないと終わりません。5分以上立ってもフリーズでしたか。
ビルドしたときにエラーは出ませんでしたか?
短いプログラムですから、コピペを失敗していないか、そのプログラムを掲示板にコピペしてください。
Re:Sleepなのですが
5分間は確認していませんでした
5分間も試したのですが画像が右上に表示されることもなく12の実行結果の状態にいきなり移行してしまいます。
エラーは特に出ていませんでした
プログラムは
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ; //ウィンドウモードに変更
if( DxLib_Init() == -1 ) return -1; // DXライブラリ初期化処理 エラーが起きたら終了
int i ;
for(i=0;i<300;i++){
LoadGraphScreen( i , 0 , "char.png" , TRUE ); //画像を描画
Sleep(10); //10ミリ秒待つ
}
WaitKey(); // 何かキー入力があるまで待つ
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
です
どこかまずいところがあったでしょうか?
5分間も試したのですが画像が右上に表示されることもなく12の実行結果の状態にいきなり移行してしまいます。
エラーは特に出ていませんでした
プログラムは
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ; //ウィンドウモードに変更
if( DxLib_Init() == -1 ) return -1; // DXライブラリ初期化処理 エラーが起きたら終了
int i ;
for(i=0;i<300;i++){
LoadGraphScreen( i , 0 , "char.png" , TRUE ); //画像を描画
Sleep(10); //10ミリ秒待つ
}
WaitKey(); // 何かキー入力があるまで待つ
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
です
どこかまずいところがあったでしょうか?
Re:Sleepなのですが
OSがVistaなんですよね。
VistaはXP以前と画像処理周りが少し違うらしく、裏画面を使用しないプログラムは正しく動作しないことがあるそうです。
ですので、そのプログラムを正しく動作させるのは無理かと思います。
通常、裏画面を使用しないでゲーム作りをすることはありませんので13章へ進まれてはどうでしょうか。
VistaはXP以前と画像処理周りが少し違うらしく、裏画面を使用しないプログラムは正しく動作しないことがあるそうです。
ですので、そのプログラムを正しく動作させるのは無理かと思います。
通常、裏画面を使用しないでゲーム作りをすることはありませんので13章へ進まれてはどうでしょうか。
Re:Sleepなのですが
本家掲示板の同様の問題についてのスレです。
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=1028
> 管理人さんへ
上記スレのDXライブラリ作者さんの回答にもあるとおり、Vistaでの不具合は対応されることもなさそうなので表画面使用のサンプルについては注意書きでも入れておいたほうがよいのではないでしょうか。
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=1028
> 管理人さんへ
上記スレのDXライブラリ作者さんの回答にもあるとおり、Vistaでの不具合は対応されることもなさそうなので表画面使用のサンプルについては注意書きでも入れておいたほうがよいのではないでしょうか。