1人でゲームが作れるように修行します。2 (487レス)
前次1-
抽出解除 レス栞

216
(2): 179 2011/04/16(土)03:42 ID:WryT+KpS(2/2) AAS
あ、初期化ミス…↓こうでしたorz

//初期化
static int frame_time = 0
static inttime_know = GetNowCount() - 1;
static inttime_back = GetNowCount() - 1;

//1フレームの時間を求める処理
if(time_back != know_time;)time_back = time_know;
time_know = GetNowCount();
frame_time = time_back - time_know;
218: SGGK ◆6pZCoAtaxk 2011/04/17(日)00:44 ID:mWz5D8BJ(1/2) AAS
>>215,216
ありがとうございます。
自分はいままでbackとknowに相当するコードをなぜかソース内の別々の場所に書いてあり、ソースが読みにくくなっていたけど、
これを見て3行続けて書ける事が分かりましたので、早速修正してみます。

今回はメインループ内に書かれるソースコードを減らしてみたくてこの3行に相当する機能をクラス化することに挑戦。
結果、クラス内の行数はかなり増えてしまうけどreleaseモードでは成功。
debugモードでは時間表示が正しくなく、プログラムを終了させると「ヒープが壊れていることが原因として考えられます。」のようなエラーメッセージ。
いちおう半分はうまくいってるので、ゆっくり考えるつもり。

>>217
アドバイスありがとうございます。現時点のプログラムソースでは、
省2
220: SGGK ◆6pZCoAtaxk 2011/04/17(日)23:21 ID:VrjRr7OP(1) AAS
昨日は起きていたのがいつもより遅かったので書けなかったけど、
昨日の間違いというのは、メインループ内のゲーム処理関数の最初の行に書いた2行の順序が逆だったこと。
(間違い)
m_Time.countGameTime();
if(m_Time.m_GameTimeState==CONTINUE){m_Time.displayGameTime();}
(正解)
if(m_Time.m_GameTimeState==CONTINUE){m_Time.displayGameTime();}
m_Time.countGameTime();

時間の測定はループ1回毎に時間を測定して、前回のループでの測定値との差を毎回足していくんだけど、
1回目のループでは前回のループの測定値がまだ存在しないので、差を計算しては困るので、
省8
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.419s*