OSDN Git Service

作業部屋50706 matixx風曲選択画面に曲別スキル値(最高スキルではない)の表示を追加。
authorkairera0467 <gennsou76573@gmail.com>
Tue, 23 Apr 2019 15:21:54 +0000 (00:21 +0900)
committerkairera0467 <gennsou76573@gmail.com>
Tue, 23 Apr 2019 15:21:54 +0000 (00:21 +0900)
作業部屋50706 matixx風曲選択画面の譜面レベル値表示を画像化した。ただし画像は今後作り直す予定。
作業部屋50706 matixx風スキンのコンボ数値画像をmatixx風のものに変更
作業部屋50706 matixx風曲選択画面に達成率の表示を暫定追加(CAct文字コンソールを使用)

DTXManiaプロジェクト/コード/ステージ/05.選曲/GITADORA/CActSelectステータスパネルGITADORA.cs
DTXManiaプロジェクト/コード/ステージ/05.選曲/GITADORA/CActSelect曲リストGITADORA.cs
実行時フォルダ/DTXManiaGR.exe
実行時フォルダ/System/DefaultMat/Graphics/5_LevelNumber Medium Decimal.png [new file with mode: 0644]
実行時フォルダ/System/DefaultMat/Graphics/5_LevelNumber Medium Dot.png [new file with mode: 0644]
実行時フォルダ/System/DefaultMat/Graphics/5_LevelNumber Medium Int.png [new file with mode: 0644]
実行時フォルダ/System/DefaultMat/Graphics/5_Skill number Large Decimal.png [new file with mode: 0644]
実行時フォルダ/System/DefaultMat/Graphics/5_Skill number Large Dot.png [new file with mode: 0644]
実行時フォルダ/System/DefaultMat/Graphics/5_Skill number Large Int.png [new file with mode: 0644]
実行時フォルダ/System/DefaultMat/Graphics/7_Drums combo.png

index 29eba62..328c4fb 100644 (file)
@@ -15,6 +15,7 @@ namespace DTXMania
 
                public CActSelectステータスパネルGITADORA()
                {
+            this.tレベル数値フォント初期化();
                        base.b活性化してない = true;
                }
                public override void t選択曲が変更された()
@@ -117,6 +118,10 @@ namespace DTXMania
                 this.txNotesDataゲージ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_NotesData gauge.png" ) );
                 this.txTotalNotes数字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_TotalNotes_Number.png" ) );
 
+                this.txレベル数字_中_整数部 = CDTXMania.tテクスチャの生成( CSkin.Path(@"Graphics\5_LevelNumber Medium Int.png") );
+                this.txレベル数字_中_少数部 = CDTXMania.tテクスチャの生成( CSkin.Path(@"Graphics\5_LevelNumber Medium Decimal.png") );
+                this.txレベル数字_中_小数点 = CDTXMania.tテクスチャの生成( CSkin.Path(@"Graphics\5_LevelNumber Medium Dot.png") );
+
                                base.OnManagedリソースの作成();
                        }
                }
@@ -134,6 +139,10 @@ namespace DTXMania
                 CDTXMania.tテクスチャの解放( ref this.txNotesDataゲージ );
                 CDTXMania.tテクスチャの解放( ref this.txTotalNotes数字 );
 
+                CDTXMania.tテクスチャの解放( ref this.txレベル数字_中_整数部 );
+                CDTXMania.tテクスチャの解放( ref this.txレベル数字_中_少数部 );
+                CDTXMania.tテクスチャの解放( ref this.txレベル数字_中_小数点 );
+
                                base.OnManagedリソースの解放();
                        }
                }
@@ -196,12 +205,13 @@ namespace DTXMania
                             n難易度小数[ i ] = ( this.n現在選択中の曲のレベル難易度毎DGB[ i ].Drums - (n難易度整数[ i ] * 10 ) ) * 10;
                             n難易度小数[ i ] += this.n現在選択中の曲のレベル小数点難易度毎DGB[ i ].Drums;
 
