1人でゲームが作れるように修行します。2 (487レス)
上
下
前
次
1-
新
228
:
SGGK ◆6pZCoAtaxk
2011/04/25(月)00:12
ID:oJBn91bE(1)
AA×
>>224
>>224
>>224
[240|
320
|
480
|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
228: SGGK ◆6pZCoAtaxk [sage] 2011/04/25(月) 00:12:59.17 ID:oJBn91bE >>224でも短くなった方だけど、ゲームのメイン処理の先頭にこれを書くのは まだ長いような感じがした。それと、ゲームの時間帯の状態を表す定数と時間のリセットの処理を一緒に書くのも 後々わかりにくくなるような気がした。今はたまたま、この定数の切り替わりが起きる条件と時間のリセットが起きる条件が一緒だから このように書けているだけなので、将来の想定外の変更を考えて分ける事を考えた。 ゲーム時間帯の状態を表す定数を決める関数を>>224の改造で作成。 >>224から時間のリセットの行を削除しただけのもの。 calMatchState()という名前にでもしておく。 そして時間のリセットを行う関数をそのあとに書けばいい。 但し、calMatchState()で先にゲーム時間帯の状態を変更されてしまうので、 状態の切り替わりが検知できるように状態を表す変数をもう一つ用意して現時点のゲーム時間帯の状態を表す定数値を保持しておく。 そうしておけば、直前の関数でゲーム時間帯の状態を表す定数値が変わったら、その値と保持していた値が異なるので、 その時に時間をリセットして、現時点のゲーム時間帯の状態を表す定数値は更新する。 いちおうこれでプログラムは同じように動いてくれた。 時間リセットを判定する関数は以下の様な感じ。 void SoccerGame::calTimeResetState() { if(m_MatchState!=m_MatchState1){ m_Time.resetGameTime(); m_MatchState1=m_MatchState; } } http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/228
でも短くなった方だけどゲームのメイン処理の先頭にこれを書くのは まだ長いような感じがしたそれとゲームの時間帯の状態を表す定数と時間のリセットの処理を一緒に書くのも 後わかりにくくなるような気がした今はたまたまこの定数の切り替わりが起きる条件と時間のリセットが起きる条件が一緒だから このように書けているだけなので将来の想定外の変更を考えて分ける事を考えた ゲーム時間帯の状態を表す定数を決める関数をの改造で作成 から時間のリセットの行を削除しただけのもの という名前にでもしておく そして時間のリセットを行う関数をそのあとに書けばいい 但しで先にゲーム時間帯の状態を変更されてしまうので 状態の切り替わりが検知できるように状態を表す変数をもう一つ用意して現時点のゲーム時間帯の状態を表す定数値を保持しておく そうしておけば直前の関数でゲーム時間帯の状態を表す定数値が変わったらその値と保持していた値が異なるので その時に時間をリセットして現時点のゲーム時間帯の状態を表す定数値は更新する いちおうこれでプログラムは同じように動いてくれた 時間リセットを判定する関数は以下の様な感じ
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 259 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
ぬこの手
ぬこTOP
0.043s