2016/9/10(Sat) 14:21:41|NO.76842
訂正
d3timerともうひとつ
ループ内の「wait」を「await 16」にすると
FPSが60〜62に保たれます。
また、割り込み(iparam)を使ったキー判定を使用する場合
FPS値が上がることがありますが、d3timerでタイミング関係の処理を
していれば問題ありません。
また、d3timerを使用したタイミングの基本となる時間の算出ですが
まず、適当な変数に「現在のOS起動時間」を代入します。
start_tim = d3timer()
※ゲームスタート直前に代入してください。(プログラムを実行してからではありません)
そして、
time = d3timer() - start_tim
とすると、timeにd3timer()で取得した時間とstart_tim変数の値の差が代入され
タイミングのベースとなる時間ができます。
判定時については
「キーが押された時間と1つのタイミングの前後差が許容範囲であるか?」
という処理をすればいいのではないでしょうか?
※1つのタイミング=ここで押すと「良」判定
※そのここで押すべき時間から何ミリ秒前か後かを調べて
その前後の差がセーフな範囲だったらおk。ということ
(説明ヘタですみません)
たとえば、
stick key,0
if key&32 : if 25 > (time - timing(0)) | 25 : mes "良"
とすると、
「エンターキーが押されたら、押すべき時間から何ミリ秒前後かを算出して
その算出した時間がセーフな範囲だったら良判定」という処理ができ上がります。
あとは、タイミングデータをどうやって管理するか
やればいいのではないでしょうか。
|