-                            //if( this.str難易度ラベル[ i ] != null && this.b現在選択中の曲に譜面がある[ i ][ j ])
-                            //{
-                            //    this.t大文字表示(73 + this.n本体X[ j ] + (i * 143), 19 + this.n本体Y[j] - y差分[i], string.Format("{0:0}", n難易度整数[i]));
-                            //    this.t小文字表示(102 + this.n本体X[ j ] + (i * 143), 37 + this.n本体Y[j] - y差分[i], string.Format("{0,2:00}", n難易度小数[i]));
-                            //    this.tx難易度数字XG.t2D描画(CDTXMania.app.Device, 94 + this.n本体X[j] + (i * 143), 51 + this.n本体Y[j] - y差分[i], new Rectangle(145, 54, 7, 8));
-                            //}
+                            if( /* this.str難易度ラベル[ i ] != null && */ this.b現在選択中の曲に譜面がある[ i ].Drums )
+                            {
+                                //this.t大文字表示(73 + this.n本体X[ j ] + (i * 143), 19 + this.n本体Y[j] - y差分[i], string.Format("{0:0}", n難易度整数[i]));
+                                //this.t小文字表示(102 + this.n本体X[ j ] + (i * 143), 37 + this.n本体Y[j] - y差分[i], string.Format("{0,2:00}", n難易度小数[i]));
+                                //this.tx難易度数字XG.t2D描画(CDTXMania.app.Device, 94 + this.n本体X[j] + (i * 143), 51 + this.n本体Y[j] - y差分[i], new Rectangle(145, 54, 7, 8));
+                                this.tレベル値の描画_中( 547, 626 - ( i * 60 ), string.Format("{0:0}", n難易度整数[i]) + "." + string.Format("{0,2:00}", n難易度小数[i]) );
+                            }
                             //else if ((this.str難易度ラベル[i] != null && !this.b現在選択中の曲に譜面がある[i][j]) || CDTXMania.stage選曲XG.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.RANDOM)
                             //{
                             //    this.t大文字表示(73 + this.n本体X[j] + (i * 143), 19 + this.n本体Y[j] - y差分[i], ("-"));
@@ -209,11 +219,30 @@ namespace DTXMania
                             //    this.tx難易度数字XG.t2D描画(CDTXMania.app.Device, 94 + this.n本体X[j] + (i * 143), 51 + this.n本体Y[j] - y差分[i], new Rectangle(145, 54, 7, 8));
                             //}
 
-                            if( this.b現在選択中の曲に譜面がある[ i ].Drums )
+                            //if( this.b現在選択中の曲に譜面がある[ i ].Drums )
+                            //{
+                            //    CDTXMania.act文字コンソール.tPrint( 570, 634 - ( 60 * i ), C文字コンソール.Eフォント種別.白, string.Format( "{0:0}", n難易度整数[i] ) + "." + string.Format("{0,2:00}", n難易度小数[i]) );
+                            //}
+                        }
+
+                        #region [ 選択曲の 最高スキル値の描画 ]
+                        //-----------------
+                        for (int j = 0; j < 3; j++)
+                        {
+                            for (int i = 0; i < 5; i++)
                             {
-                                CDTXMania.act文字コンソール.tPrint( 570, 634 - ( 60 * i ), C文字コンソール.Eフォント種別.白, string.Format( "{0:0}", n難易度整数[i] ) + "." + string.Format("{0,2:00}", n難易度小数[i]) );
+                                if( j == 0 )
+                                {
+                                    if( this.db現在選択中の曲の最高スキル値難易度毎[i][j] != 0.00 )
+                                    {
+                                        // ToDo:エクセはどう表示される?
+                                        CDTXMania.act文字コンソール.tPrint( 450, 645 - ( i * 60 ), C文字コンソール.Eフォント種別.白, string.Format( "{0,6:##0.00}%", this.db現在選択中の曲の最高スキル値難易度毎[ i ][ j ] ) );
+                                    }
+                                }
                             }
                         }
+                        //-----------------
+                        #endregion
 
                         this.t難易度カーソル描画( 426, base.n現在選択中の曲の難易度 );
 
@@ -312,6 +341,98 @@ namespace DTXMania
         private CTexture txNotesDataゲージ; //クリアバーだけはソフトウェア側で生成する
         private CTexture txTotalNotes数字;
 
