+++ /dev/null
-using System;\r
-using System.Collections.Generic;\r
-using System.Text;\r
-using FDK;\r
-\r
-namespace DTXMania\r
-{\r
- internal class CAct演奏スクロール速度 : CActivity\r
- {\r
- // プロパティ\r
-\r
- public STDGBVALUE<double> db現在の譜面スクロール速度;\r
-\r
-\r
- // コンストラクタ\r
-\r
- public CAct演奏スクロール速度()\r
- {\r
- base.b活性化してない = true;\r
- }\r
-\r
-\r
- // CActivity 実装\r
-\r
- public override void On活性化()\r
- {\r
- for( int i = 0; i < 3; i++ )\r
- {\r
- this.db現在の譜面スクロール速度[ i ] = (double) CDTXMania.ConfigIni.n譜面スクロール速度[ i ];\r
- this.n速度変更制御タイマ[ i ] = -1;\r
- }\r
- base.On活性化();\r
- }\r
- public override unsafe int On進行描画()\r
- {\r
- if( !base.b活性化してない )\r
- {\r
- if( base.b初めての進行描画 )\r
- {\r
- this.n速度変更制御タイマ.Drums = this.n速度変更制御タイマ.Guitar = this.n速度変更制御タイマ.Bass = CSound管理.rc演奏用タイマ.n現在時刻;\r
- base.b初めての進行描画 = false;\r
- }\r
- long n現在時刻 = CSound管理.rc演奏用タイマ.n現在時刻;\r
- for( int i = 0; i < 3; i++ )\r
- {\r
- const double db譜面スクロールスピード = (double) CDTXMania.ConfigIni.n譜面スクロール速度[ i ];\r
- if( n現在時刻 < this.n速度変更制御タイマ[ i ] )\r
- {\r
- this.n速度変更制御タイマ[ i ] = n現在時刻;\r
- }\r
- while( ( n現在時刻 - this.n速度変更制御タイマ[ i ] ) >= 2 )\r
- {\r
- if( this.db現在の譜面スクロール速度[ i ] < db譜面スクロールスピード ) // Config.iniのスクロール速度を変えると、それに追いつくように実画面のスクロール速度を変える\r
- {\r
- this.db現在の譜面スクロール速度[ i ] += 0.012;\r
-\r
- if( this.db現在の譜面スクロール速度[ i ] > db譜面スクロールスピード )\r
- {\r
- this.db現在の譜面スクロール速度[ i ] = db譜面スクロールスピード;\r
- }\r
- }\r
- else if ( this.db現在の譜面スクロール速度[ i ] > db譜面スクロールスピード )\r
- {\r
- this.db現在の譜面スクロール速度[ i ] -= 0.012;\r
-\r
- if( this.db現在の譜面スクロール速度[ i ] < db譜面スクロールスピード )\r
- {\r
- this.db現在の譜面スクロール速度[ i ] = db譜面スクロールスピード;\r
- }\r
- }\r
- this.n速度変更制御タイマ[ i ] += 2;\r
- }\r
- }\r
- }\r
- return 0;\r
- }\r
-\r
-\r
- // その他\r
-\r
- #region [ private ]\r
- //-----------------\r
- private STDGBVALUE<long> n速度変更制御タイマ;\r
- //-----------------\r
- #endregion\r
- }\r
-}\r