ページ 11

DxLibのKeyBoard.hについて

Posted: 2013年10月20日(日) 00:51
by naginon
#include <math.h>
#include "DxLib.h"
#include "Keyboard.h"

class Fps{
int mStartTime; //測定開始時刻
int mCount; //カウンタ
float mFps; //fps
static const int N = 60;//平均を取るサンプル数
static const int FPS = 60; //設定したFPS

public:
Fps(){
mStartTime = 0;
mCount = 0;
mFps = 0;
}

bool Update(){
if( mCount == 0 ){ //1フレーム目なら時刻を記憶
mStartTime = GetNowCount();
}
if( mCount == N ){ //60フレーム目なら平均を計算する
int t = GetNowCount();
mFps = 1000.f/((t-mStartTime)/(float)N);
mCount = 0;
mStartTime = t;
}
mCount++;
return true;
}

void Draw(){
DrawFormatString(0, 0, GetColor(255,255,255), "%.1f", mFps);
}

void Wait(){
int tookTime = GetNowCount() - mStartTime; //かかった時間
int waitTime = mCount*1000/FPS - tookTime; //待つべき時間
if( waitTime > 0 ){
Sleep(waitTime); //待機
}
}
};

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode(TRUE),DxLib_Init(),SetDrawScreen( DX_SCREEN_BACK );

Fps fps;

while( ProcessMessage()==0 && ClearDrawScreen()==0 && CheckHitKey(KEY_INPUT_ESCAPE)==0 ){
fps.Update(); //更新
fps.Draw(); //描画
ScreenFlip();
fps.Wait(); //待機
}

DxLib_End();
return 0;
}

このプログラムを実行しようとすると、"Keyboard.h"が開けないと表示されるのです。
でも、何回も設定しなおして、サイトのプログラムをそのまま実行してみたりとしたのですが、ダメでした。
でも、#include "KeyBoard.h"をなくすととりあえず実行でき、正常に動作しました。
どういうことなのでしょうか?どなたか説明お願いします><

Re: DxLibのKeyBoard.hについて

Posted: 2013年10月20日(日) 09:34
by ねに
たぶんですが KeyBoard.h を自分で作ってないから じゃないでしょうか?
自分で作る必要があるかと。

無くすと動く理由はそのプログラムにキーボード操作が含まれていないから。じゃないでしょうか?

Re: DxLibのKeyBoard.hについて

Posted: 2013年10月20日(日) 18:27
by softya(ソフト屋)
codeタグをご利用くださいね。
あと引用元も記述して下さい。URLが望ましいです。

「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」
http://dixq.net/g/d_04.html
こちらが元だとすると誤解されている部分がないでしょうか?

Re: DxLibのKeyBoard.hについて

Posted: 2013年10月22日(火) 23:55
by naginon
みなさん、お答えいただき、どうもありがとうございました。

引用の方は、これから気を付けていきます。

ご指摘ありがとうございました。