+        private CTexture txレベル数字_中_整数部;
+        private CTexture txレベル数字_中_少数部;
+        private CTexture txレベル数字_中_小数点;
+
+        private struct ST数字フォント
+        {
+            public char ch文字;
+            public Rectangle rect;
+        }
+
+        private ST数字フォント[] STレベル数字_中_整数;
+        private ST数字フォント[] STレベル数字_中_少数;
+
+        private void tレベル数値フォント初期化()
+        {
+            this.STレベル数字_中_整数 = new ST数字フォント[]{
+                new ST数字フォント(){ ch文字 = '0', rect = new Rectangle( 0, 0, 28, 38 ) },
+                new ST数字フォント(){ ch文字 = '1', rect = new Rectangle( 28, 0, 28, 38 ) },
+                new ST数字フォント(){ ch文字 = '2', rect = new Rectangle( 56, 0, 28, 38 ) },
+                new ST数字フォント(){ ch文字 = '3', rect = new Rectangle( 84, 0, 28, 38 ) },
+                new ST数字フォント(){ ch文字 = '4', rect = new Rectangle( 112, 0, 28, 38 ) },
+                new ST数字フォント(){ ch文字 = '5', rect = new Rectangle( 0, 38, 28, 38 ) },
+                new ST数字フォント(){ ch文字 = '6', rect = new Rectangle( 28, 38, 28, 38 ) },
+                new ST数字フォント(){ ch文字 = '7', rect = new Rectangle( 56, 38, 28, 38 ) },
+                new ST数字フォント(){ ch文字 = '8', rect = new Rectangle( 84, 38, 28, 38 ) },
+                new ST数字フォント(){ ch文字 = '9', rect = new Rectangle( 112, 38, 28, 38 ) },
+                new ST数字フォント(){ ch文字 = '-', rect = new Rectangle( 140, 0, 28, 38 ) }
+            };
+            this.STレベル数字_中_少数 = new ST数字フォント[]{
+                new ST数字フォント(){ ch文字 = '0', rect = new Rectangle( 0, 0, 20, 28 ) },
+                new ST数字フォント(){ ch文字 = '1', rect = new Rectangle( 20, 0, 20, 28 ) },
+                new ST数字フォント(){ ch文字 = '2', rect = new Rectangle( 40, 0, 20, 28 ) },
+                new ST数字フォント(){ ch文字 = '3', rect = new Rectangle( 60, 0, 20, 28 ) },
+                new ST数字フォント(){ ch文字 = '4', rect = new Rectangle( 80, 0, 20, 28 ) },
+                new ST数字フォント(){ ch文字 = '5', rect = new Rectangle( 0, 28, 20, 28 ) },
+                new ST数字フォント(){ ch文字 = '6', rect = new Rectangle( 20, 28, 20, 28 ) },
+                new ST数字フォント(){ ch文字 = '7', rect = new Rectangle( 40, 28, 20, 28 ) },
+                new ST数字フォント(){ ch文字 = '8', rect = new Rectangle( 60, 28, 20, 28 ) },
+                new ST数字フォント(){ ch文字 = '9', rect = new Rectangle( 80, 28, 20, 28 ) },
+                new ST数字フォント(){ ch文字 = '-', rect = new Rectangle( 100, 0, 20, 28 ) }
+            };
+        }
+
+        // 2019.04.21 kairera0467
+        private void tレベル値の描画_中( int x, int y, string strレベル値 )
+        {
+            //if( dbレベル値 < 0 || dbレベル値 > 10 )
+            //    return;
+
+            // 1文字あたりのマージン
+            int n文字間隔_整数部 = 28;
+            int n文字間隔_小数部 = 17;
+            bool b整数部処理中 = true;
+            string formatText = strレベル値;
+
+            for( int i = 0; i < formatText.Length; i++ )
+            {
+                char c = formatText[ i ];
+
+                if( c.Equals( '.' ) )
+                {
+                    // 小数点だったら小数点を描画してフラグ切り替えてcontinue
+                    this.txレベル数字_中_小数点.t2D描画( CDTXMania.app.Device, x, y + 28 );
+                    b整数部処理中 = false;
+                    x += 7;
+                    continue;
+                }
+                else if( c.Equals( ' ' ) )
+                {
+                    // 空白ならなにもせずcontinue
+                    continue;
+                }
+
+                for( int j = 0; j < 11; j++ )
+                {
+                    if( c.Equals( this.STレベル数字_中_整数[ j ].ch文字 ) )
+                    {
+                        if( b整数部処理中 )
+                        {
+                            this.txレベル数字_中_整数部.t2D描画( CDTXMania.app.Device, x, y, this.STレベル数字_中_整数[ j ].rect );
+                            x += n文字間隔_整数部;
+                        }
+                        else
+                        {
+                            this.txレベル数字_中_少数部.t2D描画( CDTXMania.app.Device, x, y + 9, this.STレベル数字_中_少数[ j ].rect );
+                            x += n文字間隔_小数部;
+                        }
+                    }
+                }
+            }
+        }
+
         [StructLayout(LayoutKind.Sequential)]
         private struct ST文字位置
         {
index e339da2..218e63e 100644 (file)
@@ -21,6 +21,7 @@ namespace DTXMania
     {
         public CActSelect曲リストGITADORA()
         {
+            this.tスキル数値フォント初期化();
         }
 
         public override void tバーの初期化()
@@ -117,18 +118,22 @@ namespace DTXMania
 
                 this.txクリアランプ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_Clearlamp.png" ) );
 
-                           //this.tx曲名バー.Score = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar score.png" ), false );
-                           //this.tx曲名バー.Box = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar box.png" ), false );
-                           //this.tx曲名バー.Other = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar other.png" ), false );
-       //         this.tx曲名バー.Random = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar other.png" ), false );
-       //         this.tx曲名バー.BackBox = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar other.png" ), false );
-                           //this.tx選曲バー.Score = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar score selected.png" ), false );
-                           //this.tx選曲バー.Box = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar box selected.png" ), false );
-                           //this.tx選曲バー.Other = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar other selected.png" ), false );
-                           //this.tx選曲バー.Random = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar other selected.png" ), false );
-       //         this.tx選曲バー.BackBox = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar other selected.png" ), false );
+                //this.tx曲名バー.Score = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar score.png" ), false );
+                //this.tx曲名バー.Box = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar box.png" ), false );
+                //this.tx曲名バー.Other = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar other.png" ), false );
+                //this.tx曲名バー.Random = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar other.png" ), false );
+                //this.tx曲名バー.BackBox = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar other.png" ), false );
+                //this.tx選曲バー.Score = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar score selected.png" ), false );
+                //this.tx選曲バー.Box = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar box selected.png" ), false );
+                //this.tx選曲バー.Other = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar other selected.png" ), false );
+                //this.tx選曲バー.Random = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar other selected.png" ), false );
+                //this.tx選曲バー.BackBox = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\5_bar other selected.png" ), false );
                 //this.txスキル数字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect skill number on list.png"), false);
 
+                this.txスキル数字_大_整数部 = CDTXMania.tテクスチャの生成( CSkin.Path(@"Graphics\5_Skill number Large Int.png") );
+                this.txスキル数字_大_少数部 = CDTXMania.tテクスチャの生成( CSkin.Path(@"Graphics\5_Skill number Large Decimal.png") );
+                this.txスキル数字_大_小数点 = CDTXMania.tテクスチャの生成( CSkin.Path(@"Graphics\5_Skill number Large Dot.png") );
+
                            for( int i = 0; i < 15; i++ )
                                    this.t曲名バーの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].col文字色 );
 
