OSDN Git Service

#28314 Dangerの表示において、全画面が赤く明滅するようなエフェクトを追加。
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Tue, 2 Aug 2016 16:14:24 +0000 (16:14 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Tue, 2 Aug 2016 16:14:24 +0000 (16:14 +0000)
git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@1026 16f42ceb-6dc6-49c8-ba94-f2d53467949d

DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏Danger共通.cs
実行時フォルダ/DTXManiaGR.exe

index 8b5b9a0..4c2a664 100644 (file)
@@ -10,6 +10,7 @@ namespace DTXMania
        internal class CAct演奏Danger共通 : CActivity\r
        {\r
                private CTextureAf txDANGER;\r
+               private CTexture txRedScreen;\r
                private bool bDanger中;\r
                // = { false, false, false };\r
                private CCounter ct移動用;\r
@@ -44,6 +45,20 @@ namespace DTXMania
                        if (b活性化してる)\r
                        {\r
                                this.txDANGER = TextureFactory.tテクスチャの生成Af(CSkin.Path(@"Graphics\ScreenPlayDrums danger.png"), false);\r
+\r
+                               using ( Bitmap bmp = new Bitmap( SampleFramework.GameWindowSize.Width, SampleFramework.GameWindowSize.Height ) )\r
+                               {\r
+                                       using ( var g = Graphics.FromImage( bmp ) )\r
+                                       {\r
+                                               using ( var brush = new SolidBrush( Color.Red ) )\r
+                                               {\r
+                                                       g.FillRectangle( brush, 0, 0, bmp.Width, bmp.Height );\r
+                                               }\r
+                                       }\r
+                                       this.txRedScreen = TextureFactory.tテクスチャの生成( bmp );\r
+                               }\r
\r
+\r
                                base.OnManagedリソースの作成();\r
                        }\r
                }\r
@@ -52,6 +67,7 @@ namespace DTXMania
                {\r
                        if (b活性化してる)\r
                        {\r
+                               TextureFactory.tテクスチャの解放(ref this.txRedScreen);\r
                                TextureFactory.tテクスチャの解放(ref this.txDANGER);\r
                                base.OnManagedリソースの解放();\r
                        }\r
@@ -86,7 +102,12 @@ namespace DTXMania
                                        return 0;\r
                                }\r
                                int num = this.ct透明度用.n現在の値;\r
-                               if (this.txDANGER != null)\r
+                               if ( txRedScreen != null )\r
+                               {\r
+                                       this.txRedScreen.n透明度 = ( ( ( num < 180 ) ? num : ( 360 - num ) ) * 256 / 180) / 3 ;\r
+                                       this.txRedScreen.t2D描画( CDTXMania.Instance.Device, 0, 0 );\r
+                               }\r
+                               if ( this.txDANGER != null )\r
                                {\r
                                        this.txDANGER.n透明度 = 60 + ((num < 180) ? num : (360 - num));\r
                                }\r
index f02fc04..3dc4903 100644 (file)
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