From e206db822bd087d6430c796db8aca40124e15ce1 Mon Sep 17 00:00:00 2001 From: 0aubsq <0aubsq@gmail.com> Date: Thu, 14 Oct 2021 12:56:11 +0200 Subject: [PATCH] Version 0.4.3 : Course:Tower are now fully playable, including LIFE parameter, early lose condition if LIFE reachs 0, and so on. Full result screen and Lower background will release later --- README.md | 11 ++- TJAPlayer3/Common/CSkin.cs | 6 ++ TJAPlayer3/Stages/01.StartUp/TextureLoader.cs | 28 +++++- .../Stages/07.Game/CAct演奏ステージ失敗.cs | 94 ++++++++++++++----- .../Stages/07.Game/CStage演奏画面共通.cs | 22 ++++- .../Taiko/CAct演奏Drumsキャラクター.cs | 18 ++-- .../Taiko/CAct演奏Drums演奏終了演出.cs | 19 +++- .../Stages/07.Game/Taiko/CAct演奏Drums背景.cs | 8 +- .../07.Game/Taiko/CStage演奏ドラム画面.cs | 5 +- TJAPlayer3/Stages/08.Result/CStage結果.cs | 37 +++++++- Test/System | 2 +- 11 files changed, 201 insertions(+), 49 deletions(-) diff --git a/README.md b/README.md index b0e20068..56b0f46c 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@ TJAPlayer3-Develop-ReWrite-1のフォーク, 太鼓の達人 ニジイロVerを (English version coming soon) -- 現在の版: v0.4.2 +- 現在の版: v0.4.3 -- スキンの最新版: v0.4.2 +- スキンの最新版: v0.4.3 ## 予告情報 (重要) @@ -49,6 +49,13 @@ Discord以外で配布しておりません。 ## 更新記録 +
+ v0.4.3 + + - PS2の太鼓タワーを実装 (Gameplay) + +
+
v0.4.2 diff --git a/TJAPlayer3/Common/CSkin.cs b/TJAPlayer3/Common/CSkin.cs index 22caf028..342a8a31 100644 --- a/TJAPlayer3/Common/CSkin.cs +++ b/TJAPlayer3/Common/CSkin.cs @@ -367,6 +367,10 @@ namespace TJAPlayer3 public Cシステムサウンド soundSelectAnnounce = null; + // Tower Sfx + public Cシステムサウンド soundTowerMiss = null; + public Cシステムサウンド bgmTowerResult = null; + //public Cシステムサウンド soundRed = null; //public Cシステムサウンド soundBlue = null; public Cシステムサウンド soundBalloon = null; @@ -707,6 +711,8 @@ namespace TJAPlayer3 this.bgmDanResult = new Cシステムサウンド(@"Sounds\Dan\Dan_Result.ogg", false, false, true, ESoundGroup.SongPlayback); + this.bgmTowerResult = new Cシステムサウンド(@"Sounds\Tower\Tower_Result.ogg", false, false, true, ESoundGroup.SongPlayback); + this.soundTowerMiss = new Cシステムサウンド(@"Sounds\Tower\Miss.wav", false, false, true, ESoundGroup.SoundEffect); this.soundCrownIn = new Cシステムサウンド(@"Sounds\ResultScreen\CrownIn.ogg", false, false, false, ESoundGroup.SoundEffect); this.soundRankIn = new Cシステムサウンド(@"Sounds\ResultScreen\RankIn.ogg", false, false, false, ESoundGroup.SoundEffect); diff --git a/TJAPlayer3/Stages/01.StartUp/TextureLoader.cs b/TJAPlayer3/Stages/01.StartUp/TextureLoader.cs index f30dbcf4..e4576b31 100644 --- a/TJAPlayer3/Stages/01.StartUp/TextureLoader.cs +++ b/TJAPlayer3/Stages/01.StartUp/TextureLoader.cs @@ -20,6 +20,7 @@ namespace TJAPlayer3 const string RESULT = @"6_Result\"; const string EXIT = @"7_Exit\"; const string DANRESULT = @"7_DanResult\"; + const string TOWERRESULT = @"8_TowerResult\"; // InGame const string CHARA = @"1_Chara\"; @@ -774,7 +775,7 @@ namespace TJAPlayer3 Exit_Background = TxC(EXIT + @"Background.png"); #endregion - #region [8_DanResults] + #region [7_DanResults] DanResult_Background = TxC(DANRESULT + @"Background.png"); DanResult_Rank = TxC(DANRESULT + @"Rank.png"); @@ -785,9 +786,21 @@ namespace TJAPlayer3 #endregion + #region [8_TowerResults] + + TowerResult_Background = TxC(TOWERRESULT + @"Background.png"); + TowerResult_Panel = TxC(TOWERRESULT + @"Panel.png"); + + for (int i = 0; i < TowerResult_Tower.Length; i++) + { + TowerResult_Tower[i] = TxC(TOWERRESULT + @"Tower\" + i.ToString() + ".png"); + } + + #endregion + } - public void DisposeTexture() + public void DisposeTexture() { foreach (var tex in listTexture) { @@ -1128,7 +1141,7 @@ namespace TJAPlayer3 /*Exit_Text */; #endregion - #region [8_DanResults] + #region [7_DanResults] public CTexture DanResult_Background, DanResult_Rank, @@ -1139,6 +1152,15 @@ namespace TJAPlayer3 #endregion + #region [8_TowerResults] + + public CTexture TowerResult_Background, + TowerResult_Panel; + public CTexture[] + TowerResult_Tower = new CTexture[1]; + + #endregion + #region [ 解放用 ] public List listTexture = new List(); #endregion diff --git a/TJAPlayer3/Stages/07.Game/CAct演奏ステージ失敗.cs b/TJAPlayer3/Stages/07.Game/CAct演奏ステージ失敗.cs index 087fb579..dff99259 100644 --- a/TJAPlayer3/Stages/07.Game/CAct演奏ステージ失敗.cs +++ b/TJAPlayer3/Stages/07.Game/CAct演奏ステージ失敗.cs @@ -70,8 +70,9 @@ namespace TJAPlayer3 public void Start() { this.dbFailedTime = TJAPlayer3.Timer.n現在時刻; - this.ct進行 = new CCounter( 0, 1000, 2, TJAPlayer3.Timer ); - if( TJAPlayer3.ConfigIni.eGameMode != EGame.OFF ) + this.ct進行 = new CCounter( 0, 300, 22, TJAPlayer3.Timer ); + this.ctEnd_ClearFailed = new CCounter(0, 69, 30, TJAPlayer3.Timer); + if ( TJAPlayer3.ConfigIni.eGameMode != EGame.OFF ) { this.ct進行 = new CCounter( 0, 4000, 2, TJAPlayer3.Timer ); } @@ -99,26 +100,58 @@ namespace TJAPlayer3 } public override void OnManagedリソースの作成() { + this.failedSongPlayed = false; if( !base.b活性化してない ) - { - // this.txBlack = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\Tile black 64x64.png" ) ); - //this.txStageFailed = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_stage_failed.jpg" ) ); - //this.txGameFailed = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_GameFailed.png" ) ); - // this.tx数字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_RollNumber.png" ) ); + { + // this.txBlack = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\Tile black 64x64.png" ) ); + //this.txStageFailed = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_stage_failed.jpg" ) ); + //this.txGameFailed = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_GameFailed.png" ) ); + // this.tx数字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_RollNumber.png" ) ); + this.soundFailed = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Failed.ogg"), ESoundGroup.SoundEffect); base.OnManagedリソースの作成(); } } public override void OnManagedリソースの解放() { if( !base.b活性化してない ) - { - //CDTXMania.tテクスチャの解放( ref this.txStageFailed ); - //CDTXMania.tテクスチャの解放( ref this.txGameFailed ); - // CDTXMania.tテクスチャの解放( ref this.txBlack ); - // CDTXMania.tテクスチャの解放( ref this.tx数字 ); + { + //CDTXMania.tテクスチャの解放( ref this.txStageFailed ); + //CDTXMania.tテクスチャの解放( ref this.txGameFailed ); + // CDTXMania.tテクスチャの解放( ref this.txBlack ); + // CDTXMania.tテクスチャの解放( ref this.tx数字 ); + if (this.soundFailed != null) + this.soundFailed.t解放する(); base.OnManagedリソースの解放(); } - } + } + + #region [Effect] + + private void showEndEffect_Failed(int i) + { + int[] y = new int[] { 0, 176 }; + + this.ctEnd_ClearFailed.t進行(); + if (this.ctEnd_ClearFailed.n現在の値 <= 20) + { + TJAPlayer3.Tx.End_ClearFailed[this.ctEnd_ClearFailed.n現在の値].t2D描画(TJAPlayer3.app.Device, 505, y[i] + 145); + } + if (this.ctEnd_ClearFailed.n現在の値 >= 20 && this.ctEnd_ClearFailed.n現在の値 <= 67) + { + TJAPlayer3.Tx.ClearFailed.t2D描画(TJAPlayer3.app.Device, 502, y[i] + 192); + } + else if (this.ctEnd_ClearFailed.n現在の値 == 68) + { + TJAPlayer3.Tx.ClearFailed1.t2D描画(TJAPlayer3.app.Device, 502, y[i] + 192); + } + else if (this.ctEnd_ClearFailed.n現在の値 >= 69) + { + TJAPlayer3.Tx.ClearFailed2.t2D描画(TJAPlayer3.app.Device, 502, y[i] + 192); + } + } + + #endregion + public override int On進行描画() { if( base.b活性化してない ) @@ -129,9 +162,22 @@ namespace TJAPlayer3 { return 0; } - this.ct進行.t進行(); - - if (TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー || TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー激辛) + this.ct進行.t進行(); + + #region [Failed screen] + + if (this.soundFailed != null && !this.failedSongPlayed) + { + this.soundFailed.t再生を開始する(); + this.failedSongPlayed = true; + } + this.showEndEffect_Failed(0); + + #endregion + + /* + + if (TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー || TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー激辛) { if (TJAPlayer3.Tx.Tile_Black != null) { @@ -191,6 +237,8 @@ namespace TJAPlayer3 } } + */ + if( !this.ct進行.b終了値に達した ) { return 0; @@ -206,11 +254,15 @@ namespace TJAPlayer3 private bool b効果音再生済み; private CCounter ct進行; private CSound sd効果音; - //private CTexture txStageFailed; - // private CTexture txGameFailed; - // private CTexture txBlack; - // private CTexture tx数字; - private double dbFailedTime; + + private bool failedSongPlayed; + private CSound soundFailed; + private CCounter ctEnd_ClearFailed; + //private CTexture txStageFailed; + // private CTexture txGameFailed; + // private CTexture txBlack; + // private CTexture tx数字; + private double dbFailedTime; //----------------- private ST文字位置[] st文字位置; diff --git a/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs b/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs index 3077b539..5c5a9801 100644 --- a/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs +++ b/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs @@ -3081,12 +3081,24 @@ namespace TJAPlayer3 } protected void t進行描画_STAGEFAILED() { - if ( ( ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED ) || ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) && ( ( this.actStageFailed.On進行描画() != 0 ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) ) + // Transition for failed games + if ( ( ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED ) + || ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) + && ( ( this.actStageFailed.On進行描画() != 0 ) + && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) ) { - this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.ステージ失敗; - base.eフェーズID = CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト; - this.actFO.tフェードアウト開始(); - } + if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower) + { + this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.ステージクリア; + } + else + { + this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.ステージ失敗; + + } + base.eフェーズID = CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト; + this.actFO.tフェードアウト開始(); + } } protected void t進行描画_チップファイアGB() diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsキャラクター.cs b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsキャラクター.cs index 53d0a5f4..8bd3d225 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsキャラクター.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsキャラクター.cs @@ -126,18 +126,17 @@ namespace TJAPlayer3 if (this.ctキャラクターアクション_ゴーゴースタート != null || TJAPlayer3.Skin.Game_Chara_Ptn_GoGoStart != 0) this.ctキャラクターアクション_ゴーゴースタート[i].t進行db(); if (this.ctキャラクターアクション_ゴーゴースタートMAX != null || TJAPlayer3.Skin.Game_Chara_Ptn_GoGoStart_Max != 0) this.ctキャラクターアクション_ゴーゴースタートMAX[i].t進行db(); if (this.ctキャラクターアクション_ノルマ != null || TJAPlayer3.Skin.Game_Chara_Ptn_ClearIn != 0) this.ctキャラクターアクション_ノルマ[i].t進行db(); - if (this.ctキャラクターアクション_魂MAX != null || TJAPlayer3.Skin.Game_Chara_Ptn_SoulIn != 0) this.ctキャラクターアクション_魂MAX[i].t進行db(); - + if (this.ctキャラクターアクション_魂MAX != null || TJAPlayer3.Skin.Game_Chara_Ptn_SoulIn != 0) this.ctキャラクターアクション_魂MAX[i].t進行db(); + + // Blinking animation during invincibility frames + if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower) + { + if (CFloorManagement.isBlinking() == true) + break; + } if (this.b風船連打中[i] != true && this.bマイどんアクション中[i] != true && CharaAction_Balloon_Delay[i].b終了値に達した) { - // Blinking animation during invincibility frames - if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower) - { - if (CFloorManagement.isBlinking() == true) - break; - } - if (!TJAPlayer3.stage演奏ドラム画面.bIsGOGOTIME[i]) { if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[i] >= 100.0 && TJAPlayer3.Skin.Game_Chara_Ptn_Clear != 0) @@ -177,7 +176,6 @@ namespace TJAPlayer3 if (this.b風船連打中[i] != true && bマイどんアクション中[i] == true && CharaAction_Balloon_Delay[i].b終了値に達した) { - if (this.ctキャラクターアクション_10コンボ[i].b進行中) { if (TJAPlayer3.Tx.Chara_10Combo[i] != null && TJAPlayer3.Skin.Game_Chara_Ptn_10combo != 0) diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs index 1ee20d4b..8bad6411 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs @@ -31,7 +31,24 @@ namespace TJAPlayer3 this.ctEnd_DondaFullComboLoop = new CCounter(0, 2, 30, TJAPlayer3.Timer); // モードの決定。クリア失敗・フルコンボも事前に作っとく。 - if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) + if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower) + { + if (CFloorManagement.CurrentNumberOfLives > 0) + { + if (TJAPlayer3.stage演奏ドラム画面.CBranchScore[0].nMiss == 0) + { + if (TJAPlayer3.stage演奏ドラム画面.CBranchScore[0].nGood == 0) + this.Mode[0] = EndMode.StageDondaFullCombo; + else + this.Mode[0] = EndMode.StageFullCombo; + } + else + this.Mode[0] = EndMode.StageCleared; + } + else + this.Mode[0] = EndMode.StageFailed; + } + else if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) { // 段位認定モード。 if (!TJAPlayer3.stage演奏ドラム画面.actDan.GetFailedAllChallenges()) diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums背景.cs b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums背景.cs index 1f4d353f..2962ea78 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums背景.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums背景.cs @@ -26,7 +26,7 @@ namespace TJAPlayer3 { CFloorManagement.InvincibilityFrames = new CCounter(0, CFloorManagement.InvincibilityDuration + 1000, 1, TJAPlayer3.Timer); CFloorManagement.CurrentNumberOfLives--; - // Play "outch" sfx + TJAPlayer3.Skin.soundTowerMiss.t再生する(); } } @@ -253,8 +253,8 @@ namespace TJAPlayer3 if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower) { - TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkTouTatsuKaiSuu).t2D描画(TJAPlayer3.app.Device, 550, 32); - TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkKai).t2D描画(TJAPlayer3.app.Device, 750, 104); + TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkTouTatsuKaiSuu).t2D描画(TJAPlayer3.app.Device, 350, 32); + TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkKai).t2D描画(TJAPlayer3.app.Device, 550, 104); this.ct炎.t進行Loop(); CFloorManagement.loopFrames(); @@ -278,7 +278,7 @@ namespace TJAPlayer3 { int currentNum = int.Parse(floorStr[idx].ToString()); - TJAPlayer3.Tx.Taiko_Combo[0].t2D描画(TJAPlayer3.app.Device, 756 - ((digitLength - 8) * (len - idx) * 1.4f), + TJAPlayer3.Tx.Taiko_Combo[0].t2D描画(TJAPlayer3.app.Device, 556 - ((digitLength - 8) * (len - idx) * 1.4f), 84, new Rectangle(digitLength * currentNum, 0, digitLength, TJAPlayer3.Tx.Taiko_Combo[0].szテクスチャサイズ.Height)); diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs b/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs index c86eb4bc..a4ab871e 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs @@ -435,7 +435,10 @@ namespace TJAPlayer3 base.b初めての進行描画 = false; } #endregion - if ( ( ( TJAPlayer3.ConfigIni.nRisky != 0 && this.actGauge.IsFailed( E楽器パート.TAIKO ) ) || this.actGame.st叩ききりまショー.ct残り時間.b終了値に達した ) && ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) ) + if ( ( ( TJAPlayer3.ConfigIni.nRisky != 0 && this.actGauge.IsFailed( E楽器パート.TAIKO ) ) + || this.actGame.st叩ききりまショー.ct残り時間.b終了値に達した + || (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower && CFloorManagement.CurrentNumberOfLives <= 0)) + && ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 )) { this.actStageFailed.Start(); TJAPlayer3.DTX.t全チップの再生停止(); diff --git a/TJAPlayer3/Stages/08.Result/CStage結果.cs b/TJAPlayer3/Stages/08.Result/CStage結果.cs index 26d7da87..6543ce72 100644 --- a/TJAPlayer3/Stages/08.Result/CStage結果.cs +++ b/TJAPlayer3/Stages/08.Result/CStage結果.cs @@ -319,6 +319,11 @@ namespace TJAPlayer3 ctShine_Plate = new CCounter(0, 1000, 1, TJAPlayer3.Timer); ctWork_Plate = new CCounter(0, 4000, 1, TJAPlayer3.Timer); + if (TJAPlayer3.Tx.TowerResult_Background != null) + ctTower_Animation = new CCounter(0, TJAPlayer3.Tx.TowerResult_Background.szテクスチャサイズ.Height - 720, 25, TJAPlayer3.Timer); + else + ctTower_Animation = new CCounter(); + Dan_Plate = TJAPlayer3.tテクスチャの生成(Path.GetDirectoryName(TJAPlayer3.DTX.strファイル名の絶対パス) + @"\Dan_Plate.png"); @@ -666,7 +671,33 @@ namespace TJAPlayer3 { #region [Tower result screen] + if (!b音声再生 && !TJAPlayer3.Skin.bgmTowerResult.b再生中) + { + TJAPlayer3.Skin.bgmTowerResult.t再生する(); + b音声再生 = true; + } + // Pictures here + + this.ctTower_Animation.t進行(); + + int xFactor = 0; + float yFactor = 1f; + if (TJAPlayer3.Tx.TowerResult_Background != null && TJAPlayer3.Tx.TowerResult_Tower[0] != null) + { + xFactor = (TJAPlayer3.Tx.TowerResult_Background.szテクスチャサイズ.Width - TJAPlayer3.Tx.TowerResult_Tower[0].szテクスチャサイズ.Width) / 2; + yFactor = TJAPlayer3.Tx.TowerResult_Tower[0].szテクスチャサイズ.Height / (float)TJAPlayer3.Tx.TowerResult_Background.szテクスチャサイズ.Height; + } + + TJAPlayer3.Tx.TowerResult_Background?.t2D描画(TJAPlayer3.app.Device, 0, -1 * this.ctTower_Animation.n現在の値); + TJAPlayer3.Tx.TowerResult_Tower[0]?.t2D描画(TJAPlayer3.app.Device, xFactor, -1 * yFactor * this.ctTower_Animation.n現在の値); + TJAPlayer3.Tx.TowerResult_Panel?.t2D描画(TJAPlayer3.app.Device, 0, 0); + + if (!b音声再生 && !TJAPlayer3.Skin.bgmTowerResult.b再生中) + { + TJAPlayer3.Skin.bgmTowerResult.t再生する(); + b音声再生 = true; + } #endregion @@ -752,6 +783,7 @@ namespace TJAPlayer3 this.eフェードアウト完了時の戻り値 = E戻り値.完了; TJAPlayer3.Skin.bgmリザルト音.t停止する(); TJAPlayer3.Skin.bgmDanResult.t停止する(); + TJAPlayer3.Skin.bgmTowerResult.t停止する(); TJAPlayer3.Skin.sound決定音.t再生する(); } } @@ -925,7 +957,10 @@ namespace TJAPlayer3 private int[] WorksTimeStamp = { 1000, 2000, 3000 }; // Dan informations - private CTexture Dan_Plate; + private CTexture Dan_Plate; + + // Tower informations + private CCounter ctTower_Animation; private CCounter ctAutoReturn; //private CTexture txオプションパネル; diff --git a/Test/System b/Test/System index cfa3580a..dcc5f2f6 160000 --- a/Test/System +++ b/Test/System @@ -1 +1 @@ -Subproject commit cfa3580a0dab1354420d2d306c059cb7c30de91c +Subproject commit dcc5f2f6230cf9c647451687acf1fcb824607189