@@ -194,6 +199,10 @@ namespace DTXMania
 
             CDTXMania.tテクスチャの解放( ref this.txクリアランプ );
 
+            CDTXMania.tテクスチャの解放( ref this.txスキル数字_大_整数部 );
+            CDTXMania.tテクスチャの解放( ref this.txスキル数字_大_少数部 );
+            CDTXMania.tテクスチャの解放( ref this.txスキル数字_大_小数点 );
+
             #region[ ジャケット、曲名テクスチャ画像の解放 ]
             // ジャケット
             int nKeys = this.dicThumbnail.Count;
@@ -393,6 +402,7 @@ namespace DTXMania
                                                {
                                                        int n = ( ( ( this.n現在の選択行 - 7 ) + i ) + 15 ) % 15;
                                                        this.stバー情報[ n ].eバー種別 = this.e曲のバー種別を返す( song2 );
+                            this.stバー情報[ n ].ar譜面情報 = song2.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song2 ) ].譜面情報;
                             CDTXMania.t安全にDisposeする( ref this.stバー情報[ n ].txタイトル名 );
                             CDTXMania.t安全にDisposeする( ref this.stバー情報[ n ].txアーティスト名 );
                                                        song2 = this.r次の曲( song2 );
@@ -469,6 +479,7 @@ namespace DTXMania
                                                {
                                                        int n = ( ( ( this.n現在の選択行 - 7 ) + i ) + 15 ) % 15;
                                                        this.stバー情報[ n ].eバー種別 = this.e曲のバー種別を返す( song2 );
+                            this.stバー情報[ n ].ar譜面情報 = song2.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song2 ) ].譜面情報;
                             CDTXMania.t安全にDisposeする( ref this.stバー情報[ n ].txタイトル名 );
                             CDTXMania.t安全にDisposeする( ref this.stバー情報[ n ].txアーティスト名 );
                                                        song2 = this.r次の曲( song2 );
