OSDN Git Service

前回コミットから現在までの状態のコミット
authorkairera0467 <gennsou76573@gmail.com>
Sat, 22 Jan 2022 05:32:54 +0000 (14:32 +0900)
committerkairera0467 <gennsou76573@gmail.com>
Sat, 22 Jan 2022 05:32:54 +0000 (14:32 +0900)
matixxリザルト画面のスキル達成率ゲージを実装

DTXManiaプロジェクト/コード/ステージ/05.選曲/GITADORA/CStage選曲GITADORA.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs
DTXManiaプロジェクト/コード/ステージ/08.結果/GITADORA/CActResultParameterPanelGD.cs
DTXManiaプロジェクト/コード/ステージ/CActFIFOPuzzle.cs
実行時フォルダ/DTXManiaGR.exe
実行時フォルダ/System/DefaultMat/Graphics/8_text.png

index 6633a1b..9bc2608 100644 (file)
@@ -446,7 +446,6 @@ namespace DTXMania
                                                        #endregion
                                                }
                                        }
-
                     this.actSelectFO決定.On進行描画();
                                        #region [ ESC ]
                                        if( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDXKey.F7 ) )
@@ -454,8 +453,9 @@ namespace DTXMania
                         this.actSelectFO決定.tフェードアウト開始();
                                        }
                                        #endregion
-                    
-                    {
+
+#if DEBUG
+                                       {
                         //Debug
                         //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDXKey.F5 ) )
                         //{
@@ -469,13 +469,16 @@ namespace DTXMania
                         //        CDTXMania.Skin.sound変更音.t再生する();
                         //        CDTXMania.Skin.CreateShutterList();
                         //}
-                        //if( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDXKey.F9 ) )
-                        //{
-                        //        Debug.WriteLine( "[Test]シャッター画像のリスト生成&呼び出し" );
-                        //        CDTXMania.Skin.sound変更音.t再生する();
-                        //        CDTXMania.Skin.arGetShutterName();
-                        //}
+                                               this.actFIFOPuzzle.On進行描画();
+                        if( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDXKey.F9 ) )
+                        {
+                            //Debug.WriteLine( "[Test]シャッター画像のリスト生成&呼び出し" );
+                            //CDTXMania.Skin.sound変更音.t再生する();
+                            //CDTXMania.Skin.arGetShutterName();
+                                                       this.actFIFOPuzzle.tフェードアウト開始WAM();
+                        }
                     }
+#endif
                                        this.actSortSongs.t進行描画();
                                        this.actQuickConfig.t進行描画();
                                }
@@ -488,5 +491,7 @@ namespace DTXMania
         private CTexture tx背景_決定後;
                private CTexture txFLIP;
         protected CActSelectFO曲決定 actSelectFO決定;
+
+               protected CActFIFOPuzzle actFIFOPuzzle;
     }
 }
index f4b6b42..34d37c2 100644 (file)
@@ -1433,18 +1433,29 @@ namespace DTXMania
             eJudgeResult = (bCorrectLane) ? this.e指定時刻からChipのJUDGEを返す(nHitTime, pChip, nInputAdjustTime) : E判定.Miss;
 
             // 2017.01.10 kairera0467 #36776
