OSDN Git Service

作業部屋50730 GITADORA表示でかつドラム譜面のみノーツ分布グラフの描画を実装。
authorkairera0467 <gennsou76573@gmail.com>
Mon, 11 Dec 2017 13:58:59 +0000 (22:58 +0900)
committerkairera0467 <gennsou76573@gmail.com>
Mon, 11 Dec 2017 13:58:59 +0000 (22:58 +0900)
DTXManiaプロジェクト/コード/ステージ/05.選曲/GITADORA/CActSelectステータスパネルGITADORA.cs
実行時フォルダ/DTXManiaGR.exe

index 21540a6..57d2a72 100644 (file)
@@ -124,6 +124,10 @@ namespace DTXMania
                 this.tx難易度パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_difficulty panel.png" ) );
                 this.tx難易度数字XG = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_LevelNumber.png" ) );
                 this.tx難易度カーソル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_difficulty sensor.png" ) );
+
+                this.txNotesData背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_NotesData background.png" ) );
+                this.txNotesDataゲージ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_NotesData gauge.png" ) );
+
                                base.OnManagedリソースの作成();
                        }
                }
@@ -137,8 +141,9 @@ namespace DTXMania
                 CDTXMania.tテクスチャの解放( ref this.tx難易度数字XG );
                 CDTXMania.tテクスチャの解放( ref this.tx難易度カーソル );
 
-                CDTXMania.tテクスチャの解放( ref this.tx決定後_難易度パネル1P );
-                CDTXMania.tテクスチャの解放( ref this.tx決定後_難易度パネル2P );
+                CDTXMania.tテクスチャの解放( ref this.txNotesData背景 );
+                CDTXMania.tテクスチャの解放( ref this.txNotesDataゲージ );
+
                                base.OnManagedリソースの解放();
                        }
                }
@@ -223,16 +228,54 @@ namespace DTXMania
                         this.t難易度カーソル描画( 426, base.n現在選択中の曲の難易度 );
 
                         //ノート数グラフ
