2 using System.Collections.Generic;
\r
8 internal class CAct演奏スクロール速度 : CActivity
\r
10 public STDGBSValue<double> db現在の譜面スクロール速度;
\r
12 public CAct演奏スクロール速度()
\r
14 base.b活性化してない = true;
\r
17 public override void On活性化()
\r
19 for (EPart i = EPart.Drums; i <= EPart.Bass; i++)
\r
21 this.db現在の譜面スクロール速度[i] = (double)CDTXMania.Instance.ConfigIni.nScrollSpeed[i];
\r
22 this.n速度変更制御タイマ[i] = -1;
\r
27 public override unsafe int On進行描画()
\r
33 this.n速度変更制御タイマ.Drums = this.n速度変更制御タイマ.Guitar = this.n速度変更制御タイマ.Bass = CSound管理.rc演奏用タイマ.n現在時刻;
\r
34 base.b初めての進行描画 = false;
\r
36 long n現在時刻 = CSound管理.rc演奏用タイマ.n現在時刻;
\r
37 for (EPart i = EPart.Drums; i <= EPart.Bass; i++)
\r
39 double db譜面スクロールスピード = (double)CDTXMania.Instance.ConfigIni.nScrollSpeed[i];
\r
40 if (n現在時刻 < this.n速度変更制御タイマ[i])
\r
42 this.n速度変更制御タイマ[i] = n現在時刻;
\r
44 while ((n現在時刻 - this.n速度変更制御タイマ[i]) >= 2) // 2msに1回ループ
\r
46 if (this.db現在の譜面スクロール速度[i] < db譜面スクロールスピード) // Config.iniのスクロール速度を変えると、それに追いつくように実画面のスクロール速度を変える
\r
48 this.db現在の譜面スクロール速度[i] += 0.012;
\r
50 if (this.db現在の譜面スクロール速度[i] > db譜面スクロールスピード)
\r
52 this.db現在の譜面スクロール速度[i] = db譜面スクロールスピード;
\r
55 else if (this.db現在の譜面スクロール速度[i] > db譜面スクロールスピード)
\r
57 this.db現在の譜面スクロール速度[i] -= 0.012;
\r
59 if (this.db現在の譜面スクロール速度[i] < db譜面スクロールスピード)
\r
61 this.db現在の譜面スクロール速度[i] = db譜面スクロールスピード;
\r
64 this.n速度変更制御タイマ[i] += 2;
\r
73 private STDGBSValue<long> n速度変更制御タイマ;
\r