Sleepなのですが

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
海老天

Sleepなのですが

#1

投稿記事 by 海老天 » 16年前

ゲームプログラミングの館の12.画像を動かすの所を今やっているのですが画像が動いてくれません。
最初はSleepに入れる値が少なすぎると思ったのですが1000を入れると今度はフリーズして動かなくなりました。
プログラムはコピーなのであっていると思うのですがどうしていいかわかりません。アドバイスをお願いします。

使用OS Windows Vista
使用コンパイラ Visual C++ 2008 Express Edition

non

Re:Sleepなのですが

#2

投稿記事 by non » 16年前

もう少し、詳しく状況を書かないと、フォローしようがありません。
1 その前の所までは順調に動いていた。
2 12のプログラムをコピペしたが画像が動かない。
 (ということは、左上にchar.pngの画像が出たまま)
3 Sleepを1000にしたら、フリーズした。
 (ということは、Sleepが10のときは、何かキーを押したら終了していた)

まず、Sleep(1000)は1秒ですから、300秒、5分しないと終わりません。5分以上立ってもフリーズでしたか。
ビルドしたときにエラーは出ませんでしたか?

短いプログラムですから、コピペを失敗していないか、そのプログラムを掲示板にコピペしてください。

海老天

Re:Sleepなのですが

#3

投稿記事 by 海老天 » 16年前

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 ; // ソフトの終了
}

です
どこかまずいところがあったでしょうか?

Mist

Re:Sleepなのですが

#4

投稿記事 by Mist » 16年前

OSがVistaなんですよね。
VistaはXP以前と画像処理周りが少し違うらしく、裏画面を使用しないプログラムは正しく動作しないことがあるそうです。
ですので、そのプログラムを正しく動作させるのは無理かと思います。

通常、裏画面を使用しないでゲーム作りをすることはありませんので13章へ進まれてはどうでしょうか。

海老天

Re:Sleepなのですが

#5

投稿記事 by 海老天 » 16年前

ありがとうございます
そうなのですかわかりました
次の章に進んでみようと思います

Mist

Re:Sleepなのですが

#6

投稿記事 by Mist » 16年前

本家掲示板の同様の問題についてのスレです。
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=1028

> 管理人さんへ
上記スレのDXライブラリ作者さんの回答にもあるとおり、Vistaでの不具合は対応されることもなさそうなので表画面使用のサンプルについては注意書きでも入れておいたほうがよいのではないでしょうか。

閉鎖

“C言語何でも質問掲示板” へ戻る