@@ -665,7 +676,7 @@ namespace DTXMania
                             //クリアマーク
                             if( this.stバー情報[ nパネル番号 ].nスキル値.Drums > 0 )
                             {
-                                this.txクリアランプ?.t2D描画( CDTXMania.app.Device, 707, y + 2, new Rectangle( 0, this.n現在選択中の曲の現在の難易度レベル * 36, 36, 36 ) );
+                                this.txクリアランプ?.t2D描画( CDTXMania.app.Device, 745, y + 2, new Rectangle( 0, this.n現在選択中の曲の現在の難易度レベル * 36, 36, 36 ) );
                             }
                             #endregion
                                                        #region [ タイトル名テクスチャを描画。]
@@ -788,6 +799,10 @@ namespace DTXMania
                             this.txTumbnail[ nパネル番号 ].t2D描画( CDTXMania.app.Device, 314, 38 );
                         }
                         #endregion
+                        #region[ 曲別スキル値(左側)を描画 ]
+                        this.tスキル値の描画_大( 79, 216, this.r現在選択中の曲.arスコア[ this.n現在選択中の曲の現在の難易度レベル ].譜面情報.最大曲別スキル.Drums );
+
+                        #endregion
                     }
                                        else
                                        {
@@ -817,7 +832,7 @@ namespace DTXMania
                             this.txTumbnail[ nパネル番号 ].t2D描画( CDTXMania.app.Device, 750, y + 7 );
                         }
                         //クリアマーク
-                        if( this.stバー情報[ nパネル番号 ].nスキル値.Drums > 0 )
+                        if( this.stバー情報[ nパネル番号 ].ar譜面情報.最大スキル.Drums > 0 )
                         {
                             this.txクリアランプ?.t2D描画( CDTXMania.app.Device, 745, y + 2, new Rectangle( 0, this.n現在選択中の曲の現在の難易度レベル * 36, 36, 36 ) );
                         }
@@ -913,6 +928,9 @@ namespace DTXMania
         private CTexture txバー選択中;
         private CTexture txバー選択中枠;
         private CTexture txバー_フォルダ;
+        private CTexture txスキル数字_大_整数部;
+        private CTexture txスキル数字_大_少数部;
+        private CTexture txスキル数字_大_小数点;
         public STバー tx曲名バー;
         public ST選曲バー tx選曲バー;
         //private CTexture[] txTumbnail = new CTexture[ 15 ];
@@ -1040,6 +1058,95 @@ namespace DTXMania
                        }
         }
 