-                        CDTXMania.act文字コンソール.tPrint( 380, 400, C文字コンソール.Eフォント種別.白, "LC:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.LC.ToString() );
-                        CDTXMania.act文字コンソール.tPrint( 380, 400 + 16, C文字コンソール.Eフォント種別.白, "HH:" + ( CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.HH + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.HHO ).ToString() );
-                        CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 2, C文字コンソール.Eフォント種別.白, "LP:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.LP.ToString() );
-                        CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 3, C文字コンソール.Eフォント種別.白, "SD:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.SD.ToString() );
-                        CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 4, C文字コンソール.Eフォント種別.白, "HT:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.HT.ToString() );
-                        CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 5, C文字コンソール.Eフォント種別.白, "BD:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.BD.ToString() );
-                        CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 6, C文字コンソール.Eフォント種別.白, "LT:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.LT.ToString() );
-                        CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 7, C文字コンソール.Eフォント種別.白, "FT:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.FT.ToString() );
-                        CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 8, C文字コンソール.Eフォント種別.白, "CY:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.CY.ToString() );
-                        CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 9, C文字コンソール.Eフォント種別.白, "RD:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.RD.ToString() );
+                        if( CDTXMania.stage選曲GITADORA.r現在選択中のスコア != null )
+                        {
+                            if( this.txNotesData背景 != null )
+                            {
+                                this.txNotesData背景.t2D描画( CDTXMania.app.Device, 213, 353 );
+                                if( this.txNotesDataゲージ != null )
+                                {
+                                    //グラフ背景
+                                    for( int i = 0; i < 10; i++ )
+                                    {
+                                        this.txNotesDataゲージ.t2D描画( CDTXMania.app.Device, 260 + i * 12, 355, new Rectangle( 0, 0, 4, 270 ) );
+                                    }
+
+                                    double ret = this.dbノーツグラフゲージ割合計算( CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.LC );
+                                    this.txNotesDataゲージ.t2D描画( CDTXMania.app.Device, 260, 625 - (int)(270 * ret), new Rectangle( 4, 0, 4, (int)(270 * ret) ) );
+                                    ret = this.dbノーツグラフゲージ割合計算( CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.HH + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.HHO );
+                                    this.txNotesDataゲージ.t2D描画( CDTXMania.app.Device, 272, 625 - (int)(270 * ret), new Rectangle( 8, 0, 4, (int)(270 * ret) ) );
+                                    ret = this.dbノーツグラフゲージ割合計算( CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.LP + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.LBD );
+                                    this.txNotesDataゲージ.t2D描画( CDTXMania.app.Device, 284, 625 - (int)(270 * ret), new Rectangle( 12, 0, 4, (int)(270 * ret) ) );
+                                    ret = this.dbノーツグラフゲージ割合計算( CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.SD );
+                                    this.txNotesDataゲージ.t2D描画( CDTXMania.app.Device, 296, 625 - (int)(270 * ret), new Rectangle( 16, 0, 4, (int)(270 * ret) ) );
+                                    ret = this.dbノーツグラフゲージ割合計算( CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.HT );
+                                    this.txNotesDataゲージ.t2D描画( CDTXMania.app.Device, 308, 625 - (int)(270 * ret), new Rectangle( 20, 0, 4, (int)(270 * ret) ) );
+                                    ret = this.dbノーツグラフゲージ割合計算( CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.BD );
+                                    this.txNotesDataゲージ.t2D描画( CDTXMania.app.Device, 320, 625 - (int)(270 * ret), new Rectangle( 24, 0, 4, (int)(270 * ret) ) );
+                                    ret = this.dbノーツグラフゲージ割合計算( CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.LT );
+                                    this.txNotesDataゲージ.t2D描画( CDTXMania.app.Device, 332, 625 - (int)(270 * ret), new Rectangle( 28, 0, 4, (int)(270 * ret) ) );
+                                    ret = this.dbノーツグラフゲージ割合計算( CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.FT );
+                                    this.txNotesDataゲージ.t2D描画( CDTXMania.app.Device, 344, 625 - (int)(270 * ret), new Rectangle( 32, 0, 4, (int)(270 * ret) ) );
+                                    ret = this.dbノーツグラフゲージ割合計算( CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.CY );
+                                    this.txNotesDataゲージ.t2D描画( CDTXMania.app.Device, 356, 625 - (int)(270 * ret), new Rectangle( 36, 0, 4, (int)(270 * ret) ) );
+                                    ret = this.dbノーツグラフゲージ割合計算( CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.RD );
+                                    this.txNotesDataゲージ.t2D描画( CDTXMania.app.Device, 368, 625 - (int)(270 * ret), new Rectangle( 40, 0, 4, (int)(270 * ret) ) );
+                                }
+                            }
+
+                            //CDTXMania.act文字コンソール.tPrint( 380, 400, C文字コンソール.Eフォント種別.白, "LC:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.LC.ToString() );
+                            //CDTXMania.act文字コンソール.tPrint( 380, 400 + 16, C文字コンソール.Eフォント種別.白, "HH:" + ( CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.HH + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.HHO ).ToString() );
+                            //CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 2, C文字コンソール.Eフォント種別.白, "LP:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.LP.ToString() );
+                            //CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 3, C文字コンソール.Eフォント種別.白, "SD:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.SD.ToString() );
+                            //CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 4, C文字コンソール.Eフォント種別.白, "HT:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.HT.ToString() );
+                            //CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 5, C文字コンソール.Eフォント種別.白, "BD:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.BD.ToString() );
+                            //CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 6, C文字コンソール.Eフォント種別.白, "LT:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.LT.ToString() );
+                            //CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 7, C文字コンソール.Eフォント種別.白, "FT:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.FT.ToString() );
+                            //CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 8, C文字コンソール.Eフォント種別.白, "CY:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.CY.ToString() );
+                            //CDTXMania.act文字コンソール.tPrint( 380, 400 + 16 * 9, C文字コンソール.Eフォント種別.白, "RD:" + CDTXMania.stage選曲GITADORA.r現在選択中のスコア.譜面情報.n可視チップ数.RD.ToString() );
+                        }
+
                     }
                     #endregion
                 }
@@ -276,11 +319,12 @@ namespace DTXMania
                private CTexture txゲージ用数字他;
         private CTexture tx難易度パネル;
         private CTexture tx難易度数字XG;
-
-        private CTexture tx決定後_難易度パネル1P;
-        private CTexture tx決定後_難易度パネル2P;
+        
         private CTexture tx難易度カーソル;
 
+        private CTexture txNotesData背景;
+        private CTexture txNotesDataゲージ; //クリアバーだけはソフトウェア側で生成する
+
         [StructLayout(LayoutKind.Sequential)]
         private struct ST文字位置
         {
@@ -428,6 +472,15 @@ namespace DTXMania
                 this.tx難易度カーソル.t2D描画( CDTXMania.app.Device, x, 603 - ( 60 * current ) );
             }
         }
+        private double dbノーツグラフゲージ割合計算( int nチップ数 )
+        {
+            //ゲージ上限である250を超える場合は無視
+            if( nチップ数 < 250 )
+            {
+                return nチップ数 / 250.0;
+            }
+            return 1.0;
+        }
                //-----------------
                #endregion
        }
index ca0fe19..ef9f36d 100644 (file)
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