-            for( int i = 0; i < 3; i++ )
+            //for( int i = 0; i < 3; i++ )
+            //{
+            //    if( CDTXMania.ConfigIni.eJUST[ i ] == EJust.JUST )
+            //    {
+            //        if( !( eJudgeResult == E判定.Perfect || eJudgeResult == E判定.XPerfect ) )
+            //            eJudgeResult = E判定.Miss;
+            //    }
+            //    else if( CDTXMania.ConfigIni.eJUST[ i ] == EJust.GREAT )
+            //    {
+            //        if( !( eJudgeResult == E判定.Perfect || eJudgeResult == E判定.Great || eJudgeResult == E判定.XPerfect ) )
+            //            eJudgeResult = E判定.Miss;
+            //    }
+            //}
+
+            if( CDTXMania.ConfigIni.eJUST[ (int)pChip.e楽器パート ] == EJust.JUST )
             {
-                if( CDTXMania.ConfigIni.eJUST[ i ] == EJust.JUST )
-                {
-                    if( !( eJudgeResult == E判定.Perfect || eJudgeResult == E判定.XPerfect ) )
-                        eJudgeResult = E判定.Miss;
-                }
-                else if( CDTXMania.ConfigIni.eJUST[ i ] == EJust.GREAT )
-                {
-                    if( !( eJudgeResult == E判定.Perfect || eJudgeResult == E判定.Great || eJudgeResult == E判定.XPerfect ) )
-                        eJudgeResult = E判定.Miss;
-                }
+                if( !( eJudgeResult == E判定.Perfect || eJudgeResult == E判定.XPerfect ) )
+                    eJudgeResult = E判定.Miss;
+            }
+            else if( CDTXMania.ConfigIni.eJUST[ (int)pChip.e楽器パート ] == EJust.GREAT )
+            {
+                if( !( eJudgeResult == E判定.Perfect || eJudgeResult == E判定.Great || eJudgeResult == E判定.XPerfect ) )
+                    eJudgeResult = E判定.Miss;
             }
 
             if( pChip.e楽器パート != E楽器パート.UNKNOWN )
index bb643b1..88d42c1 100644 (file)
@@ -108,6 +108,16 @@ namespace DTXMania
                 CDTXMania.t安全にDisposeする( ref b白線 );
                 CDTXMania.t安全にDisposeする( ref g白線 );
                 #endregion
+                #region[ 達成率ゲージ中身の生成]
+                Bitmap b = new Bitmap( 202, 14 );
+                Graphics g = Graphics.FromImage( b );
+                g.DrawImage( CDTXMania.tテクスチャをImageで読み込む( CSkin.Path( @"Graphics\8_Gauge.png" ) ),
+                        new Rectangle(0, 0, 202, 11), new Rectangle(8, 18, 204, 11), GraphicsUnit.Pixel
+                    );
+                this.txゲージ中身 = new CTexture( CDTXMania.app.Device, b, CDTXMania.TextureFormat, false );
+                b?.Dispose();
+                g?.Dispose();
+                #endregion
                 base.OnManagedリソースの作成();
                        }
                }
@@ -161,21 +171,29 @@ namespace DTXMania
                        {
                 if( this.n本体X[ i ] != 0 )
                 {
+                    double rate = CDTXMania.stage結果.st演奏記録[ i ].db演奏型スキル値;
+
                     this.tレベル値の描画( 1078, 159, CDTXMania.DTX.LEVEL.Drums, CDTXMania.DTX.LEVELDEC.Drums );
                     this.tx白線?.t2D描画( CDTXMania.app.Device, 916, 215 );
 
                     //this.t特大文字表示( 1080, 260, string.Format("{0,-6:##0.00%}", CDTXMania.stage結果.st演奏記録[ i ].db演奏型スキル値 / 100.0 ) );
-                    this.t達成率値の描画( 1040, 232, CDTXMania.stage結果.st演奏記録[ i ].db演奏型スキル値 );
+                    this.t達成率値の描画( 1040, 232, rate );
                     this.tx白線?.t2D描画( CDTXMania.app.Device, 890, 288 );
 
                     //this.t特大文字表示( 1020, 370, string.Format("{0,6:##0.00}", CDTXMania.stage結果.st演奏記録[i].dbゲーム型スキル値));
-                    this.tスキル値の描画(976, 328, CDTXMania.stage結果.st演奏記録[ i ].dbゲーム型スキル値 );
+                    this.tスキル値の描画( 976, 328, CDTXMania.stage結果.st演奏記録[ i ].dbゲーム型スキル値 );
                     this.tx白線?.t2D描画( CDTXMania.app.Device, 842, 416 );
 
+                    this.txゲージ?.t2D描画( CDTXMania.app.Device, 977, 398, new Rectangle( 0, 0, 220, 16 ) );
+
+                    this.txゲージ中身.t2D描画( CDTXMania.app.Device, 985, 400, new Rectangle( 0, 0, (int)(203.0f * (rate / 100.0f) ), 11) );
+
                     // 各項目の文字
                     this.tx項目文字列?.t2D描画( CDTXMania.app.Device, 847, 381, new Rectangle( 0, 0, 128, 32 ) );
                     this.tx項目文字列?.t2D描画( CDTXMania.app.Device, 895, 254, new Rectangle( 0, 32, 96, 32 ) );
                     this.tx項目文字列?.t2D描画( CDTXMania.app.Device, 917, 181, new Rectangle( 0, 64, 96, 32 ) );
+
+                    this.tx項目文字列?.t2D描画( CDTXMania.app.Device, 1190, 397, new Rectangle( 0, 96, 32, 14 ) );
                 }
                        }
 