+
+        private ST数字フォント[] STスキル数字_大_整数;
+        private ST数字フォント[] STスキル数字_大_少数;
+        private struct ST数字フォント
+        {
+            public char ch文字;
+            public Rectangle rect;
+        }
+
+        // デバッグなどを考えてコンストラクタベタ配置ではなくメソッドに分離しておく
+
+        private void tスキル数値フォント初期化()
+        {
+            this.STスキル数字_大_整数 = new ST数字フォント[ 10 ];
+            this.STスキル数字_大_整数[ 0 ] = new ST数字フォント() { ch文字 = '0', rect = new Rectangle( 0, 0, 64, 64 ) };
+            this.STスキル数字_大_整数[ 1 ] = new ST数字フォント() { ch文字 = '1', rect = new Rectangle( 64, 0, 64, 64 ) };
+            this.STスキル数字_大_整数[ 2 ] = new ST数字フォント() { ch文字 = '2', rect = new Rectangle( 128, 0, 64, 64 ) };
+            this.STスキル数字_大_整数[ 3 ] = new ST数字フォント() { ch文字 = '3', rect = new Rectangle( 192, 0, 64, 64 ) };
+            this.STスキル数字_大_整数[ 4 ] = new ST数字フォント() { ch文字 = '4', rect = new Rectangle( 256, 0, 64, 64 ) };
+            this.STスキル数字_大_整数[ 5 ] = new ST数字フォント() { ch文字 = '5', rect = new Rectangle( 0, 64, 64, 64 ) };
+            this.STスキル数字_大_整数[ 6 ] = new ST数字フォント() { ch文字 = '6', rect = new Rectangle( 64, 64, 64, 64 ) };
+            this.STスキル数字_大_整数[ 7 ] = new ST数字フォント() { ch文字 = '7', rect = new Rectangle( 128, 64, 64, 64 ) };
+            this.STスキル数字_大_整数[ 8 ] = new ST数字フォント() { ch文字 = '8', rect = new Rectangle( 192, 64, 64, 64 ) };
+            this.STスキル数字_大_整数[ 9 ] = new ST数字フォント() { ch文字 = '9', rect = new Rectangle( 256, 64, 64, 64 ) };
+            this.STスキル数字_大_少数 = new ST数字フォント[ 10 ];
+            this.STスキル数字_大_少数[ 0 ] = new ST数字フォント() { ch文字 = '0', rect = new Rectangle( 0, 0, 46, 46 ) };
+            this.STスキル数字_大_少数[ 1 ] = new ST数字フォント() { ch文字 = '1', rect = new Rectangle( 0, 0, 46, 46 ) };
+            this.STスキル数字_大_少数[ 2 ] = new ST数字フォント() { ch文字 = '2', rect = new Rectangle( 0, 0, 46, 46 ) };
+            this.STスキル数字_大_少数[ 3 ] = new ST数字フォント() { ch文字 = '3', rect = new Rectangle( 0, 0, 46, 46 ) };
+            this.STスキル数字_大_少数[ 4 ] = new ST数字フォント() { ch文字 = '4', rect = new Rectangle( 0, 0, 46, 46 ) };
+            this.STスキル数字_大_少数[ 5 ] = new ST数字フォント() { ch文字 = '5', rect = new Rectangle( 0, 46, 46, 46 ) };
+            this.STスキル数字_大_少数[ 6 ] = new ST数字フォント() { ch文字 = '6', rect = new Rectangle( 0, 46, 46, 46 ) };
+            this.STスキル数字_大_少数[ 7 ] = new ST数字フォント() { ch文字 = '7', rect = new Rectangle( 0, 46, 46, 46 ) };
+            this.STスキル数字_大_少数[ 8 ] = new ST数字フォント() { ch文字 = '8', rect = new Rectangle( 0, 46, 46, 46 ) };
+            this.STスキル数字_大_少数[ 9 ] = new ST数字フォント() { ch文字 = '9', rect = new Rectangle( 0, 46, 46, 46 ) };
+        }
+
+        // 2019.04.20 kairera0467
+        private void tスキル値の描画_大( int x, int y, double dbスキル値 )
+        {
+            if( dbスキル値 <= 0 || dbスキル値 > 200 )
+                return;
+
+            // 1文字あたりのマージン
+            int n文字間隔_整数部 = 41;
+            int n文字間隔_小数部 = 30;
+            bool b整数部処理中 = true;
+            dbスキル値 = dbスキル値 * 100.0;
+            dbスキル値 = Math.Floor( dbスキル値 );
+            dbスキル値 = dbスキル値 / 100.0;
+            string formatText = string.Format( "{0,6:##0.00}", dbスキル値.ToString() );
+
+            for( int i = 0; i < formatText.Length; i++ )
+            {
+                char c = formatText[ i ];
+
+                if( c.Equals( '.' ) )
+                {
+                    // 小数点だったら小数点を描画してフラグ切り替えてcontinue
+                    this.txスキル数字_大_小数点.t2D描画( CDTXMania.app.Device, x, y + 54 );
+                    b整数部処理中 = false;
+                    x += 10;
+                    continue;
+                }
+                else if( c.Equals( ' ' ) )
+                {
+                    // 空白ならなにもせずcontinue
+                    continue;
+                }
+
+                for( int j = 0; j < 10; j++ )
+                {
+                    if( c.Equals( this.STスキル数字_大_整数[ j ].ch文字 ) )
+                    {
+                        if( b整数部処理中 )
+                        {
+                            this.txスキル数字_大_整数部.t2D描画( CDTXMania.app.Device, x, y, this.STスキル数字_大_整数[ j ].rect );
+                            x += n文字間隔_整数部;
+                        }
+                        else
+                        {
+                            this.txスキル数字_大_少数部.t2D描画( CDTXMania.app.Device, x, y + 18, this.STスキル数字_大_少数[ j ].rect );
+                            x += n文字間隔_小数部;
+                        }
+                    }
+                }
+            }
+        }
+
                //private void tスキル値の描画( int x, int y, int nスキル値 )
                //{
                //      if( nスキル値 <= 0 || nスキル値 > 100 )         // スキル値 0 = 未プレイ なので表示しない。
