OSDN Git Service

#35680 Direct3D、DirectSound、DirectInputのフレームワークをSharpDX 4.0.1に変更(DTXManiaからの輸入。またこの影響...
[dtxmaniaxg-verk/dtxmaniaxg-verk-git.git] / DTXManiaプロジェクト / コード / ステージ / 07.演奏 / GITADORA / ドラム画面 / CAct演奏Drums判定文字列GD.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Drawing;
4 using System.Diagnostics;
5 using System.Text;
6 using System.Runtime.InteropServices;
7 using FDK;
8 using SharpDX;
9
10 using Rectangle = System.Drawing.Rectangle;
11 namespace DTXMania
12 {
13         internal class CAct演奏Drums判定文字列GD : CAct演奏判定文字列共通
14         {
15                 // コンストラクタ
16
17                 public CAct演奏Drums判定文字列GD()
18                 {
19                         this.stレーンサイズ = new STレーンサイズ[ 12 ]
20                         {
21                                 new STレーンサイズ( 290, 80 ),
22                                 new STレーンサイズ( 367, 46 ),
23                                 new STレーンサイズ( 470, 54 ),
24                                 new STレーンサイズ( 582, 60 ),
25                                 new STレーンサイズ( 528, 46 ),
26                                 new STレーンサイズ( 645, 46 ),
27                                 new STレーンサイズ( 694, 46 ),
28                                 new STレーンサイズ( 748, 64 ),
29                                 new STレーンサイズ( 419, 46 ),
30                                 new STレーンサイズ( 815, 80 ),
31                                 new STレーンサイズ( 815, 80 ),
32                                 new STレーンサイズ( 815, 80 )
33                         };
34                         //for ( int i = 0; i < 12; i++ )
35                         //{
36                         //      this.stレーンサイズ[i] = new STレーンサイズ();
37                         //      this.stレーンサイズ[i].x = sizeXW[i, 0];
38                         //      this.stレーンサイズ[i].w = sizeXW[i, 1];
39                         //}
40                         base.b活性化してない = true;
41                 }
42                 
43         /// <summary>
44         /// レーンのX座標をint配列に格納していく。
45         /// </summary>
46         /// <param name="eLaneType">レーンタイプ</param>
47         private void tレーンタイプからレーン位置を設定する( Eタイプ eLaneType, ERDPosition eRDPosition )
48         {
49             switch( eLaneType )
50             {
51                 case Eタイプ.A:
52                     this.stレーンサイズ[ 2 ] = new STレーンサイズ( 470, 54 );
53                     this.stレーンサイズ[ 3 ] = new STレーンサイズ( 582, 60 );
54                     this.stレーンサイズ[ 4 ] = new STレーンサイズ( 528, 46 );
55                     this.stレーンサイズ[ 8 ] = new STレーンサイズ( 419, 46 );
56                     break;
57                 case Eタイプ.B:
58                     this.stレーンサイズ[ 2 ] = new STレーンサイズ( 419, 54 );
59                     this.stレーンサイズ[ 3 ] = new STレーンサイズ( 534, 60 );
60                     this.stレーンサイズ[ 4 ] = new STレーンサイズ( 590, 46 );
61                     this.stレーンサイズ[ 8 ] = new STレーンサイズ( 478, 46 );
62                     break;
63                 case Eタイプ.C:
64                     this.stレーンサイズ[ 2 ] = new STレーンサイズ( 470, 54 );
65                     this.stレーンサイズ[ 3 ] = new STレーンサイズ( 534, 60 );
66                     this.stレーンサイズ[ 4 ] = new STレーンサイズ( 590, 46 );
67                     this.stレーンサイズ[ 8 ] = new STレーンサイズ( 419, 46 );
68                     break;
69                 case Eタイプ.D:
70                     this.stレーンサイズ[ 2 ] = new STレーンサイズ( 419, 54 );
71                     this.stレーンサイズ[ 3 ] = new STレーンサイズ( 582, 60 );
72                     this.stレーンサイズ[ 4 ] = new STレーンサイズ( 476, 46 );
73                     this.stレーンサイズ[ 8 ] = new STレーンサイズ( 528, 46 );
74                     break;
75             }
76
77             if( eRDPosition == ERDPosition.RCRD )
78             {
79                 this.stレーンサイズ[ 7 ] = new STレーンサイズ( 748, 64 );
80                 this.stレーンサイズ[ 9 ] = new STレーンサイズ( 815, 64 );
81             }
82             else
83             {
84                 this.stレーンサイズ[ 7 ] = new STレーンサイズ( 818, 64 );
85                 this.stレーンサイズ[ 9 ] = new STレーンサイズ( 768, 64 );
86             }
87         }
88                 
89                 // CActivity 実装(共通クラスからの差分のみ)
90                 public override int On進行描画()
91                 {
92                         throw new InvalidOperationException( "t進行描画(C演奏判定ライン座標共通 演奏判定ライン共通 ) のほうを使用してください。" );
93                 }
94                 public override int t進行描画( C演奏判定ライン座標共通 演奏判定ライン座標 )
95                 {
96             if( base.b初めての進行描画 )
97             {
98                 this.tレーンタイプからレーン位置を設定する( CDTXMania.ConfigIni.eLaneType, CDTXMania.ConfigIni.eRDPosition );
99             }
100
101                         if( !base.b活性化してない )
102                         {
103                 #region[ 座標など定義 ]
104                 if( CDTXMania.ConfigIni.eJudgeAnimeType == Eタイプ.B )
105                 {
106                     #region[ コマ方式 ]
107                     for (int i = 0; i < 12; i++)
108                     {
109                         if (!base.st状態[i].ct進行.b停止中)
110                         {
111                             base.st状態[i].ct進行.t進行();
112                             if (base.st状態[i].ct進行.b終了値に達した)
113                             {
114                                 base.st状態[i].ct進行.t停止();
115                             }
116                             base.st状態[i].nRect = base.st状態[i].ct進行.n現在の値;
117                         }
118                     }
119                     #endregion
120                 }
121                 else if( CDTXMania.ConfigIni.eJudgeAnimeType == Eタイプ.C )
122                 {
123                     #region[ 新しいやつ ]
124                     for( int i = 0; i < 12; i++ )
125                     {
126                         if( !base.st状態[ i ].ct進行.b停止中 )
127                         {
128                             base.st状態[ i ].ct進行.t進行();
129                             if( base.st状態[ i ].ct進行.b終了値に達した )
130                             {
131                                 base.st状態[ i ].ct進行.t停止();
132                             }
133                             //int num2 = base.st状態[i].ct進行.n現在の値;
134                             int nNowFrame = base.st状態[ i ].ct進行.n現在の値;
135                             //CDTXMania.act文字コンソール.tPrint( 100, i * 16, C文字コンソール.Eフォント種別.白, base.st状態[ i ].ct進行.n現在の値.ToString() );
136                             //テンプレのようなもの。
137                             //拡大処理を先に行わないとめちゃくちゃになる。
138                             /*
139                             base.st状態[i].fX方向拡大率 = 1.0f;
140                             base.st状態[i].fY方向拡大率 = 1.0f;
141                             base.st状態[i].n相対X座標 = 0;
142                             base.st状態[i].n相対Y座標 = 0;
143                             base.st状態[i].n透明度 = 0;
144                             */
145
146                             //base.st状態[i].judge = E判定.Perfect;
147                             //nNowFrame = 0;
148                             if( base.st状態[ i ].judge == E判定.Perfect || base.st状態[ i ].judge == E判定.XPerfect )
149                             {
150                                 #region[ PERFECT ]
151                                 #region[ 0~10 ]
152                                 if( nNowFrame == 0 )
153                                 {
154                                     base.st状態[i].fX方向拡大率 = 1.67f;
155                                     base.st状態[i].fY方向拡大率 = 1.67f;
156
157                                     base.st状態[i].fZ軸回転度 = 0;
158                                     //base.st状態[i].fX方向拡大率 = 1f;
159                                     //base.st状態[i].fY方向拡大率 = 1f;
160                                     base.st状態[i].n相対X座標 = 28;
161                                     base.st状態[i].n相対Y座標 = 0;
162                                     base.st状態[i].n透明度 = 0;
163                                     
164                                     base.st状態[i].fX方向拡大率_棒 = 0f;
165                                     base.st状態[i].fY方向拡大率_棒 = 0f;
166                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian( -43f );
167                                 }
168                                 else if( nNowFrame == 1 )
169                                 {
170                                     base.st状態[i].fX方向拡大率 = 1.33f;
171                                     base.st状態[i].fY方向拡大率 = 1.33f;
172                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 7f );
173                                     base.st状態[i].n相対X座標 = 26;
174                                     base.st状態[i].n相対Y座標 = 4;
175                                     base.st状態[i].n透明度 = 0;
176
177                                     base.st状態[i].fX方向拡大率_棒 = 0.63f;
178                                     base.st状態[i].fY方向拡大率_棒 = 1f;
179                                     base.st状態[i].n相対X座標_棒 = -98;
180                                     base.st状態[i].n相対Y座標_棒 = 6;
181                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian( -43f );
182                                 }
183                                 else if( nNowFrame == 2 )
184                                 {
185                                     base.st状態[i].fX方向拡大率 = 1f;
186                                     base.st状態[i].fY方向拡大率 = 1f;
187                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
188                                     base.st状態[i].n相対X座標 = -2;
189                                     base.st状態[i].n相対Y座標 = 2;
190                                     base.st状態[i].n透明度 = 0;
191
192                                     base.st状態[i].fX方向拡大率B = 1f;
193                                     base.st状態[i].fY方向拡大率B = 1f;
194                                     base.st状態[i].n相対X座標B = -2;
195                                     base.st状態[i].n相対Y座標B = 2;
196                                     base.st状態[i].n透明度B = 127;
197
198                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
199                                     base.st状態[i].fY方向拡大率_棒 = 1f;
200                                     base.st状態[i].n相対X座標_棒 = -40;
201                                     base.st状態[i].n相対Y座標_棒 = 10;
202                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(-14.5f);
203                                 }
204                                 else if( nNowFrame == 3 )
205                                 {
206                                     base.st状態[i].fX方向拡大率 = 1f;
207                                     base.st状態[i].fY方向拡大率 = 1f;
208                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
209                                     base.st状態[i].n相対X座標 = -2;
210                                     base.st状態[i].n相対Y座標 = 2;
211                                     base.st状態[i].n透明度 = 0;
212
213                                     base.st状態[i].fX方向拡大率B = 1.1f;
214                                     base.st状態[i].fY方向拡大率B = 1.1f;
215                                     base.st状態[i].n相対X座標B = -3;
216                                     base.st状態[i].n相対Y座標B = 1;
217                                     base.st状態[i].n透明度B = 127;
218
219                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
220                                     base.st状態[i].fY方向拡大率_棒 = 1f;
221                                     base.st状態[i].n相対X座標_棒 = -40;
222                                     base.st状態[i].n相対Y座標_棒 = 10;
223                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(15f);
224                                 }
225                                 else if( nNowFrame == 4 )
226                                 {
227                                     base.st状態[i].fX方向拡大率 = 1f;
228                                     base.st状態[i].fY方向拡大率 = 1f;
229                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
230                                     base.st状態[i].n相対X座標 = -2;
231                                     base.st状態[i].n相対Y座標 = 2;
232                                     base.st状態[i].n透明度 = 0;
233
234                                     base.st状態[i].fX方向拡大率B = 1.2f;
235                                     base.st状態[i].fY方向拡大率B = 1.2f;
236                                     base.st状態[i].n相対X座標B = -4;
237                                     base.st状態[i].n相対Y座標B = 0;
238                                     base.st状態[i].n透明度B = 127;
239
240                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
241                                     base.st状態[i].fY方向拡大率_棒 = 1f;
242                                     base.st状態[i].n相対X座標_棒 = -40;
243                                     base.st状態[i].n相対Y座標_棒 = 10;
244                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(18.5f);
245                                 }
246                                 else if( nNowFrame == 5 )
247                                 {
248                                     base.st状態[i].fX方向拡大率 = 1f;
249                                     base.st状態[i].fY方向拡大率 = 1f;
250                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
251                                     base.st状態[i].n相対X座標 = -2;
252                                     base.st状態[i].n相対Y座標 = 2;
253                                     base.st状態[i].n透明度 = 0;
254
255                                     base.st状態[i].fX方向拡大率B = 1.25f;
256                                     base.st状態[i].fY方向拡大率B = 1.25f;
257                                     base.st状態[i].n相対X座標B = -5;
258                                     base.st状態[i].n相対Y座標B = -1;
259                                     base.st状態[i].n透明度B = 127;
260
261                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
262                                     base.st状態[i].fY方向拡大率_棒 = 1f;
263                                     base.st状態[i].n相対X座標_棒 = -38;
264                                     base.st状態[i].n相対Y座標_棒 = 10;
265                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(20.5f);
266                                 }
267                                 else if( nNowFrame == 6 )
268                                 {
269                                     base.st状態[i].fX方向拡大率 = 1f;
270                                     base.st状態[i].fY方向拡大率 = 1f;
271                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
272                                     base.st状態[i].n相対X座標 = -2;
273                                     base.st状態[i].n相対Y座標 = 2;
274                                     base.st状態[i].n透明度 = 0;
275
276                                     base.st状態[i].fX方向拡大率B = 1.3f;
277                                     base.st状態[i].fY方向拡大率B = 1.3f;
278                                     base.st状態[i].n相対X座標B = -6;
279                                     base.st状態[i].n相対Y座標B = -2;
280                                     base.st状態[i].n透明度B = 127;
281
282                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
283                                     base.st状態[i].fY方向拡大率_棒 = 1f;
284                                     base.st状態[i].n相対X座標_棒 = -38;
285                                     base.st状態[i].n相対Y座標_棒 = 10;
286                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(20.5f);
287                                 }
288                                 else if( nNowFrame == 7 )
289                                 {
290                                     base.st状態[i].fX方向拡大率 = 1f;
291                                     base.st状態[i].fY方向拡大率 = 1f;
292                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
293                                     base.st状態[i].n相対X座標 = -2;
294                                     base.st状態[i].n相対Y座標 = 2;
295                                     base.st状態[i].n透明度 = 0;
296
297                                     base.st状態[i].fX方向拡大率B = 1.35f;
298                                     base.st状態[i].fY方向拡大率B = 1.35f;
299                                     base.st状態[i].n相対X座標B = -7;
300                                     base.st状態[i].n相対Y座標B = -3;
301                                     base.st状態[i].n透明度B = 127;
302
303                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
304                                     base.st状態[i].fY方向拡大率_棒 = 1f;
305                                     base.st状態[i].n相対X座標_棒 = -39;
306                                     base.st状態[i].n相対Y座標_棒 = 10;
307                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(22f);
308                                 }
309                                 else if( nNowFrame == 8 )
310                                 {
311                                     base.st状態[i].fX方向拡大率 = 1f;
312                                     base.st状態[i].fY方向拡大率 = 1f;
313                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
314                                     base.st状態[i].n相対X座標 = -2;
315                                     base.st状態[i].n相対Y座標 = 2;
316                                     base.st状態[i].n透明度 = 0;
317
318                                     base.st状態[i].fX方向拡大率B = 1.4f;
319                                     base.st状態[i].fY方向拡大率B = 1.4f;
320                                     base.st状態[i].n相対X座標B = -8;
321                                     base.st状態[i].n相対Y座標B = -4;
322                                     base.st状態[i].n透明度B = 127;
323
324                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
325                                     base.st状態[i].fY方向拡大率_棒 = 1f;
326                                     base.st状態[i].n相対X座標_棒 = -40;
327                                     base.st状態[i].n相対Y座標_棒 = 10;
328                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(23.5f);
329                                 }
330                                 else if( nNowFrame == 9 )
331                                 {
332                                     base.st状態[i].fX方向拡大率 = 1f;
333                                     base.st状態[i].fY方向拡大率 = 1f;
334                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
335                                     base.st状態[i].n相対X座標 = -2;
336                                     base.st状態[i].n相対Y座標 = 2;
337                                     base.st状態[i].n透明度 = 0;
338
339                                     base.st状態[i].fX方向拡大率B = 1.45f;
340                                     base.st状態[i].fY方向拡大率B = 1.45f;
341                                     base.st状態[i].n相対X座標B = -9;
342                                     base.st状態[i].n相対Y座標B = -5;
343                                     base.st状態[i].n透明度B = 112;
344
345                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
346                                     base.st状態[i].fY方向拡大率_棒 = 1f;
347                                     base.st状態[i].n相対X座標_棒 = -40;
348                                     base.st状態[i].n相対Y座標_棒 = 10;
349                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(25.5f);
350                                 }
351                                 else if( nNowFrame == 10 )
352                                 {
353                                     base.st状態[i].fX方向拡大率 = 1f;
354                                     base.st状態[i].fY方向拡大率 = 1f;
355                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
356                                     base.st状態[i].n相対X座標 = -2;
357                                     base.st状態[i].n相対Y座標 = 2;
358                                     base.st状態[i].n透明度 = 0;
359
360
361                                     base.st状態[i].fX方向拡大率B = 1.5f;
362                                     base.st状態[i].fY方向拡大率B = 1.5f;
363                                     base.st状態[i].n相対X座標B = -10;
364                                     base.st状態[i].n相対Y座標B = -6;
365                                     base.st状態[i].n透明度B = 100;
366
367
368                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
369                                     base.st状態[i].fY方向拡大率_棒 = 1f;
370                                     base.st状態[i].n相対X座標_棒 = -40;
371                                     base.st状態[i].n相対Y座標_棒 = 10;
372                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(27f);
373                                 }
374                                 #endregion
375                                 #region[ 11~18 ]
376                                 else if( nNowFrame == 11 )
377                                 {
378                                     base.st状態[i].fX方向拡大率 = 1f;
379                                     base.st状態[i].fY方向拡大率 = 1f;
380                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
381                                     base.st状態[i].n相対X座標 = -2;
382                                     base.st状態[i].n相対Y座標 = 2;
383                                     base.st状態[i].n透明度 = 0;
384
385                                     base.st状態[i].fX方向拡大率B = 1.55f;
386                                     base.st状態[i].fY方向拡大率B = 1.55f;
387                                     base.st状態[i].n相対X座標B = -11;
388                                     base.st状態[i].n相対Y座標B = -7;
389                                     base.st状態[i].n透明度B = 70;
390
391                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
392                                     base.st状態[i].fY方向拡大率_棒 = 1f;
393                                     base.st状態[i].n相対X座標_棒 = -40;
394                                     base.st状態[i].n相対Y座標_棒 = 10;
395                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(29.5f);
396                                 }
397                                 else if( nNowFrame == 12 )
398                                 {
399                                     base.st状態[i].fX方向拡大率 = 1f;
400                                     base.st状態[i].fY方向拡大率 = 1f;
401                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
402                                     base.st状態[i].n相対X座標 = -2;
403                                     base.st状態[i].n相対Y座標 = 2;
404                                     base.st状態[i].n透明度 = 0;
405
406                                     base.st状態[i].fX方向拡大率B = 1.6f;
407                                     base.st状態[i].fY方向拡大率B = 1.6f;
408                                     base.st状態[i].n相対X座標B = -12;
409                                     base.st状態[i].n相対Y座標B = -8;
410                                     base.st状態[i].n透明度B = 40;
411
412                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
413                                     base.st状態[i].fY方向拡大率_棒 = 1f;
414                                     base.st状態[i].n相対X座標_棒 = -38;
415                                     base.st状態[i].n相対Y座標_棒 = 10;
416                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(31f);
417                                 }
418                                 else if( nNowFrame == 13 )
419                                 {
420                                     base.st状態[i].fX方向拡大率 = 1f;
421                                     base.st状態[i].fY方向拡大率 = 1f;
422                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
423                                     base.st状態[i].n相対X座標 = -2;
424                                     base.st状態[i].n相対Y座標 = 2;
425                                     base.st状態[i].n透明度 = 0;
426
427                                     base.st状態[i].fX方向拡大率B = 1.65f;
428                                     base.st状態[i].fY方向拡大率B = 1.65f;
429                                     base.st状態[i].n相対X座標B = -13;
430                                     base.st状態[i].n相対Y座標B = -9;
431                                     base.st状態[i].n透明度B = 40;
432
433                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
434                                     base.st状態[i].fY方向拡大率_棒 = 1f;
435                                     base.st状態[i].n相対X座標_棒 = -38;
436                                     base.st状態[i].n相対Y座標_棒 = 10;
437                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(32.5f);
438                                 }
439                                 else if( nNowFrame == 14 )
440                                 {
441                                     base.st状態[i].fX方向拡大率 = 1f;
442                                     base.st状態[i].fY方向拡大率 = 1f;
443                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
444                                     base.st状態[i].n相対X座標 = -2;
445                                     base.st状態[i].n相対Y座標 = 2;
446                                     base.st状態[i].n透明度 = 0;
447
448                                     base.st状態[i].fX方向拡大率B = 1.7f;
449                                     base.st状態[i].fY方向拡大率B = 1.7f;
450                                     base.st状態[i].n相対X座標B = -14;
451                                     base.st状態[i].n相対Y座標B = -10;
452                                     base.st状態[i].n透明度B = 20;
453
454                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
455                                     base.st状態[i].fY方向拡大率_棒 = 1f;
456                                     base.st状態[i].n相対X座標_棒 = -38;
457                                     base.st状態[i].n相対Y座標_棒 = 10;
458                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(34f);
459                                 }
460                                 else if( nNowFrame == 15 )
461                                 {
462                                     base.st状態[i].fX方向拡大率 = 1f;
463                                     base.st状態[i].fY方向拡大率 = 1f;
464                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
465                                     base.st状態[i].n相対X座標 = -2;
466                                     base.st状態[i].n相対Y座標 = 2;
467                                     base.st状態[i].n透明度 = 0;
468
469                                     base.st状態[i].fX方向拡大率B = 1f;
470                                     base.st状態[i].fY方向拡大率B = 1f;
471                                     base.st状態[i].n相対X座標B = -14;
472                                     base.st状態[i].n相対Y座標B = -10;
473                                     base.st状態[i].n透明度B = 0;
474
475                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
476                                     base.st状態[i].fY方向拡大率_棒 = 1f;
477                                     base.st状態[i].n相対X座標_棒 = -38;
478                                     base.st状態[i].n相対Y座標_棒 = 10;
479                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(36f);
480                                 }
481                                 else if( nNowFrame == 16 )
482                                 {
483                                     base.st状態[i].fX方向拡大率 = 1f;
484                                     base.st状態[i].fY方向拡大率 = 1f;
485                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
486                                     base.st状態[i].n相対X座標 = -2;
487                                     base.st状態[i].n相対Y座標 = 2;
488                                     base.st状態[i].n透明度 = 0;
489
490                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
491                                     base.st状態[i].fY方向拡大率_棒 = 1f;
492                                     base.st状態[i].n相対X座標_棒 = -38;
493                                     base.st状態[i].n相対Y座標_棒 = 10;
494                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(38f);
495                                 }
496                                 else if( nNowFrame == 17 )
497                                 {
498                                     base.st状態[i].fX方向拡大率 = 1f;
499                                     base.st状態[i].fY方向拡大率 = 1f;
500                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
501                                     base.st状態[i].n相対X座標 = -2;
502                                     base.st状態[i].n相対Y座標 = 2;
503                                     base.st状態[i].n透明度 = 0;
504
505                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
506                                     base.st状態[i].fY方向拡大率_棒 = 1f;
507                                     base.st状態[i].n相対X座標_棒 = -46;
508                                     base.st状態[i].n相対Y座標_棒 = 10;
509                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(40.5f);
510                                 }
511                                 else if( nNowFrame == 18 )
512                                 {
513                                     base.st状態[i].fX方向拡大率 = 1f;
514                                     base.st状態[i].fY方向拡大率 = 1f;
515                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
516                                     base.st状態[i].n相対X座標 = -2;
517                                     base.st状態[i].n相対Y座標 = 2;
518                                     base.st状態[i].n透明度 = 0;
519
520                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
521                                     base.st状態[i].fY方向拡大率_棒 = 1f;
522                                     base.st状態[i].n相対X座標_棒 = -46;
523                                     base.st状態[i].n相対Y座標_棒 = 10;
524                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(43f);
525                                 }
526                                 #endregion
527                                 #region[ 19~23 ]
528                                 else if( nNowFrame == 19 )
529                                 {
530                                     base.st状態[i].fX方向拡大率 = 1.22f;
531                                     base.st状態[i].fY方向拡大率 = 0.77f;
532                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
533                                     base.st状態[i].n相対X座標 = 16;
534                                     base.st状態[i].n相対Y座標 = -2;
535                                     base.st状態[i].n透明度 = 0;
536
537                                     base.st状態[i].fX方向拡大率_棒 = 1.1f;
538                                     base.st状態[i].fY方向拡大率_棒 = 1f;
539                                     base.st状態[i].n相対X座標_棒 = -55;
540                                     base.st状態[i].n相対Y座標_棒 = 10;
541                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(43f);
542                                 }
543                                 else if( nNowFrame == 20 )
544                                 {
545                                     base.st状態[i].fX方向拡大率 = 1.45f;
546                                     base.st状態[i].fY方向拡大率 = 0.64f;
547                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
548                                     base.st状態[i].n相対X座標 = 36;
549                                     base.st状態[i].n相対Y座標 = -6;
550                                     base.st状態[i].n透明度 = 0;
551
552                                     base.st状態[i].fX方向拡大率_棒 = 0.9f;
553                                     base.st状態[i].fY方向拡大率_棒 = 0.7f;
554                                     base.st状態[i].n相対X座標_棒 = -70;
555                                     base.st状態[i].n相対Y座標_棒 = 4;
556                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(43f);
557                                 }
558                                 else if( nNowFrame == 21 )
559                                 {
560                                     base.st状態[i].fX方向拡大率 = 1.70f;
561                                     base.st状態[i].fY方向拡大率 = 0.41f;
562                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
563                                     base.st状態[i].n相対X座標 = 57;
564                                     base.st状態[i].n相対Y座標 = -9;
565                                     base.st状態[i].n透明度 = 0;
566
567                                     base.st状態[i].fX方向拡大率_棒 = 0.6f;
568                                     base.st状態[i].fY方向拡大率_棒 = 0.45f;
569                                     base.st状態[i].n相対X座標_棒 = -98;
570                                     base.st状態[i].n相対Y座標_棒 = 2;
571                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(43f);
572                                 }
573                                 else if( nNowFrame == 22 )
574                                 {
575                                     base.st状態[i].fX方向拡大率 = 1.91f;
576                                     base.st状態[i].fY方向拡大率 = 0.23f;
577                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
578                                     base.st状態[i].n相対X座標 = 75;
579                                     base.st状態[i].n相対Y座標 = -12;
580                                     base.st状態[i].n透明度 = 0;
581
582                                     base.st状態[i].fX方向拡大率_棒 = 0.4f;
583                                     base.st状態[i].fY方向拡大率_棒 = 0.25f;
584                                     base.st状態[i].n相対X座標_棒 = -120;
585                                     base.st状態[i].n相対Y座標_棒 = 2;
586                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(43f);
587                                 }
588                                 else if( nNowFrame == 23 )
589                                 {
590                                     base.st状態[i].fX方向拡大率 = 1.91f;
591                                     base.st状態[i].fY方向拡大率 = 0.23f;
592                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( 15f );
593                                     base.st状態[i].n相対X座標 = 75;
594                                     base.st状態[i].n相対Y座標 = -12;
595                                     base.st状態[i].n透明度 = 0;
596
597                                     base.st状態[i].fX方向拡大率_棒 = 0f;
598                                     base.st状態[i].fY方向拡大率_棒 = 0f;
599                                     base.st状態[i].n相対X座標_棒 = -120;
600                                     base.st状態[i].n相対Y座標_棒 = 2;
601                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(43f);
602                                 }
603                                 #endregion
604                                 #endregion
605                             }
606                             else if( base.st状態[ i ].judge == E判定.Great )
607                             {
608                                 #region[ GREAT ]
609                                 #region[ 0~10 ]
610                                 if (nNowFrame == 0)
611                                 {
612                                     base.st状態[i].fX方向拡大率 = 1.67f;
613                                     base.st状態[i].fY方向拡大率 = 1.67f;
614
615                                     base.st状態[i].fZ軸回転度 = 0;
616                                     //base.st状態[i].fX方向拡大率 = 1f;
617                                     //base.st状態[i].fY方向拡大率 = 1f;
618                                     base.st状態[i].n相対X座標 = 28;
619                                     base.st状態[i].n相対Y座標 = 0;
620                                     base.st状態[i].n透明度 = 0;
621
622                                     base.st状態[i].fX方向拡大率_棒 = 0f;
623                                     base.st状態[i].fY方向拡大率_棒 = 0f;
624                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(-43f);
625                                 }
626                                 else if (nNowFrame == 1)
627                                 {
628                                     base.st状態[i].fX方向拡大率 = 1.33f;
629                                     base.st状態[i].fY方向拡大率 = 1.33f;
630                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(7f);
631                                     base.st状態[i].n相対X座標 = 26;
632                                     base.st状態[i].n相対Y座標 = 4;
633                                     base.st状態[i].n透明度 = 0;
634
635                                     base.st状態[i].fX方向拡大率_棒 = 0.63f;
636                                     base.st状態[i].fY方向拡大率_棒 = 1f;
637                                     base.st状態[i].n相対X座標_棒 = -98;
638                                     base.st状態[i].n相対Y座標_棒 = 6;
639                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(-43f);
640                                 }
641                                 else if (nNowFrame == 2)
642                                 {
643                                     base.st状態[i].fX方向拡大率 = 1f;
644                                     base.st状態[i].fY方向拡大率 = 1f;
645                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
646                                     base.st状態[i].n相対X座標 = -2;
647                                     base.st状態[i].n相対Y座標 = 2;
648                                     base.st状態[i].n透明度 = 0;
649
650                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
651                                     base.st状態[i].fY方向拡大率_棒 = 1f;
652                                     base.st状態[i].n相対X座標_棒 = -40;
653                                     base.st状態[i].n相対Y座標_棒 = 10;
654                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(-14.5f);
655                                 }
656                                 else if (nNowFrame == 3)
657                                 {
658                                     base.st状態[i].fX方向拡大率 = 1f;
659                                     base.st状態[i].fY方向拡大率 = 1f;
660                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
661                                     base.st状態[i].n相対X座標 = -2;
662                                     base.st状態[i].n相対Y座標 = 2;
663                                     base.st状態[i].n透明度 = 0;
664
665                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
666                                     base.st状態[i].fY方向拡大率_棒 = 1f;
667                                     base.st状態[i].n相対X座標_棒 = -40;
668                                     base.st状態[i].n相対Y座標_棒 = 10;
669                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(15f);
670                                 }
671                                 else if (nNowFrame == 4)
672                                 {
673                                     base.st状態[i].fX方向拡大率 = 1f;
674                                     base.st状態[i].fY方向拡大率 = 1f;
675                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
676                                     base.st状態[i].n相対X座標 = -2;
677                                     base.st状態[i].n相対Y座標 = 2;
678                                     base.st状態[i].n透明度 = 0;
679
680                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
681                                     base.st状態[i].fY方向拡大率_棒 = 1f;
682                                     base.st状態[i].n相対X座標_棒 = -40;
683                                     base.st状態[i].n相対Y座標_棒 = 10;
684                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(18.5f);
685                                 }
686                                 else if (nNowFrame == 5)
687                                 {
688                                     base.st状態[i].fX方向拡大率 = 1f;
689                                     base.st状態[i].fY方向拡大率 = 1f;
690                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
691                                     base.st状態[i].n相対X座標 = -2;
692                                     base.st状態[i].n相対Y座標 = 2;
693                                     base.st状態[i].n透明度 = 0;
694
695                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
696                                     base.st状態[i].fY方向拡大率_棒 = 1f;
697                                     base.st状態[i].n相対X座標_棒 = -38;
698                                     base.st状態[i].n相対Y座標_棒 = 10;
699                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(20.5f);
700                                 }
701                                 else if (nNowFrame == 6)
702                                 {
703                                     base.st状態[i].fX方向拡大率 = 1f;
704                                     base.st状態[i].fY方向拡大率 = 1f;
705                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
706                                     base.st状態[i].n相対X座標 = -2;
707                                     base.st状態[i].n相対Y座標 = 2;
708                                     base.st状態[i].n透明度 = 0;
709
710                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
711                                     base.st状態[i].fY方向拡大率_棒 = 1f;
712                                     base.st状態[i].n相対X座標_棒 = -38;
713                                     base.st状態[i].n相対Y座標_棒 = 10;
714                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(20.5f);
715                                 }
716                                 else if (nNowFrame == 7)
717                                 {
718                                     base.st状態[i].fX方向拡大率 = 1f;
719                                     base.st状態[i].fY方向拡大率 = 1f;
720                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
721                                     base.st状態[i].n相対X座標 = -2;
722                                     base.st状態[i].n相対Y座標 = 2;
723                                     base.st状態[i].n透明度 = 0;
724
725                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
726                                     base.st状態[i].fY方向拡大率_棒 = 1f;
727                                     base.st状態[i].n相対X座標_棒 = -39;
728                                     base.st状態[i].n相対Y座標_棒 = 10;
729                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(22f);
730                                 }
731                                 else if (nNowFrame == 8)
732                                 {
733                                     base.st状態[i].fX方向拡大率 = 1f;
734                                     base.st状態[i].fY方向拡大率 = 1f;
735                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
736                                     base.st状態[i].n相対X座標 = -2;
737                                     base.st状態[i].n相対Y座標 = 2;
738                                     base.st状態[i].n透明度 = 0;
739
740                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
741                                     base.st状態[i].fY方向拡大率_棒 = 1f;
742                                     base.st状態[i].n相対X座標_棒 = -40;
743                                     base.st状態[i].n相対Y座標_棒 = 10;
744                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(23.5f);
745                                 }
746                                 else if (nNowFrame == 9)
747                                 {
748                                     base.st状態[i].fX方向拡大率 = 1f;
749                                     base.st状態[i].fY方向拡大率 = 1f;
750                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
751                                     base.st状態[i].n相対X座標 = -2;
752                                     base.st状態[i].n相対Y座標 = 2;
753                                     base.st状態[i].n透明度 = 0;
754
755                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
756                                     base.st状態[i].fY方向拡大率_棒 = 1f;
757                                     base.st状態[i].n相対X座標_棒 = -40;
758                                     base.st状態[i].n相対Y座標_棒 = 10;
759                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(25.5f);
760                                 }
761                                 else if (nNowFrame == 10)
762                                 {
763                                     base.st状態[i].fX方向拡大率 = 1f;
764                                     base.st状態[i].fY方向拡大率 = 1f;
765                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
766                                     base.st状態[i].n相対X座標 = -2;
767                                     base.st状態[i].n相対Y座標 = 2;
768                                     base.st状態[i].n透明度 = 0;
769
770                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
771                                     base.st状態[i].fY方向拡大率_棒 = 1f;
772                                     base.st状態[i].n相対X座標_棒 = -40;
773                                     base.st状態[i].n相対Y座標_棒 = 10;
774                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(27f);
775                                 }
776                                 #endregion
777                                 #region[ 11~18 ]
778                                 else if (nNowFrame == 11)
779                                 {
780                                     base.st状態[i].fX方向拡大率 = 1f;
781                                     base.st状態[i].fY方向拡大率 = 1f;
782                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
783                                     base.st状態[i].n相対X座標 = -2;
784                                     base.st状態[i].n相対Y座標 = 2;
785                                     base.st状態[i].n透明度 = 0;
786
787                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
788                                     base.st状態[i].fY方向拡大率_棒 = 1f;
789                                     base.st状態[i].n相対X座標_棒 = -40;
790                                     base.st状態[i].n相対Y座標_棒 = 10;
791                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(29.5f);
792                                 }
793                                 else if (nNowFrame == 12)
794                                 {
795                                     base.st状態[i].fX方向拡大率 = 1f;
796                                     base.st状態[i].fY方向拡大率 = 1f;
797                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
798                                     base.st状態[i].n相対X座標 = -2;
799                                     base.st状態[i].n相対Y座標 = 2;
800                                     base.st状態[i].n透明度 = 0;
801
802                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
803                                     base.st状態[i].fY方向拡大率_棒 = 1f;
804                                     base.st状態[i].n相対X座標_棒 = -38;
805                                     base.st状態[i].n相対Y座標_棒 = 10;
806                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(31f);
807                                 }
808                                 else if (nNowFrame == 13)
809                                 {
810                                     base.st状態[i].fX方向拡大率 = 1f;
811                                     base.st状態[i].fY方向拡大率 = 1f;
812                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
813                                     base.st状態[i].n相対X座標 = -2;
814                                     base.st状態[i].n相対Y座標 = 2;
815                                     base.st状態[i].n透明度 = 0;
816
817                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
818                                     base.st状態[i].fY方向拡大率_棒 = 1f;
819                                     base.st状態[i].n相対X座標_棒 = -38;
820                                     base.st状態[i].n相対Y座標_棒 = 10;
821                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(32.5f);
822                                 }
823                                 else if (nNowFrame == 14)
824                                 {
825                                     base.st状態[i].fX方向拡大率 = 1f;
826                                     base.st状態[i].fY方向拡大率 = 1f;
827                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
828                                     base.st状態[i].n相対X座標 = -2;
829                                     base.st状態[i].n相対Y座標 = 2;
830                                     base.st状態[i].n透明度 = 0;
831
832                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
833                                     base.st状態[i].fY方向拡大率_棒 = 1f;
834                                     base.st状態[i].n相対X座標_棒 = -38;
835                                     base.st状態[i].n相対Y座標_棒 = 10;
836                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(34f);
837                                 }
838                                 else if (nNowFrame == 15)
839                                 {
840                                     base.st状態[i].fX方向拡大率 = 1f;
841                                     base.st状態[i].fY方向拡大率 = 1f;
842                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
843                                     base.st状態[i].n相対X座標 = -2;
844                                     base.st状態[i].n相対Y座標 = 2;
845                                     base.st状態[i].n透明度 = 0;
846
847                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
848                                     base.st状態[i].fY方向拡大率_棒 = 1f;
849                                     base.st状態[i].n相対X座標_棒 = -38;
850                                     base.st状態[i].n相対Y座標_棒 = 10;
851                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(36f);
852                                 }
853                                 else if (nNowFrame == 16)
854                                 {
855                                     base.st状態[i].fX方向拡大率 = 1f;
856                                     base.st状態[i].fY方向拡大率 = 1f;
857                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
858                                     base.st状態[i].n相対X座標 = -2;
859                                     base.st状態[i].n相対Y座標 = 2;
860                                     base.st状態[i].n透明度 = 0;
861
862                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
863                                     base.st状態[i].fY方向拡大率_棒 = 1f;
864                                     base.st状態[i].n相対X座標_棒 = -38;
865                                     base.st状態[i].n相対Y座標_棒 = 10;
866                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(38f);
867                                 }
868                                 else if (nNowFrame == 17)
869                                 {
870                                     base.st状態[i].fX方向拡大率 = 1f;
871                                     base.st状態[i].fY方向拡大率 = 1f;
872                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
873                                     base.st状態[i].n相対X座標 = -2;
874                                     base.st状態[i].n相対Y座標 = 2;
875                                     base.st状態[i].n透明度 = 0;
876
877                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
878                                     base.st状態[i].fY方向拡大率_棒 = 1f;
879                                     base.st状態[i].n相対X座標_棒 = -46;
880                                     base.st状態[i].n相対Y座標_棒 = 10;
881                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(40.5f);
882                                 }
883                                 else if (nNowFrame == 18)
884                                 {
885                                     base.st状態[i].fX方向拡大率 = 1f;
886                                     base.st状態[i].fY方向拡大率 = 1f;
887                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
888                                     base.st状態[i].n相対X座標 = -2;
889                                     base.st状態[i].n相対Y座標 = 2;
890                                     base.st状態[i].n透明度 = 0;
891
892                                     base.st状態[i].fX方向拡大率_棒 = 1.25f;
893                                     base.st状態[i].fY方向拡大率_棒 = 1f;
894                                     base.st状態[i].n相対X座標_棒 = -46;
895                                     base.st状態[i].n相対Y座標_棒 = 10;
896                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(43f);
897                                 }
898                                 #endregion
899                                 #region[ 19~23 ]
900                                 else if (nNowFrame == 19)
901                                 {
902                                     base.st状態[i].fX方向拡大率 = 1.22f;
903                                     base.st状態[i].fY方向拡大率 = 0.77f;
904                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
905                                     base.st状態[i].n相対X座標 = 16;
906                                     base.st状態[i].n相対Y座標 = -2;
907                                     base.st状態[i].n透明度 = 0;
908
909                                     base.st状態[i].fX方向拡大率_棒 = 1.1f;
910                                     base.st状態[i].fY方向拡大率_棒 = 1f;
911                                     base.st状態[i].n相対X座標_棒 = -55;
912                                     base.st状態[i].n相対Y座標_棒 = 10;
913                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(43f);
914                                 }
915                                 else if (nNowFrame == 20)
916                                 {
917                                     base.st状態[i].fX方向拡大率 = 1.45f;
918                                     base.st状態[i].fY方向拡大率 = 0.64f;
919                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
920                                     base.st状態[i].n相対X座標 = 36;
921                                     base.st状態[i].n相対Y座標 = -6;
922                                     base.st状態[i].n透明度 = 0;
923
924                                     base.st状態[i].fX方向拡大率_棒 = 0.9f;
925                                     base.st状態[i].fY方向拡大率_棒 = 0.7f;
926                                     base.st状態[i].n相対X座標_棒 = -70;
927                                     base.st状態[i].n相対Y座標_棒 = 4;
928                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(43f);
929                                 }
930                                 else if (nNowFrame == 21)
931                                 {
932                                     base.st状態[i].fX方向拡大率 = 1.70f;
933                                     base.st状態[i].fY方向拡大率 = 0.41f;
934                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
935                                     base.st状態[i].n相対X座標 = 57;
936                                     base.st状態[i].n相対Y座標 = -9;
937                                     base.st状態[i].n透明度 = 0;
938
939                                     base.st状態[i].fX方向拡大率_棒 = 0.6f;
940                                     base.st状態[i].fY方向拡大率_棒 = 0.45f;
941                                     base.st状態[i].n相対X座標_棒 = -98;
942                                     base.st状態[i].n相対Y座標_棒 = 2;
943                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(43f);
944                                 }
945                                 else if (nNowFrame == 22)
946                                 {
947                                     base.st状態[i].fX方向拡大率 = 1.91f;
948                                     base.st状態[i].fY方向拡大率 = 0.23f;
949                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
950                                     base.st状態[i].n相対X座標 = 75;
951                                     base.st状態[i].n相対Y座標 = -12;
952                                     base.st状態[i].n透明度 = 0;
953
954                                     base.st状態[i].fX方向拡大率_棒 = 0.4f;
955                                     base.st状態[i].fY方向拡大率_棒 = 0.25f;
956                                     base.st状態[i].n相対X座標_棒 = -120;
957                                     base.st状態[i].n相対Y座標_棒 = 2;
958                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(43f);
959                                 }
960                                 else if (nNowFrame == 23)
961                                 {
962                                     base.st状態[i].fX方向拡大率 = 1.91f;
963                                     base.st状態[i].fY方向拡大率 = 0.23f;
964                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian(15f);
965                                     base.st状態[i].n相対X座標 = 75;
966                                     base.st状態[i].n相対Y座標 = -12;
967                                     base.st状態[i].n透明度 = 0;
968
969                                     base.st状態[i].fX方向拡大率_棒 = 0f;
970                                     base.st状態[i].fY方向拡大率_棒 = 0f;
971                                     base.st状態[i].n相対X座標_棒 = -120;
972                                     base.st状態[i].n相対Y座標_棒 = 2;
973                                     base.st状態[i].fZ軸回転度_棒 = C変換.DegreeToRadian(43f);
974                                 }
975                                 #endregion
976                                 #endregion
977                             }
978                             else if( base.st状態[ i ].judge == E判定.Good )
979                             {
980                                 #region[ GOOD ]
981                                 if( nNowFrame == 0 )
982                                 {
983                                     base.st状態[i].fX方向拡大率 = 0.625f;
984                                     base.st状態[i].fY方向拡大率 = 3.70f;
985                                     base.st状態[i].n相対X座標 = -19;
986                                     base.st状態[i].n相対Y座標 = 0;
987                                     base.st状態[i].n透明度 = 0;
988                                 }
989                                 else if( nNowFrame == 1 )
990                                 {
991                                     base.st状態[i].fX方向拡大率 = 1.125f;
992                                     base.st状態[i].fY方向拡大率 = 2.00f;
993                                     base.st状態[i].n相対X座標 = 4;
994                                     base.st状態[i].n相対Y座標 = 1;
995                                     base.st状態[i].n透明度 = 0;
996                                 }
997                                 else if( nNowFrame == 2 )
998                                 {
999                                     base.st状態[i].fX方向拡大率 = 1.375f;
1000                                     base.st状態[i].fY方向拡大率 = 0.66f;
1001                                     base.st状態[i].n相対X座標 = 13;
1002                                     base.st状態[i].n相対Y座標 = 1;
1003                                     base.st状態[i].n透明度 = 0;
1004                                 }
1005                                 else if( nNowFrame == 3 )
1006                                 {
1007                                     base.st状態[i].fX方向拡大率 = 1.25f;
1008                                     base.st状態[i].fY方向拡大率 = 1f;
1009                                     base.st状態[i].n相対X座標 = 8;
1010                                     base.st状態[i].n相対Y座標 = 1;
1011                                     base.st状態[i].n透明度 = 0;
1012                                 }
1013                                 else if( nNowFrame >= 4 && nNowFrame <= 18 )
1014                                 {
1015                                     base.st状態[i].fX方向拡大率 = 1f;
1016                                     base.st状態[i].fY方向拡大率 = 1f;
1017                                     base.st状態[i].n相対X座標 = 0;
1018                                     base.st状態[i].n相対Y座標 = 1;
1019                                     base.st状態[i].n透明度 = 0;
1020                                 }
1021                                 else if( nNowFrame == 19 )
1022                                 {
1023                                     base.st状態[i].fX方向拡大率 = 1.25f;
1024                                     base.st状態[i].fY方向拡大率 = 1f;
1025                                     base.st状態[i].n相対X座標 = 8;
1026                                     base.st状態[i].n相対Y座標 = 1;
1027                                     base.st状態[i].n透明度 = 0;
1028                                 }
1029                                 else if( nNowFrame == 20 )
1030                                 {
1031                                     base.st状態[i].fX方向拡大率 = 1.375f;
1032                                     base.st状態[i].fY方向拡大率 = 0.66f;
1033                                     base.st状態[i].n相対X座標 = 13;
1034                                     base.st状態[i].n相対Y座標 = 1;
1035                                     base.st状態[i].n透明度 = 0;
1036                                 }
1037                                 else if( nNowFrame == 21 )
1038                                 {
1039                                     base.st状態[i].fX方向拡大率 = 1.50f;
1040                                     base.st状態[i].fY方向拡大率 = 0.50f;
1041                                     base.st状態[i].n相対X座標 = 20;
1042                                     base.st状態[i].n相対Y座標 = 1;
1043                                     base.st状態[i].n透明度 = 0;
1044                                 }
1045                                 else if( nNowFrame == 22 )
1046                                 {
1047                                     base.st状態[i].fX方向拡大率 = 1.91f;
1048                                     base.st状態[i].fY方向拡大率 = 0.23f;
1049                                     base.st状態[i].n相対X座標 = 37;
1050                                     base.st状態[i].n相対Y座標 = 1;
1051                                     base.st状態[i].n透明度 = 0;
1052                                 }
1053                                 else if( nNowFrame == 23 )
1054                                 {
1055                                     base.st状態[i].fX方向拡大率 = 1.91f;
1056                                     base.st状態[i].fY方向拡大率 = 0.23f;
1057                                     base.st状態[i].n相対X座標 = 37;
1058                                     base.st状態[i].n相対Y座標 = 1;
1059                                     base.st状態[i].n透明度 = 0;
1060                                 }
1061                                 #endregion
1062                             }
1063                             else if( base.st状態[ i ].judge == E判定.Poor || base.st状態[ i ].judge == E判定.Miss )
1064                             {
1065                                 #region[ POOR & MISS ]
1066                                 if( nNowFrame == 0 )
1067                                 {
1068                                     base.st状態[i].n相対X座標 = 0;
1069                                     base.st状態[i].n相対Y座標 = -18;
1070                                     base.st状態[i].n透明度 = 100;
1071                                 }
1072                                 else if( nNowFrame == 1 )
1073                                 {
1074                                     base.st状態[i].n相対X座標 = 0;
1075                                     base.st状態[i].n相対Y座標 = -12;
1076                                     base.st状態[i].n透明度 = 140;
1077                                 }
1078                                 else if( nNowFrame == 2 )
1079                                 {
1080                                     base.st状態[i].n相対X座標 = 0;
1081                                     base.st状態[i].n相対Y座標 = -6;
1082                                     base.st状態[i].n透明度 = 190;
1083                                 }
1084                                 else if( nNowFrame == 3 )
1085                                 {
1086                                     base.st状態[i].n相対X座標 = 0;
1087                                     base.st状態[i].n相対Y座標 = 0;
1088                                     base.st状態[i].n透明度 = 220;
1089                                 }
1090                                 else if( nNowFrame == 4 )
1091                                 {
1092                                     base.st状態[i].n相対X座標 = 0;
1093                                     base.st状態[i].n相対Y座標 = -4;
1094                                     base.st状態[i].n透明度 = 255;
1095                                 }
1096                                 else if( nNowFrame == 5 )
1097                                 {
1098                                     base.st状態[i].n相対X座標 = 0;
1099                                     base.st状態[i].n相対Y座標 = -6;
1100                                     base.st状態[i].n透明度 = 255;
1101                                 }
1102                                 else if( nNowFrame >= 6 && nNowFrame <= 18 )
1103                                 {
1104                                     base.st状態[i].fX方向拡大率 = 1f;
1105                                     base.st状態[i].fY方向拡大率 = 1f;
1106                                     base.st状態[i].n相対X座標 = 0;
1107                                     base.st状態[i].n相対Y座標 = 0;
1108                                     base.st状態[i].n透明度 = 255;
1109                                 }
1110                                 else if( nNowFrame == 19 )
1111                                 {
1112                                     base.st状態[i].fX方向拡大率 = 1f;
1113                                     base.st状態[i].fY方向拡大率 = 1f;
1114                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( -4f );
1115                                     base.st状態[i].n相対X座標 = 0;
1116                                     base.st状態[i].n相対Y座標 = 0;
1117                                     base.st状態[i].n透明度 = 220;
1118                                 }
1119                                 else if( nNowFrame == 20 )
1120                                 {
1121                                     base.st状態[i].fX方向拡大率 = 1f;
1122                                     base.st状態[i].fY方向拡大率 = 1f;
1123                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( -8f );
1124                                     base.st状態[i].n相対X座標 = 0;
1125                                     base.st状態[i].n相対Y座標 = 6;
1126                                     base.st状態[i].n透明度 = 190;
1127                                 }
1128                                 else if( nNowFrame == 21 )
1129                                 {
1130                                     base.st状態[i].fX方向拡大率 = 1f;
1131                                     base.st状態[i].fY方向拡大率 = 1f;
1132                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( -8f );
1133                                     base.st状態[i].n相対X座標 = 20;
1134                                     base.st状態[i].n相対Y座標 = 12;
1135                                     base.st状態[i].n透明度 = 140;
1136                                 }
1137                                 else if( nNowFrame == 22 )
1138                                 {
1139                                     base.st状態[i].fX方向拡大率 = 1f;
1140                                     base.st状態[i].fY方向拡大率 = 1f;
1141                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( -12f );
1142                                     base.st状態[i].n相対X座標 = 0;
1143                                     base.st状態[i].n相対Y座標 = 18;
1144                                     base.st状態[i].n透明度 = 100;
1145                                 }
1146                                 else if( nNowFrame == 23 )
1147                                 {
1148                                     base.st状態[i].fX方向拡大率 = 1f;
1149                                     base.st状態[i].fY方向拡大率 = 1f;
1150                                     base.st状態[i].fZ軸回転度 = C変換.DegreeToRadian( -16f );
1151                                     base.st状態[i].n相対X座標 = 0;
1152                                     base.st状態[i].n相対Y座標 = 24;
1153                                     base.st状態[i].n透明度 = 70;
1154                                 }
1155                                 #endregion
1156                             }
1157                             else if( base.st状態[ i ].judge == E判定.Auto )
1158                             {
1159                                 #region[ Auto ]
1160                                 if( nNowFrame == 0 )
1161                                 {
1162                                     base.st状態[i].fX方向拡大率 = 0.625f;
1163                                     base.st状態[i].fY方向拡大率 = 3.70f;
1164                                     base.st状態[i].n相対X座標 = -19;
1165                                     base.st状態[i].n相対Y座標 = 0;
1166                                     base.st状態[i].n透明度 = 0;
1167                                 }
1168                                 else if( nNowFrame == 1 )
1169                                 {
1170                                     base.st状態[i].fX方向拡大率 = 1.125f;
1171                                     base.st状態[i].fY方向拡大率 = 2.00f;
1172                                     base.st状態[i].n相対X座標 = 4;
1173                                     base.st状態[i].n相対Y座標 = 1;
1174                                     base.st状態[i].n透明度 = 0;
1175                                 }
1176                                 else if( nNowFrame == 2 )
1177                                 {
1178                                     base.st状態[i].fX方向拡大率 = 1.375f;
1179                                     base.st状態[i].fY方向拡大率 = 0.66f;
1180                                     base.st状態[i].n相対X座標 = 13;
1181                                     base.st状態[i].n相対Y座標 = 1;
1182                                     base.st状態[i].n透明度 = 0;
1183                                 }
1184                                 else if( nNowFrame == 3 )
1185                                 {
1186                                     base.st状態[i].fX方向拡大率 = 1.25f;
1187                                     base.st状態[i].fY方向拡大率 = 1f;
1188                                     base.st状態[i].n相対X座標 = 8;
1189                                     base.st状態[i].n相対Y座標 = 1;
1190                                     base.st状態[i].n透明度 = 0;
1191                                 }
1192                                 else if( nNowFrame >= 4 && nNowFrame <= 18 )
1193                                 {
1194                                     base.st状態[i].fX方向拡大率 = 1f;
1195                                     base.st状態[i].fY方向拡大率 = 1f;
1196                                     base.st状態[i].n相対X座標 = 0;
1197                                     base.st状態[i].n相対Y座標 = 1;
1198                                     base.st状態[i].n透明度 = 0;
1199                                 }
1200                                 else if( nNowFrame == 19 )
1201                                 {
1202                                     base.st状態[i].fX方向拡大率 = 1.25f;
1203                                     base.st状態[i].fY方向拡大率 = 1f;
1204                                     base.st状態[i].n相対X座標 = 8;
1205                                     base.st状態[i].n相対Y座標 = 1;
1206                                     base.st状態[i].n透明度 = 0;
1207                                 }
1208                                 else if( nNowFrame == 20 )
1209                                 {
1210                                     base.st状態[i].fX方向拡大率 = 1.375f;
1211                                     base.st状態[i].fY方向拡大率 = 0.66f;
1212                                     base.st状態[i].n相対X座標 = 13;
1213                                     base.st状態[i].n相対Y座標 = 1;
1214                                     base.st状態[i].n透明度 = 0;
1215                                 }
1216                                 else if( nNowFrame == 21 )
1217                                 {
1218                                     base.st状態[i].fX方向拡大率 = 1.50f;
1219                                     base.st状態[i].fY方向拡大率 = 0.50f;
1220                                     base.st状態[i].n相対X座標 = 20;
1221                                     base.st状態[i].n相対Y座標 = 1;
1222                                     base.st状態[i].n透明度 = 0;
1223                                 }
1224                                 else if( nNowFrame == 22 )
1225                                 {
1226                                     base.st状態[i].fX方向拡大率 = 1.91f;
1227                                     base.st状態[i].fY方向拡大率 = 0.23f;
1228                                     base.st状態[i].n相対X座標 = 37;
1229                                     base.st状態[i].n相対Y座標 = 1;
1230                                     base.st状態[i].n透明度 = 0;
1231                                 }
1232                                 else if( nNowFrame == 23 )
1233                                 {
1234                                     base.st状態[i].fX方向拡大率 = 1.91f;
1235                                     base.st状態[i].fY方向拡大率 = 0.23f;
1236                                     base.st状態[i].n相対X座標 = 37;
1237                                     base.st状態[i].n相対Y座標 = 1;
1238                                     base.st状態[i].n透明度 = 0;
1239                                 }
1240                                 #endregion
1241                             }
1242                         }
1243                     }
1244                     #endregion
1245                 }
1246                 else
1247                 {
1248                     #region[ むかしの ]
1249                     for (int i = 0; i < 12; i++)
1250                     {
1251                         if (!base.st状態[i].ct進行.b停止中)
1252                         {
1253                             base.st状態[i].ct進行.t進行();
1254                             if (base.st状態[i].ct進行.b終了値に達した)
1255                             {
1256                                 base.st状態[i].ct進行.t停止();
1257                             }
1258                             int num2 = base.st状態[i].ct進行.n現在の値;
1259                             if ((base.st状態[i].judge != E判定.Miss) && (base.st状態[i].judge != E判定.Bad))
1260                             {
1261                                 if (num2 < 50)
1262                                 {
1263                                     base.st状態[i].fX方向拡大率 = 1f + (1f * (1f - (((float)num2) / 50f)));
1264                                     base.st状態[i].fY方向拡大率 = ((float)num2) / 50f;
1265                                     base.st状態[i].n相対X座標 = 0;
1266                                     base.st状態[i].n相対Y座標 = 0;
1267                                     base.st状態[i].n透明度 = 0xff;
1268                                 }
1269                                 else if (num2 < 130)
1270                                 {
1271                                     base.st状態[i].fX方向拡大率 = 1f;
1272                                     base.st状態[i].fY方向拡大率 = 1f;
1273                                     base.st状態[i].n相対X座標 = 0;
1274                                     base.st状態[i].n相対Y座標 = ((num2 % 6) == 0) ? (CDTXMania.Random.Next(6) - 3) : base.st状態[i].n相対Y座標;
1275                                     base.st状態[i].n透明度 = 0xff;
1276                                 }
1277                                 else if (num2 >= 240)
1278                                 {
1279                                     base.st状態[i].fX方向拡大率 = 1f;
1280                                     base.st状態[i].fY方向拡大率 = 1f - ((1f * (num2 - 240)) / 60f);
1281                                     base.st状態[i].n相対X座標 = 0;
1282                                     base.st状態[i].n相対Y座標 = 0;
1283                                     base.st状態[i].n透明度 = 0xff;
1284                                 }
1285                                 else
1286                                 {
1287                                     base.st状態[i].fX方向拡大率 = 1f;
1288                                     base.st状態[i].fY方向拡大率 = 1f;
1289                                     base.st状態[i].n相対X座標 = 0;
1290                                     base.st状態[i].n相対Y座標 = 0;
1291                                     base.st状態[i].n透明度 = 0xff;
1292                                 }
1293                             }
1294                             else if (num2 < 50)
1295                             {
1296                                 base.st状態[i].fX方向拡大率 = 1f;
1297                                 base.st状態[i].fY方向拡大率 = ((float)num2) / 50f;
1298                                 base.st状態[i].n相対X座標 = 0;
1299                                 base.st状態[i].n相対Y座標 = 0;
1300                                 base.st状態[i].n透明度 = 0xff;
1301                             }
1302                             else if (num2 >= 200)
1303                             {
1304                                 base.st状態[i].fX方向拡大率 = 1f - (((float)(num2 - 200)) / 100f);
1305                                 base.st状態[i].fY方向拡大率 = 1f - (((float)(num2 - 200)) / 100f);
1306                                 base.st状態[i].n相対X座標 = 0;
1307                                 base.st状態[i].n相対Y座標 = 0;
1308                                 base.st状態[i].n透明度 = 0xff;
1309                             }
1310                             else
1311                             {
1312                                 base.st状態[i].fX方向拡大率 = 1f;
1313                                 base.st状態[i].fY方向拡大率 = 1f;
1314                                 base.st状態[i].n相対X座標 = 0;
1315                                 base.st状態[i].n相対Y座標 = 0;
1316                                 base.st状態[i].n透明度 = 0xff;
1317                             }
1318                         }
1319                     }
1320                     #endregion
1321                 }
1322                 #endregion
1323
1324                 for( int j = 0; j < 12; j++ )
1325                 {
1326                     //CDTXMania.act文字コンソール.tPrint( this.stレーンサイズ[ j ].x, 0, C文字コンソール.Eフォント種別.白, j.ToString() );
1327                     if (!base.st状態[j].ct進行.b停止中)
1328                     {
1329                         #region[ 以前まで ]
1330                         // 2016.02.16 kairera0467 104の仕様にあわせて従来のコードに加筆修正。
1331                         //                        現時点ではドラム画面でのギタープレイはできないため、この辺は適当。
1332                         if( CDTXMania.ConfigIni.eJudgeAnimeType != Eタイプ.C )
1333                         {
1334                             int num4 = CDTXMania.ConfigIni.nJudgeFrames > 1 ? 0 : base.st判定文字列[(int)base.st状態[j].judge].n画像番号;
1335                             int num5 = 0;
1336                             int num6 = 0;
1337                             int nJudgePosY = CDTXMania.stage演奏ドラム画面GITADORA.演奏判定ライン座標.n判定ラインY座標( E楽器パート.DRUMS, false, CDTXMania.ConfigIni.bReverse.Drums, false, true );
1338                             base.iP_A = nJudgePosY - 211;
1339                             base.iP_B = nJudgePosY + 23; //これは固定値にしてもいいのではないか?
1340                             if( j < 10 )
1341                             {
1342                                 //縦は5pxずつを1ブロックとして分割。これでだいぶ本家に近づいたはず。
1343                                 if( CDTXMania.ConfigIni.判定文字表示位置.Drums == E判定文字表示位置.表示OFF )
1344                                     continue;
1345
1346                                 num5 = this.stレーンサイズ[ j ].x;
1347                                 if( CDTXMania.ConfigIni.判定文字表示位置.Drums == E判定文字表示位置.レーン上 )
1348                                     num6 = CDTXMania.ConfigIni.bReverse.Drums ? ( ( nJudgePosY + 211 ) - this.n文字の縦表示位置[ j ] * 5 ) : ( ( nJudgePosY - 211 ) + this.n文字の縦表示位置[ j ] * 5 );
1349                                 else if( CDTXMania.ConfigIni.判定文字表示位置.Drums == E判定文字表示位置.判定ライン上 )
1350                                     num6 = 0;
1351                             }
1352
1353                             int nRectX = CDTXMania.ConfigIni.nJudgeWidgh;
1354                             int nRectY = CDTXMania.ConfigIni.nJudgeHeight;
1355
1356                             int xc = (num5 + base.st状態[j].n相対X座標) + (this.stレーンサイズ[j].w / 2);
1357                             int x = (xc - ((int)((110f * base.st状態[j].fX方向拡大率)))) - ((nRectX - 225) / 2);
1358                             int y = ((num6 + base.st状態[j].n相対Y座標) - ((int)(((140f * base.st状態[j].fY方向拡大率)) / 2.0))) - ((nRectY - 135) / 2);
1359
1360                             if( base.tx判定文字列[ 0 ] != null )
1361                             {
1362                                 //if (CDTXMania.ConfigIni.nJudgeFrames > 1 && CDTXMania.stage演奏ドラム画面.tx判定画像anime != null)
1363                                 if( CDTXMania.ConfigIni.nJudgeFrames > 1 )
1364                                 {
1365                                     if( !base.bShow ) x = 1280;
1366
1367                                     if( base.st状態[j].judge == E判定.Perfect || base.st状態[ j ].judge == E判定.XPerfect )
1368                                     {
1369                                         base.tx判定文字列[ 0 ].t2D描画(CDTXMania.app.Device, x, y, new Rectangle(0, nRectY * base.st状態[j].nRect, nRectX, nRectY));
1370                                         //CDTXMania.stage演奏ドラム画面.tx判定画像anime.t2D描画(CDTXMania.app.Device, x, y, new Rectangle(0, nRectY * base.st状態[j].nRect, nRectX, nRectY));
1371                                     }
1372                                     if (base.st状態[j].judge == E判定.Great)
1373                                     {
1374                                         base.tx判定文字列[ 0 ].t2D描画(CDTXMania.app.Device, x, y, new Rectangle(nRectX * 1, nRectY * base.st状態[j].nRect, nRectX, nRectY));
1375                                         //CDTXMania.stage演奏ドラム画面.tx判定画像anime.t2D描画(CDTXMania.app.Device, x, y, new Rectangle(nRectX * 1, nRectY * base.st状態[j].nRect, nRectX, nRectY));
1376                                     }
1377                                     if (base.st状態[j].judge == E判定.Good)
1378                                     {
1379                                         base.tx判定文字列[ 0 ].t2D描画(CDTXMania.app.Device, x, y, new Rectangle(nRectX * 2, nRectY * base.st状態[j].nRect, nRectX, nRectY));
1380                                         //CDTXMania.stage演奏ドラム画面.tx判定画像anime.t2D描画(CDTXMania.app.Device, x, y, new Rectangle(nRectX * 2, nRectY * base.st状態[j].nRect, nRectX, nRectY));
1381                                     }
1382                                     if (base.st状態[j].judge == E判定.Poor)
1383                                     {
1384                                         base.tx判定文字列[ 0 ].t2D描画(CDTXMania.app.Device, x, y, new Rectangle(nRectX * 3, nRectY * base.st状態[j].nRect, nRectX, nRectY));
1385                                         //CDTXMania.stage演奏ドラム画面.tx判定画像anime.t2D描画(CDTXMania.app.Device, x, y, new Rectangle(nRectX * 3, nRectY * base.st状態[j].nRect, nRectX, nRectY));
1386                                     }
1387                                     if( base.st状態[ j ].judge == E判定.Miss )
1388                                     {
1389                                         base.tx判定文字列[ 0 ].t2D描画(CDTXMania.app.Device, x, y, new Rectangle(nRectX * 4, nRectY * base.st状態[j].nRect, nRectX, nRectY));
1390                                         //CDTXMania.stage演奏ドラム画面.tx判定画像anime.t2D描画(CDTXMania.app.Device, x, y, new Rectangle(nRectX * 4, nRectY * base.st状態[j].nRect, nRectX, nRectY));
1391                                     }
1392                                     if (base.st状態[j].judge == E判定.Auto)
1393                                     {
1394                                         base.tx判定文字列[ 0 ].t2D描画( CDTXMania.app.Device, x, y, new Rectangle( nRectX * 5, nRectY * base.st状態[ j ].nRect, nRectX, nRectY ) );
1395                                         //CDTXMania.stage演奏ドラム画面.tx判定画像anime.t2D描画(CDTXMania.app.Device, x, y, new Rectangle(nRectX * 5, nRectY * base.st状態[j].nRect, nRectX, nRectY));
1396                                     }
1397                                 }
1398                                 else if (base.tx判定文字列[num4] != null)
1399                                 {
1400                                     x = xc - ((int)((64f * base.st状態[j].fX方向拡大率)));
1401                                     y = (num6 + base.st状態[j].n相対Y座標) - ((int)(((43f * base.st状態[j].fY方向拡大率)) / 2.0));
1402
1403                                     base.tx判定文字列[num4].n透明度 = base.st状態[j].n透明度;
1404                                     base.tx判定文字列[num4].vc拡大縮小倍率 = new Vector3(base.st状態[j].fX方向拡大率, base.st状態[j].fY方向拡大率, 1f);
1405                                     base.tx判定文字列[num4].t2D描画(CDTXMania.app.Device, x, y, base.st判定文字列[(int)base.st状態[j].judge].rc);
1406                                 }
1407
1408
1409                                 if (base.nShowLagType == (int)EShowLagType.ON ||
1410                                      ((base.nShowLagType == (int)EShowLagType.GREAT_POOR) && (base.st状態[j].judge != E判定.Perfect)))
1411                                 {
1412                                     if (base.st状態[j].judge != E判定.Auto && base.txlag数値 != null)             // #25370 2011.2.1 yyagi
1413                                     {
1414                                         bool minus = false;
1415                                         int offsetX = 0;
1416                                         string strDispLag = base.st状態[j].nLag.ToString();
1417                                         if (st状態[j].nLag < 0)
1418                                         {
1419                                             minus = true;
1420                                         }
1421                                         x = xc - strDispLag.Length * 15 / 2;
1422                                         for (int i = 0; i < strDispLag.Length; i++)
1423                                         {
1424                                             int p = (strDispLag[i] == '-') ? 11 : (int)(strDispLag[i] - '0');   //int.Parse(strDispLag[i]);
1425                                             p += minus ? 0 : 12;                // change color if it is minus value
1426                                             base.txlag数値.t2D描画(CDTXMania.app.Device, x + offsetX, y + 34, base.stLag数値[p].rc);
1427                                             offsetX += 15;
1428                                         }
1429                                     }
1430                                 }
1431
1432                             }
1433                         }
1434                         #endregion
1435                         #region[ さいしんばん ]
1436                         else if( CDTXMania.ConfigIni.eJudgeAnimeType == Eタイプ.C )
1437                         {
1438                             int num4 = 0;
1439                             int num5 = 0;
1440                             int num6 = 0;
1441                             int nJudgePosY = CDTXMania.stage演奏ドラム画面GITADORA.演奏判定ライン座標.n判定ラインY座標( E楽器パート.DRUMS, false, CDTXMania.ConfigIni.bReverse.Drums, false, true );
1442                             base.iP_A = nJudgePosY - 211;
1443                             base.iP_B = nJudgePosY + 23; //これは固定値にしてもいいのではないか?
1444                             if( j < 10 )
1445                             {
1446                                 //縦は5pxずつを1ブロックとして分割。これでだいぶ本家に近づいたはず。
1447                                 if( CDTXMania.ConfigIni.判定文字表示位置.Drums == E判定文字表示位置.表示OFF )
1448                                     continue;
1449
1450                                 num5 = this.stレーンサイズ[ j ].x;
1451                                 if( CDTXMania.ConfigIni.判定文字表示位置.Drums == E判定文字表示位置.レーン上 )
1452                                     num6 = CDTXMania.ConfigIni.bReverse.Drums ? ( ( nJudgePosY + 211 ) - this.n文字の縦表示位置[ j ] * 5 ) : ( ( nJudgePosY - 211 ) + this.n文字の縦表示位置[ j ] * 5 );
1453                                 else if( CDTXMania.ConfigIni.判定文字表示位置.Drums == E判定文字表示位置.判定ライン上 )
1454                                     num6 = CDTXMania.ConfigIni.bReverse.Drums ? ( 80 + this.n文字の縦表示位置[ j ] * 2 ) : ( 583 + this.n文字の縦表示位置[ j ] * 2 );
1455                             }
1456
1457                             int nRectX = 85;
1458                             int nRectY = 35;
1459
1460                             int xc = ( num5 + ( this.stレーンサイズ[ j ].w / 2 ) ) + base.st状態[ j ].n相対X座標;
1461                             int yc = ( num6 + base.st状態[ j ].n相対Y座標 ) + ( num6 / 2 );
1462                             float fRot = base.st状態[j].fZ軸回転度;
1463                             int x = ( xc - ((int)(((nRectX * base.st状態[j].fX方向拡大率 ) / base.st状態[j].fX方向拡大率) * base.st状態[j].fX方向拡大率)) + (nRectX / 2));
1464                             int y = ( num6 + base.st状態[j].n相対Y座標 ) - ((int)((((nRectY) / 2) * base.st状態[j].fY方向拡大率)));
1465
1466                             int xc_棒 = ( num5 + base.st状態[j].n相対X座標_棒) + (this.stレーンサイズ[j].w / 2);
1467                             int yc_棒 = ( num6 + base.st状態[j].n相対Y座標_棒) + (num6 / 2);
1468                             float fRot_棒 = base.st状態[j].fZ軸回転度_棒;
1469                             int x_棒 = ( xc_棒 - ((int)(((nRectX * base.st状態[j].fX方向拡大率_棒) / base.st状態[j].fX方向拡大率_棒) * base.st状態[j].fX方向拡大率_棒)) + (nRectX / 2));
1470                             int y_棒 = ( num6 + base.st状態[ j ].n相対Y座標_棒 ) - ( (int)( ( ( ( nRectY ) / 2 ) * base.st状態[j].fY方向拡大率_棒 ) ) );
1471
1472                             //2016.06.09 kairera0467 棒の高さを30pxにするテスト
1473                             int n棒高さ = 20;
1474
1475
1476                             //CDTXMania.act文字コンソール.tPrint( 0, j * 16, C文字コンソール.Eフォント種別.白, x.ToString() );
1477                             if( base.tx判定文字列[ 0 ] != null )
1478                             {
1479                                 switch( base.st状態[ j ].judge )
1480                                 {
1481                                     case E判定.XPerfect:
1482                                         {
1483                                             base.tx判定文字列[ 1 ].vc拡大縮小倍率 = new Vector3( base.st状態[ j ].fX方向拡大率_棒, base.st状態[ j ].fY方向拡大率_棒, 1f );
1484                                             base.tx判定文字列[ 1 ].fZ軸中心回転 = base.st状態[ j ].fZ軸回転度_棒;
1485                                             //base.tx判定文字列[ 1 ].t2D描画( CDTXMania.app.Device, x_棒, y_棒, new Rectangle( 0, 140, 210, 15 ) );
1486                                             base.tx判定文字列[ 1 ].t2D描画( CDTXMania.app.Device, x_棒, y_棒, new Rectangle( 0, 110 + n棒高さ * 2, 210, n棒高さ ) );
1487
1488                                             base.tx判定文字列[ 0 ].vc拡大縮小倍率 = new Vector3(base.st状態[ j ].fX方向拡大率, base.st状態[ j ].fY方向拡大率, 1f );
1489                                             base.tx判定文字列[ 0 ].fZ軸中心回転 = base.st状態[ j ].fZ軸回転度;
1490                                             base.tx判定文字列[ 0 ].n透明度 = 255;
1491                                             base.tx判定文字列[ 0 ].t2D描画( CDTXMania.app.Device, x, y, new Rectangle( nRectX + 5, nRectY * 2 + 4, nRectX, nRectY ) );
1492
1493                                             base.tx判定文字列[ 2 ].vc拡大縮小倍率 = new Vector3( base.st状態[ j ].fX方向拡大率B, base.st状態[ j ].fY方向拡大率B, 1f );
1494                                             base.tx判定文字列[ 2 ].fZ軸中心回転 = base.st状態[ j ].fZ軸回転度;
1495                                             base.tx判定文字列[ 2 ].n透明度 = base.st状態[ j ].n透明度B;
1496                                             base.tx判定文字列[ 2 ].b加算合成 = true;
1497                                             base.tx判定文字列[ 2 ].t2D描画( CDTXMania.app.Device, x, y, new Rectangle( nRectX + 5, nRectY * 2 + 4, nRectX, nRectY ) );
1498                                         }
1499                                         break;
1500                                     case E判定.Perfect:
1501                                         {
1502                                             base.tx判定文字列[ 1 ].vc拡大縮小倍率 = new Vector3( base.st状態[ j ].fX方向拡大率_棒, base.st状態[ j ].fY方向拡大率_棒, 1f );
1503                                             base.tx判定文字列[ 1 ].fZ軸中心回転 = base.st状態[ j ].fZ軸回転度_棒;
1504                                             //base.tx判定文字列[ 1 ].t2D描画( CDTXMania.app.Device, x_棒, y_棒, new Rectangle( 0, 110, 210, 15 ) );
1505                                             base.tx判定文字列[ 1 ].t2D描画( CDTXMania.app.Device, x_棒, y_棒, new Rectangle( 0, 110 + n棒高さ * 0, 210, n棒高さ ) );
1506
1507                                             base.tx判定文字列[ 0 ].vc拡大縮小倍率 = new Vector3(base.st状態[ j ].fX方向拡大率, base.st状態[ j ].fY方向拡大率, 1f );
1508                                             base.tx判定文字列[ 0 ].fZ軸中心回転 = base.st状態[ j ].fZ軸回転度;
1509                                             base.tx判定文字列[ 0 ].n透明度 = 255;
1510                                             base.tx判定文字列[ 0 ].t2D描画( CDTXMania.app.Device, x, y, new Rectangle( 0, 0, nRectX, nRectY ) );
1511
1512                                             base.tx判定文字列[ 2 ].vc拡大縮小倍率 = new Vector3( base.st状態[ j ].fX方向拡大率B, base.st状態[ j ].fY方向拡大率B, 1f );
1513                                             base.tx判定文字列[ 2 ].fZ軸中心回転 = base.st状態[ j ].fZ軸回転度;
1514                                             base.tx判定文字列[ 2 ].n透明度 = base.st状態[ j ].n透明度B;
1515                                             base.tx判定文字列[ 2 ].b加算合成 = true;
1516                                             base.tx判定文字列[ 2 ].t2D描画( CDTXMania.app.Device, x, y, new Rectangle( 0, 0, nRectX, nRectY ) );
1517                                         }
1518                                         break;
1519                                     case E判定.Great:
1520                                         {
1521                                             base.tx判定文字列[ 1 ].vc拡大縮小倍率 = new Vector3( base.st状態[ j ].fX方向拡大率_棒, base.st状態[ j ].fY方向拡大率_棒, 1f );
1522                                             base.tx判定文字列[ 1 ].fZ軸中心回転 = base.st状態[ j ].fZ軸回転度_棒;
1523                                             //base.tx判定文字列[ 1 ].t2D描画( CDTXMania.app.Device, x_棒, y_棒, new Rectangle( 0, 125, 210, 15 ) );
1524                                             base.tx判定文字列[ 1 ].t2D描画( CDTXMania.app.Device, x_棒, y_棒, new Rectangle( 0, 110 + n棒高さ * 1, 210, n棒高さ ) );
1525
1526                                             base.tx判定文字列[ 0 ].vc拡大縮小倍率 = new Vector3( base.st状態[ j ].fX方向拡大率, base.st状態[ j ].fY方向拡大率, 1f );
1527                                             base.tx判定文字列[ 0 ].fZ軸中心回転 = base.st状態[ j ].fZ軸回転度;
1528                                             base.tx判定文字列[ 0 ].n透明度 = 255;
1529                                             base.tx判定文字列[ 0 ].t2D描画( CDTXMania.app.Device, x, y, new Rectangle( nRectX + 5, 0, nRectX, nRectY ) );
1530                                         }
1531                                         break;
1532                                     case E判定.Good:
1533                                         {
1534                                             base.tx判定文字列[ 0 ].vc拡大縮小倍率 = new Vector3(base.st状態[j].fX方向拡大率, base.st状態[j].fY方向拡大率, 1f);
1535                                             base.tx判定文字列[ 0 ].fZ軸中心回転 = 0;
1536                                             base.tx判定文字列[ 0 ].n透明度 = 255;
1537                                             base.tx判定文字列[ 0 ].t2D描画(CDTXMania.app.Device, x, y, new Rectangle(0, nRectY + 2, nRectX, nRectY));
1538                                         }
1539                                         break;
1540                                     case E判定.Poor:
1541                                         {
1542                                             base.tx判定文字列[ 0 ].vc拡大縮小倍率 = new Vector3(1f, 1f, 1f);
1543                                             base.tx判定文字列[ 0 ].fZ軸中心回転 = base.st状態[j].fZ軸回転度;
1544                                             base.tx判定文字列[ 0 ].n透明度 = base.st状態[j].n透明度;
1545                                             base.tx判定文字列[ 0 ].t2D描画(CDTXMania.app.Device, x, y, new Rectangle(nRectX + 5, nRectY + 2, nRectX, nRectY));
1546                                         }
1547                                         break;
1548                                     case E判定.Miss:
1549                                     case E判定.Bad:
1550                                         {
1551                                             base.tx判定文字列[ 0 ].vc拡大縮小倍率 = new Vector3(1f, 1f, 1f);
1552                                             base.tx判定文字列[ 0 ].fZ軸中心回転 = base.st状態[j].fZ軸回転度;
1553                                             base.tx判定文字列[ 0 ].n透明度 = base.st状態[j].n透明度;
1554                                             base.tx判定文字列[ 0 ].t2D描画(CDTXMania.app.Device, x, y, new Rectangle(0, nRectY * 2 + 4, nRectX, nRectY));
1555                                         }
1556                                         break;
1557                                     case E判定.Auto:
1558                                         {
1559                                             base.tx判定文字列[ 0 ].vc拡大縮小倍率 = new Vector3( base.st状態[ j ].fX方向拡大率, base.st状態[ j ].fY方向拡大率, 1f );
1560                                             base.tx判定文字列[ 0 ].fZ軸中心回転 = base.st状態[ j ].fZ軸回転度;
1561                                             base.tx判定文字列[ 0 ].n透明度 = 255;
1562                                             base.tx判定文字列[ 0 ].t2D描画( CDTXMania.app.Device, x + 5, y, new Rectangle(nRectX * 2 + 3, nRectY * 2 + 4, nRectX, nRectY ) );
1563                                         }
1564                                         break;
1565                                 }
1566
1567                                 if (base.nShowLagType == (int)EShowLagType.ON ||
1568                                      ((base.nShowLagType == (int)EShowLagType.GREAT_POOR) && (base.st状態[j].judge != E判定.Perfect)))
1569                                 {
1570                                     if (base.st状態[j].judge != E判定.Auto && base.txlag数値 != null)             // #25370 2011.2.1 yyagi
1571                                     {
1572                                         bool minus = false;
1573                                         int offsetX = 0;
1574                                         string strDispLag = base.st状態[j].nLag.ToString();
1575                                         if (st状態[j].nLag < 0)
1576                                         {
1577                                             minus = true;
1578                                         }
1579                                         //x = xc - strDispLag.Length * 15 / 2;
1580                                         x = ( ( num5 ) + (this.stレーンサイズ[j].w / 2) ) - strDispLag.Length * 15 / 2;
1581                                         for (int i = 0; i < strDispLag.Length; i++)
1582                                         {
1583                                             int p = (strDispLag[i] == '-') ? 11 : (int)(strDispLag[i] - '0');   //int.Parse(strDispLag[i]);
1584                                             p += minus ? 0 : 12;                // change color if it is minus value
1585                                             base.txlag数値.t2D描画(CDTXMania.app.Device, x + offsetX, y + 34, base.stLag数値[p].rc);
1586                                             offsetX += 15;
1587                                         }
1588                                     }
1589                                 }
1590                             }
1591                         }
1592                         #endregion
1593                     }
1594                 }
1595                         }
1596                         return 0;
1597                 }
1598                 
1599
1600                 // その他
1601
1602                 #region [ private ]
1603                 //-----------------
1604         //HH SD BD HT LT FT CY HHO RD LC LP LBD
1605         //private readonly int[] n文字の縦表示位置 = new int[] { -1, 1, 1, 2, 0, 0, 1, -1, 2, 1, 2, -1, -1, 0, 0 };
1606         private readonly int[] n文字の縦表示位置 = new int[] { 0, 9, 9, 14, 4, 4, 9, 0, 9, 4, 0, 0, 0, 0, 0 };
1607                 private STレーンサイズ[] stレーンサイズ;
1608                 //-----------------
1609                 #endregion
1610         }
1611 }