OSDN Git Service

#23631 ギター/ベースのDANGER処理のコミット漏れ。
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sat, 23 Apr 2011 03:05:02 +0000 (03:05 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sat, 23 Apr 2011 03:05:02 +0000 (03:05 +0000)
git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@162 16f42ceb-6dc6-49c8-ba94-f2d53467949d

DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarDanger.cs [new file with mode: 0644]

diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarDanger.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarDanger.cs
new file mode 100644 (file)
index 0000000..1b69c41
--- /dev/null
@@ -0,0 +1,98 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.Text;\r
+using System.Drawing;\r
+using System.Diagnostics;\r
+using FDK;\r
+\r
+namespace DTXMania\r
+{\r
+       internal class CAct演奏GuitarDanger : CAct演奏Danger共通\r
+       {\r
+\r
+               public override void OnManagedリソースの作成()\r
+               {\r
+                       if ( !base.b活性化してない )\r
+                       {\r
+                               this.txDANGER = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayGuitar danger.png" ) );\r
+                               base.OnManagedリソースの作成();\r
+                       }\r
+               }\r
+               public override void OnManagedリソースの解放()\r
+               {\r
+                       if ( !base.b活性化してない )\r
+                       {\r
+                               // CDTXMania.tテクスチャの解放( ref this.txDANGER );\r
+                               base.OnManagedリソースの解放();\r
+                       }\r
+               }\r
+               public override int On進行描画()\r
+               {\r
+                       throw new InvalidOperationException( "t進行描画(bool)のほうを使用してください。" );\r
+               }\r
+               /// <summary>\r
+               /// DANGER表示(Guitar/Bass)\r
+               /// </summary>\r
+               /// <param name="bIsDangerDrums">DrumsがDangerか否か(未使用)</param>\r
+               /// <param name="bIsDangerGuitar">GuitarがDangerか否か</param>\r
+               /// <param name="bIsDangerBass">BassがDangerか否か</param>\r
+               /// <returns></returns>\r
+               public override int t進行描画( bool bIsDangerDrums, bool bIsDangerGuitar, bool bIsDangerBass )\r
+               {\r
+                       bool[] bIsDanger = { bIsDangerDrums, bIsDangerGuitar, bIsDangerBass };\r
+\r
+                       if ( !base.b活性化してない )\r
+                       {\r
+                               if ( this.ct透明度用 == null )\r
+                               {\r
+                                       //this.ct移動用 = new CCounter( 0, 0x7f, 7, CDTXMania.Timer );\r
+                                       this.ct透明度用 = new CCounter( 0, n波長, 8, CDTXMania.Timer );\r
+                               }\r
+                               if ( this.ct透明度用 != null )\r
+                               {\r
+                                       //this.ct移動用.t進行Loop();\r
+                                       this.ct透明度用.t進行Loop();\r
+                               }\r
+                               for ( int nPart = (int) E楽器パート.GUITAR; nPart <= (int) E楽器パート.BASS; nPart++ )\r
+                               {\r
+                               //      this.bDanger中[nPart] = bIsDanger[nPart];\r
+                                       if ( bIsDanger[ nPart ] )\r
+                                       {\r
+                                               if ( this.txDANGER != null )\r
+                                               {\r
+                                                       int d = this.ct透明度用.n現在の値;\r
+                                                       this.txDANGER.n透明度 = n透明度MIN + ( ( d < n波長 / 2 ) ? ( n透明度MAX - n透明度MIN ) * d / ( n波長 / 2 ) : ( n透明度MAX - n透明度MIN ) * ( n波長 - d ) / ( n波長 / 2 ) );           // 60-200\r
+                                                       //              }\r
+                                                       //num = this.ct移動用.n現在の値;\r
+                                                       //int num2 = CDTXMania.ConfigIni.bReverse.Drums ? ( 0x7f - num ) : num;\r
+                                                       //                              for ( int i = -1; i < 4; i++ )\r
+                                                       //                              {\r
+                                                       //              if ( this.txDANGER != null )\r
+                                                       //              {\r
+                                                       this.txDANGER.t2D描画( CDTXMania.app.Device, nGaugeX[ nPart ], 0 );\r
+                                                       //this.txDANGER.t2D描画( CDTXMania.app.Device, 0x26, ( ( i * 0x80 ) + num2 ) + 0x40, this.rc領域[ 1 ] );\r
+                                                       //this.txDANGER.t2D描画( CDTXMania.app.Device, 0x12a, ( i * 0x80 ) + num2, this.rc領域[ 0 ] );\r
+                                                       //this.txDANGER.t2D描画( CDTXMania.app.Device, 0x12a, ( ( i * 0x80 ) + num2 ) + 0x40, this.rc領域[ 1 ] );\r
+                                               }\r
+                                               //                              }\r
+                                       }\r
+                               }\r
+                       }\r
+                       return 0;\r
+               }\r
+\r
+\r
+               // その他\r
+\r
+               #region [ private ]\r
+               //-----------------\r
+               private const int n波長 = 40;\r
+               private const int n透明度MAX = 180;\r
+               private const int n透明度MIN = 20;\r
+               private readonly int[] nGaugeX = { 0, 168, 328 };\r
+//             private readonly Rectangle[] rc領域 = new Rectangle[] { new Rectangle( 0, 0, 0x20, 0x40 ), new Rectangle( 0x20, 0, 0x20, 0x40 ) };\r
+               private CTexture txDANGER;\r
+               //-----------------\r
+               #endregion\r
+       }\r
+}\r