index d1c9b63..d5b42ab 100644 (file)
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ
diff --git a/実行時フォルダ/System/DefaultMat/Graphics/5_LevelNumber Medium Decimal.png b/実行時フォルダ/System/DefaultMat/Graphics/5_LevelNumber Medium Decimal.png
new file mode 100644 (file)
index 0000000..0f88216
Binary files /dev/null and b/実行時フォルダ/System/DefaultMat/Graphics/5_LevelNumber Medium Decimal.png differ
diff --git a/実行時フォルダ/System/DefaultMat/Graphics/5_LevelNumber Medium Dot.png b/実行時フォルダ/System/DefaultMat/Graphics/5_LevelNumber Medium Dot.png
new file mode 100644 (file)
index 0000000..e63ff4d
Binary files /dev/null and b/実行時フォルダ/System/DefaultMat/Graphics/5_LevelNumber Medium Dot.png differ
diff --git a/実行時フォルダ/System/DefaultMat/Graphics/5_LevelNumber Medium Int.png b/実行時フォルダ/System/DefaultMat/Graphics/5_LevelNumber Medium Int.png
new file mode 100644 (file)
index 0000000..3973ae6
Binary files /dev/null and b/実行時フォルダ/System/DefaultMat/Graphics/5_LevelNumber Medium Int.png differ
diff --git a/実行時フォルダ/System/DefaultMat/Graphics/5_Skill number Large Decimal.png b/実行時フォルダ/System/DefaultMat/Graphics/5_Skill number Large Decimal.png
new file mode 100644 (file)
index 0000000..9a45f74
Binary files /dev/null and b/実行時フォルダ/System/DefaultMat/Graphics/5_Skill number Large Decimal.png differ
diff --git a/実行時フォルダ/System/DefaultMat/Graphics/5_Skill number Large Dot.png b/実行時フォルダ/System/DefaultMat/Graphics/5_Skill number Large Dot.png
new file mode 100644 (file)
index 0000000..b77be44
Binary files /dev/null and b/実行時フォルダ/System/DefaultMat/Graphics/5_Skill number Large Dot.png differ
diff --git a/実行時フォルダ/System/DefaultMat/Graphics/5_Skill number Large Int.png b/実行時フォルダ/System/DefaultMat/Graphics/5_Skill number Large Int.png
new file mode 100644 (file)
index 0000000..4ff3ba6
Binary files /dev/null and b/実行時フォルダ/System/DefaultMat/Graphics/5_Skill number Large Int.png differ
index 3c0d12b..b7eda25 100644 (file)
Binary files a/実行時フォルダ/System/DefaultMat/Graphics/7_Drums combo.png and b/実行時フォルダ/System/DefaultMat/Graphics/7_Drums combo.png differ