ページ 11

配列で足し続ける

Posted: 2011年3月02日(水) 18:12
by モンク
初歩的な質問ですいません。
int time;
time++;

とやればtimeが1秒間に60回たされると思うんですが
配列を使う場合、

int time[3];
time[0]++;
time[1]++;
time[2]++;

以外のやり方ありませんか?
ゲーム実行中は常にそれぞれのタイムが加算され続けたいです。

Re: 配列で足し続ける

Posted: 2011年3月02日(水) 18:37
by bitter_fox
モンク さんが書きました:time++;
とやればtimeが1秒間に60回たされると思うんですが
ゲーム実行中は常にそれぞれのタイムが加算され続けたいです。
1秒間に60回というのはFPS制御によってということですよね?
モンク さんが書きました: int time[3];
time[0]++;
time[1]++;
time[2]++;

以外のやり方ありませんか?

コード:

time[1] = time[2] = ++time[0];
といった書き方も可能です。(time[0], time[1], time[2]がともに同じ値のとき)

同じ値でなく何度もインクリメントのコードを書かなくてはならないのが煩わしいのであれば、関数にするべきです。

コード:

void IncrementTime(int *time, int arrayMax)
{
	int i;

	for (i = 0; i < arrayMax; i++)
	{
		time[i]++;
	}
}

Re: 配列で足し続ける

Posted: 2011年3月02日(水) 22:46
by box
モンク さんが書きました: int time;
time++;

とやればtimeが1秒間に60回たされると思うんですが
そのコードを書けばそうなる、という仮説を実証するために、何か行ないましたか?