@@ -259,6 +277,7 @@ namespace DTXMania
         private CTexture tx難易度パネル;
         private CTexture txレベル数字;
         private CTexture txゲージ;
+        private CTexture txゲージ中身;
         private CTexture txゲージ2;
                private CTexture[] tx文字 = new CTexture[ 3 ];
         private CTexture txスキル数字_整数;
index 2925d0d..5e0ea17 100644 (file)
@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using System.Text;
 using System.Drawing;
+using SharpDX.Animation;
 using FDK;
 
 using SlimDXKey = SlimDX.DirectInput.Key;
@@ -27,9 +28,26 @@ namespace DTXMania
                        this.counter.n現在の値 = this.counter.n終了値;
                }
 
-               // CActivity 実装
+        public void tフェードアウト開始WAM()
+        {
+            this.mode = EFIFOモード.フェードアウト;
 
-               public override void On非活性化()
+            #region[ Storyboardの構築 ]
+            float f速度倍率 = 1.0f;
+            double dコマ秒 = 0.016;
+            double 秒(double v) => ( v / f速度倍率 );
+            var animation = CDTXMania.AnimationManager;
+
+            C図形 図形 = this._図形[ 0 ];
+
+
+
+            #endregion
+        }
+
+        // CActivity 実装
+
+        public override void On非活性化()
                {
                        if( !base.b活性化してない )
                        {
@@ -242,6 +260,54 @@ namespace DTXMania
         CTexture tx青色;
         CTexture tx群青;
         CTexture tx黒;
+
+        protected C図形[] _図形 = new C図形[ 14 ];
+
+        protected class C図形 : IDisposable
+        {
+            public Variable var画像中心位置X;
+            public Variable var画像中心位置Y;
+            public Variable var画像Z軸回転度;
+            public Storyboard _ストーリーボード;
+            
+            public void Dispose()
+            {
+                this._ストーリーボード?.Abandon();
+                this._ストーリーボード = null;
+
+                this.var画像中心位置X?.Dispose();
+                this.var画像中心位置X = null;
+
+                this.var画像中心位置Y?.Dispose();
+                this.var画像中心位置Y = null;
+
+                this.var画像Z軸回転度?.Dispose();
+                this.var画像Z軸回転度 = null;
+            }
+        }
+
+        protected class Cタイトルロゴ : IDisposable
+        {
+            public Variable var画像中心位置X;
+            public Variable var画像中心位置Y;
+            public Variable var画像不透明度;
+            public Storyboard _ストーリーボード;
+
+            public void Dispose()
+            {
+                this._ストーリーボード?.Abandon();
+                this._ストーリーボード = null;
+
+                this.var画像中心位置X?.Dispose();
+                this.var画像中心位置X = null;
+
+                this.var画像中心位置Y?.Dispose();
+                this.var画像中心位置Y = null;
+
+                this.var画像不透明度?.Dispose();
+                this.var画像不透明度 = null;
+            }
+        }
         #endregion
     }
 }
index 51dcda5..6245691 100644 (file)
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ
index 71905e3..2c62160 100644 (file)
Binary files a/実行時フォルダ/System/DefaultMat/Graphics/8_text.png and b/実行時フォルダ/System/DefaultMat/Graphics/8_text.png differ