1
0
mirror of synced 2025-02-07 14:51:25 +01:00
This commit is contained in:
0auBSQ 2024-01-27 18:49:49 +09:00
parent deb35a9e1d
commit c64a0aed49
4 changed files with 616 additions and 612 deletions

View File

@ -398,9 +398,9 @@ namespace TJAPlayer3
public CSystemSound sound特訓再生音 = null; public CSystemSound sound特訓再生音 = null;
public CSystemSound sound特訓停止音 = null; public CSystemSound sound特訓停止音 = null;
public CSystemSound sound特訓ジャンプポイント = null; public CSystemSound soundTrainingToggleBookmarkSFX = null;
public CSystemSound sound特訓スキップ音 = null; public CSystemSound sound特訓スキップ音 = null;
public CSystemSound sound特訓スクロール音 = null; public CSystemSound soundTrainingModeScrollSFX = null;
public CSystemSound soundPon = null; public CSystemSound soundPon = null;
public CSystemSound soundGauge = null; public CSystemSound soundGauge = null;
public CSystemSound soundScoreDon = null; public CSystemSound soundScoreDon = null;
@ -516,13 +516,13 @@ namespace TJAPlayer3
return this.sound特訓停止音; return this.sound特訓停止音;
case Eシステムサウンド.sound特訓ジャンプポイント: case Eシステムサウンド.sound特訓ジャンプポイント:
return this.sound特訓ジャンプポイント; return this.soundTrainingToggleBookmarkSFX;
case Eシステムサウンド.sound特訓スキップ音: case Eシステムサウンド.sound特訓スキップ音:
return this.sound特訓スキップ音; return this.sound特訓スキップ音;
case Eシステムサウンド.SOUND特訓スクロール: case Eシステムサウンド.SOUND特訓スクロール:
return this.sound特訓スクロール音; return this.soundTrainingModeScrollSFX;
} }
throw new IndexOutOfRangeException(); throw new IndexOutOfRangeException();
@ -598,10 +598,10 @@ namespace TJAPlayer3
return this.sound特訓停止音; return this.sound特訓停止音;
case 21: case 21:
return this.sound特訓スクロール音; return this.soundTrainingModeScrollSFX;
case 22: case 22:
return this.sound特訓ジャンプポイント; return this.soundTrainingToggleBookmarkSFX;
case 23: case 23:
return this.sound特訓スキップ音; return this.sound特訓スキップ音;
@ -789,8 +789,8 @@ namespace TJAPlayer3
this.sound特訓再生音 = new CSystemSound(@$"Sounds{System.IO.Path.DirectorySeparatorChar}Resume.ogg", false, false, false, ESoundGroup.SoundEffect); this.sound特訓再生音 = new CSystemSound(@$"Sounds{System.IO.Path.DirectorySeparatorChar}Resume.ogg", false, false, false, ESoundGroup.SoundEffect);
this.sound特訓停止音 = new CSystemSound(@$"Sounds{System.IO.Path.DirectorySeparatorChar}Pause.ogg", false, false, false, ESoundGroup.SoundEffect); this.sound特訓停止音 = new CSystemSound(@$"Sounds{System.IO.Path.DirectorySeparatorChar}Pause.ogg", false, false, false, ESoundGroup.SoundEffect);
this.sound特訓スクロール音 = new CSystemSound(@$"Sounds{System.IO.Path.DirectorySeparatorChar}Scroll.ogg", false, false, false, ESoundGroup.SoundEffect); this.soundTrainingModeScrollSFX = new CSystemSound(@$"Sounds{System.IO.Path.DirectorySeparatorChar}Scroll.ogg", false, false, false, ESoundGroup.SoundEffect);
this.sound特訓ジャンプポイント = new CSystemSound(@$"Sounds{System.IO.Path.DirectorySeparatorChar}Jump Point.ogg", false, false, false, ESoundGroup.SoundEffect); this.soundTrainingToggleBookmarkSFX = new CSystemSound(@$"Sounds{System.IO.Path.DirectorySeparatorChar}Jump Point.ogg", false, false, false, ESoundGroup.SoundEffect);
this.sound特訓スキップ音 = new CSystemSound(@$"Sounds{System.IO.Path.DirectorySeparatorChar}Traning Skip.ogg", false, false, false, ESoundGroup.SoundEffect); this.sound特訓スキップ音 = new CSystemSound(@$"Sounds{System.IO.Path.DirectorySeparatorChar}Traning Skip.ogg", false, false, false, ESoundGroup.SoundEffect);
this.soundPon = new CSystemSound(@$"Sounds{System.IO.Path.DirectorySeparatorChar}Pon.ogg", false, false, false, ESoundGroup.SoundEffect); this.soundPon = new CSystemSound(@$"Sounds{System.IO.Path.DirectorySeparatorChar}Pon.ogg", false, false, false, ESoundGroup.SoundEffect);
this.soundGauge = new CSystemSound(@$"Sounds{System.IO.Path.DirectorySeparatorChar}Gauge.ogg", false, false, false, ESoundGroup.SoundEffect); this.soundGauge = new CSystemSound(@$"Sounds{System.IO.Path.DirectorySeparatorChar}Gauge.ogg", false, false, false, ESoundGroup.SoundEffect);

View File

@ -879,7 +879,7 @@ namespace TJAPlayer3
public CAct演奏DrumsMob actMob; public CAct演奏DrumsMob actMob;
public Dan_Cert actDan; public Dan_Cert actDan;
public AIBattle actAIBattle; public AIBattle actAIBattle;
public CAct演奏Drums特訓モード actTokkun; public CAct演奏DrumsTrainingMode actTokkun;
public bool bPAUSE; public bool bPAUSE;
public bool[] bIsAlreadyCleared; public bool[] bIsAlreadyCleared;
public bool[] bIsAlreadyMaxed; public bool[] bIsAlreadyMaxed;

View File

@ -9,17 +9,17 @@ using System.Drawing;
namespace TJAPlayer3 namespace TJAPlayer3
{ {
class CAct演奏Drums特訓モード : CActivity class CAct演奏DrumsTrainingMode : CActivity
{ {
public CAct演奏Drums特訓モード() public CAct演奏DrumsTrainingMode()
{ {
base.IsDeActivated = true; base.IsDeActivated = true;
} }
public override void Activate() public override void Activate()
{ {
this.n現在の小節線 = 0; this.nCurrentMeasure = 0;
this.b特訓PAUSE = false; this.bTrainingPAUSE = false;
this.n最終演奏位置ms = 0; this.n最終演奏位置ms = 0;
base.Activate(); base.Activate();
@ -76,9 +76,9 @@ namespace TJAPlayer3
} }
} }
this.n小節の総数 = measureCount; this.nMeasureCount = measureCount;
if (TJAPlayer3.Tx.Tokkun_Background_Up != null) this.ct背景スクロールタイマー = new CCounter(1, TJAPlayer3.Tx.Tokkun_Background_Up.szTextureSize.Width, 16, TJAPlayer3.Timer); if (TJAPlayer3.Tx.Tokkun_Background_Up != null) this.ctBackgroundScrollTimer = new CCounter(1, TJAPlayer3.Tx.Tokkun_Background_Up.szTextureSize.Width, 16, TJAPlayer3.Timer);
} }
public override void DeActivate() public override void DeActivate()
@ -87,8 +87,8 @@ namespace TJAPlayer3
gogoXList = null; gogoXList = null;
JumpPointList = null; JumpPointList = null;
this.ctスクロールカウンター = null; this.ctScrollCounter = null;
this.ct背景スクロールタイマー = null; this.ctBackgroundScrollTimer = null;
base.DeActivate(); base.DeActivate();
} }
@ -115,28 +115,28 @@ namespace TJAPlayer3
if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Space)|| TJAPlayer3.Pad.bPressed(EInstrumentPad.DRUMS, EPad.RRed2P)) if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Space)|| TJAPlayer3.Pad.bPressed(EInstrumentPad.DRUMS, EPad.RRed2P))
{ {
if (this.b特訓PAUSE) if (this.bTrainingPAUSE)
{ {
TJAPlayer3.Skin.sound特訓再生音.tPlay(); TJAPlayer3.Skin.sound特訓再生音.tPlay();
this.t演奏を再開する(); this.tResumePlay();
} }
else else
{ {
TJAPlayer3.Skin.sound特訓停止音.tPlay(); TJAPlayer3.Skin.sound特訓停止音.tPlay();
this.t演奏を停止する(); this.tPausePlay();
} }
} }
if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.LeftArrow) || TJAPlayer3.Pad.bPressed(EInstrumentPad.DRUMS, EPad.LBlue)) if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.LeftArrow) || TJAPlayer3.Pad.bPressed(EInstrumentPad.DRUMS, EPad.LBlue))
{ {
if (this.b特訓PAUSE) if (this.bTrainingPAUSE)
{ {
if (this.n現在の小節線 > 1) if (this.nCurrentMeasure > 1)
{ {
this.n現在の小節線--; this.nCurrentMeasure--;
TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.n現在の小節線; TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.nCurrentMeasure;
this.t譜面の表示位置を合わせる(true); this.tMatchWithTheChartDisplayPosition(true);
TJAPlayer3.Skin.sound特訓スクロール音.tPlay(); TJAPlayer3.Skin.soundTrainingModeScrollSFX.tPlay();
} }
if (t配列の値interval以下か(ref this.LBlue, SoundManager.PlayTimer.SystemTimeMs, TJAPlayer3.ConfigIni.TokkunMashInterval)) if (t配列の値interval以下か(ref this.LBlue, SoundManager.PlayTimer.SystemTimeMs, TJAPlayer3.ConfigIni.TokkunMashInterval))
{ {
@ -144,10 +144,10 @@ namespace TJAPlayer3
{ {
if (this.JumpPointList[index].Time <= SoundManager.PlayTimer.NowTimeMs * TJAPlayer3.ConfigIni.SongPlaybackSpeed) if (this.JumpPointList[index].Time <= SoundManager.PlayTimer.NowTimeMs * TJAPlayer3.ConfigIni.SongPlaybackSpeed)
{ {
this.n現在の小節線 = this.JumpPointList[index].Measure; this.nCurrentMeasure = this.JumpPointList[index].Measure;
TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.n現在の小節線; TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.nCurrentMeasure;
TJAPlayer3.Skin.sound特訓スキップ音.tPlay(); TJAPlayer3.Skin.sound特訓スキップ音.tPlay();
this.t譜面の表示位置を合わせる(false); this.tMatchWithTheChartDisplayPosition(false);
break; break;
} }
} }
@ -156,29 +156,29 @@ namespace TJAPlayer3
} }
if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.PageDown)) if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.PageDown))
{ {
if (this.b特訓PAUSE) if (this.bTrainingPAUSE)
{ {
this.n現在の小節線 -= TJAPlayer3.ConfigIni.TokkunSkipMeasures; this.nCurrentMeasure -= TJAPlayer3.ConfigIni.TokkunSkipMeasures;
if (this.n現在の小節線 <= 0) if (this.nCurrentMeasure <= 0)
this.n現在の小節線 = 1; this.nCurrentMeasure = 1;
TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.n現在の小節線; TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.nCurrentMeasure;
this.t譜面の表示位置を合わせる(true); this.tMatchWithTheChartDisplayPosition(true);
TJAPlayer3.Skin.sound特訓スクロール音.tPlay(); TJAPlayer3.Skin.soundTrainingModeScrollSFX.tPlay();
} }
} }
if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.RightArrow) || TJAPlayer3.Pad.bPressed(EInstrumentPad.DRUMS, EPad.RBlue)) if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.RightArrow) || TJAPlayer3.Pad.bPressed(EInstrumentPad.DRUMS, EPad.RBlue))
{ {
if (this.b特訓PAUSE) if (this.bTrainingPAUSE)
{ {
if (this.n現在の小節線 < this.n小節の総数) if (this.nCurrentMeasure < this.nMeasureCount)
{ {
this.n現在の小節線++; this.nCurrentMeasure++;
TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.n現在の小節線; TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.nCurrentMeasure;
this.t譜面の表示位置を合わせる(true); this.tMatchWithTheChartDisplayPosition(true);
TJAPlayer3.Skin.sound特訓スクロール音.tPlay(); TJAPlayer3.Skin.soundTrainingModeScrollSFX.tPlay();
} }
if (t配列の値interval以下か(ref this.RBlue, SoundManager.PlayTimer.SystemTimeMs, TJAPlayer3.ConfigIni.TokkunMashInterval)) if (t配列の値interval以下か(ref this.RBlue, SoundManager.PlayTimer.SystemTimeMs, TJAPlayer3.ConfigIni.TokkunMashInterval))
{ {
@ -186,10 +186,10 @@ namespace TJAPlayer3
{ {
if (this.JumpPointList[index].Time >= SoundManager.PlayTimer.NowTimeMs * TJAPlayer3.ConfigIni.SongPlaybackSpeed) if (this.JumpPointList[index].Time >= SoundManager.PlayTimer.NowTimeMs * TJAPlayer3.ConfigIni.SongPlaybackSpeed)
{ {
this.n現在の小節線 = this.JumpPointList[index].Measure; this.nCurrentMeasure = this.JumpPointList[index].Measure;
TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.n現在の小節線; TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.nCurrentMeasure;
TJAPlayer3.Skin.soundSkip.tPlay(); TJAPlayer3.Skin.soundSkip.tPlay();
this.t譜面の表示位置を合わせる(false); this.tMatchWithTheChartDisplayPosition(false);
break; break;
} }
} }
@ -199,88 +199,88 @@ namespace TJAPlayer3
} }
if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.PageUp)) if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.PageUp))
{ {
if (this.b特訓PAUSE) if (this.bTrainingPAUSE)
{ {
this.n現在の小節線 += TJAPlayer3.ConfigIni.TokkunSkipMeasures; this.nCurrentMeasure += TJAPlayer3.ConfigIni.TokkunSkipMeasures;
if (this.n現在の小節線 > this.n小節の総数) if (this.nCurrentMeasure > this.nMeasureCount)
this.n現在の小節線 = this.n小節の総数; this.nCurrentMeasure = this.nMeasureCount;
TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.n現在の小節線; TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.nCurrentMeasure;
this.t譜面の表示位置を合わせる(true); this.tMatchWithTheChartDisplayPosition(true);
TJAPlayer3.Skin.sound特訓スクロール音.tPlay(); TJAPlayer3.Skin.soundTrainingModeScrollSFX.tPlay();
} }
} }
if (TJAPlayer3.Pad.bPressed(EInstrumentPad.DRUMS, EPad.LBlue2P)) if (TJAPlayer3.Pad.bPressed(EInstrumentPad.DRUMS, EPad.LBlue2P))
{ {
if (this.b特訓PAUSE) if (this.bTrainingPAUSE)
{ {
if (TJAPlayer3.ConfigIni.n演奏速度 > 6) if (TJAPlayer3.ConfigIni.n演奏速度 > 6)
{ {
TJAPlayer3.ConfigIni.n演奏速度 = TJAPlayer3.ConfigIni.n演奏速度 - 2; TJAPlayer3.ConfigIni.n演奏速度 = TJAPlayer3.ConfigIni.n演奏速度 - 2;
this.t譜面の表示位置を合わせる(false); this.tMatchWithTheChartDisplayPosition(false);
} }
} }
} }
if (TJAPlayer3.Pad.bPressed(EInstrumentPad.DRUMS, EPad.RBlue2P)) if (TJAPlayer3.Pad.bPressed(EInstrumentPad.DRUMS, EPad.RBlue2P))
{ {
if (this.b特訓PAUSE) if (this.bTrainingPAUSE)
{ {
if (TJAPlayer3.ConfigIni.n演奏速度 < 399) if (TJAPlayer3.ConfigIni.n演奏速度 < 399)
{ {
TJAPlayer3.ConfigIni.n演奏速度 = TJAPlayer3.ConfigIni.n演奏速度 + 2; TJAPlayer3.ConfigIni.n演奏速度 = TJAPlayer3.ConfigIni.n演奏速度 + 2;
this.t譜面の表示位置を合わせる(false); this.tMatchWithTheChartDisplayPosition(false);
} }
} }
} }
if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Home)) if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Home))
{ {
if (this.b特訓PAUSE) if (this.bTrainingPAUSE)
{ {
if (this.n現在の小節線 > 1) if (this.nCurrentMeasure > 1)
{ {
this.n現在の小節線 = 1; this.nCurrentMeasure = 1;
TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.n現在の小節線; TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.nCurrentMeasure;
this.t譜面の表示位置を合わせる(true); this.tMatchWithTheChartDisplayPosition(true);
TJAPlayer3.Skin.sound特訓スクロール音.tPlay(); TJAPlayer3.Skin.soundTrainingModeScrollSFX.tPlay();
} }
} }
} }
if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.End)) if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.End))
{ {
if (this.b特訓PAUSE) if (this.bTrainingPAUSE)
{ {
if (this.n現在の小節線 < this.n小節の総数) if (this.nCurrentMeasure < this.nMeasureCount)
{ {
this.n現在の小節線 = this.n小節の総数; this.nCurrentMeasure = this.nMeasureCount;
TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.n現在の小節線; TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.nCurrentMeasure;
this.t譜面の表示位置を合わせる(true); this.tMatchWithTheChartDisplayPosition(true);
TJAPlayer3.Skin.sound特訓スクロール音.tPlay(); TJAPlayer3.Skin.soundTrainingModeScrollSFX.tPlay();
} }
} }
} }
if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.A)) if (TJAPlayer3.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.A))
this.t現在の位置にジャンプポイントを設定する(); this.tToggleBookmarkAtTheCurrentPosition();
if (this.bスクロール中) if (this.bCurrentlyScrolling)
{ {
SoundManager.PlayTimer.NowTimeMs = easing.EaseOut(this.ctスクロールカウンター, (int)this.nスクロール前ms, (int)this.nスクロール後ms, Easing.CalcType.Circular); SoundManager.PlayTimer.NowTimeMs = easing.EaseOut(this.ctScrollCounter, (int)this.nスクロール前ms, (int)this.nスクロール後ms, Easing.CalcType.Circular);
this.ctスクロールカウンター.Tick(); this.ctScrollCounter.Tick();
if ((int)SoundManager.PlayTimer.NowTimeMs == (int)this.nスクロール後ms) if ((int)SoundManager.PlayTimer.NowTimeMs == (int)this.nスクロール後ms)
{ {
this.bスクロール中 = false; this.bCurrentlyScrolling = false;
SoundManager.PlayTimer.NowTimeMs = this.nスクロール後ms; SoundManager.PlayTimer.NowTimeMs = this.nスクロール後ms;
} }
} }
if (!this.b特訓PAUSE) if (!this.bTrainingPAUSE)
{ {
if (this.n現在の小節線 < TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0]) if (this.nCurrentMeasure < TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0])
{ {
this.n現在の小節線 = TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0]; this.nCurrentMeasure = TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0];
} }
if (SoundManager.PlayTimer.NowTimeMs * TJAPlayer3.ConfigIni.SongPlaybackSpeed > this.n最終演奏位置ms) if (SoundManager.PlayTimer.NowTimeMs * TJAPlayer3.ConfigIni.SongPlaybackSpeed > this.n最終演奏位置ms)
@ -324,17 +324,17 @@ namespace TJAPlayer3
public int On進行描画_背景() public int On進行描画_背景()
{ {
if (this.ct背景スクロールタイマー != null) if (this.ctBackgroundScrollTimer != null)
{ {
this.ct背景スクロールタイマー.TickLoop(); this.ctBackgroundScrollTimer.TickLoop();
double TexSize = TJAPlayer3.Skin.Resolution[0] / TJAPlayer3.Tx.Tokkun_Background_Up.szTextureSize.Width; double TexSize = TJAPlayer3.Skin.Resolution[0] / TJAPlayer3.Tx.Tokkun_Background_Up.szTextureSize.Width;
// 1280をテクスチャサイズで割ったものを切り上げて、プラス+1足す。 // 1280をテクスチャサイズで割ったものを切り上げて、プラス+1足す。
int ForLoop = (int)Math.Ceiling(TexSize) + 1; int ForLoop = (int)Math.Ceiling(TexSize) + 1;
TJAPlayer3.Tx.Tokkun_Background_Up.t2D描画(0 - this.ct背景スクロールタイマー.CurrentValue, TJAPlayer3.Skin.Background_Scroll_Y[0]); TJAPlayer3.Tx.Tokkun_Background_Up.t2D描画(0 - this.ctBackgroundScrollTimer.CurrentValue, TJAPlayer3.Skin.Background_Scroll_Y[0]);
for (int l = 1; l < ForLoop + 1; l++) for (int l = 1; l < ForLoop + 1; l++)
{ {
TJAPlayer3.Tx.Tokkun_Background_Up.t2D描画(+(l * TJAPlayer3.Tx.Tokkun_Background_Up.szTextureSize.Width) - this.ct背景スクロールタイマー.CurrentValue, TJAPlayer3.Skin.Background_Scroll_Y[0]); TJAPlayer3.Tx.Tokkun_Background_Up.t2D描画(+(l * TJAPlayer3.Tx.Tokkun_Background_Up.szTextureSize.Width) - this.ctBackgroundScrollTimer.CurrentValue, TJAPlayer3.Skin.Background_Scroll_Y[0]);
} }
} }
@ -348,7 +348,7 @@ namespace TJAPlayer3
{ {
if (TJAPlayer3.Tx.Tokkun_Speed_Measure != null) if (TJAPlayer3.Tx.Tokkun_Speed_Measure != null)
TJAPlayer3.Tx.Tokkun_Speed_Measure.t2D描画(TJAPlayer3.Skin.Game_Training_Speed_Measure[0], TJAPlayer3.Skin.Game_Training_Speed_Measure[1]); TJAPlayer3.Tx.Tokkun_Speed_Measure.t2D描画(TJAPlayer3.Skin.Game_Training_Speed_Measure[0], TJAPlayer3.Skin.Game_Training_Speed_Measure[1]);
var maxMeasureStr = this.n小節の総数.ToString(); var maxMeasureStr = this.nMeasureCount.ToString();
var measureStr = TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0].ToString(); var measureStr = TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0].ToString();
if (TJAPlayer3.Tx.Tokkun_SmallNumber != null) if (TJAPlayer3.Tx.Tokkun_SmallNumber != null)
{ {
@ -396,7 +396,7 @@ namespace TJAPlayer3
} }
} }
public void t演奏を停止する() public void tPausePlay()
{ {
CDTX dTX = TJAPlayer3.DTX; CDTX dTX = TJAPlayer3.DTX;
@ -418,23 +418,23 @@ namespace TJAPlayer3
TJAPlayer3.DTX.t全チップの再生一時停止(); TJAPlayer3.DTX.t全チップの再生一時停止();
TJAPlayer3.stage演奏ドラム画面.bPAUSE = true; TJAPlayer3.stage演奏ドラム画面.bPAUSE = true;
TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.n現在の小節線; TJAPlayer3.stage演奏ドラム画面.actPlayInfo.NowMeasure[0] = this.nCurrentMeasure;
this.b特訓PAUSE = true; this.bTrainingPAUSE = true;
this.t譜面の表示位置を合わせる(false); this.tMatchWithTheChartDisplayPosition(false);
} }
public void t演奏を再開する() public void tResumePlay()
{ {
CDTX dTX = TJAPlayer3.DTX; CDTX dTX = TJAPlayer3.DTX;
this.bスクロール中 = false; this.bCurrentlyScrolling = false;
SoundManager.PlayTimer.NowTimeMs = this.nスクロール後ms; SoundManager.PlayTimer.NowTimeMs = this.nスクロール後ms;
int n演奏開始Chip = TJAPlayer3.stage演奏ドラム画面.n現在のトップChip; int n演奏開始Chip = TJAPlayer3.stage演奏ドラム画面.n現在のトップChip;
int finalStartBar; int finalStartBar;
finalStartBar = this.n現在の小節線 - 2; finalStartBar = this.nCurrentMeasure - 2;
if (finalStartBar < 0) finalStartBar = 0; if (finalStartBar < 0) finalStartBar = 0;
TJAPlayer3.stage演奏ドラム画面.t演奏位置の変更(finalStartBar, 0); TJAPlayer3.stage演奏ドラム画面.t演奏位置の変更(finalStartBar, 0);
@ -477,10 +477,10 @@ namespace TJAPlayer3
TJAPlayer3.stage演奏ドラム画面.chip現在処理中の連打チップ[i] = null; TJAPlayer3.stage演奏ドラム画面.chip現在処理中の連打チップ[i] = null;
} }
this.b特訓PAUSE = false; this.bTrainingPAUSE = false;
} }
public void t譜面の表示位置を合わせる(bool doScroll) public void tMatchWithTheChartDisplayPosition(bool doScroll)
{ {
this.nスクロール前ms = SoundManager.PlayTimer.NowTimeMs; this.nスクロール前ms = SoundManager.PlayTimer.NowTimeMs;
@ -491,7 +491,7 @@ namespace TJAPlayer3
{ {
CDTX.CChip pChip = dTX.listChip[i]; CDTX.CChip pChip = dTX.listChip[i];
if (pChip.nチャンネル番号 == 0x50 && pChip.n整数値_内部番号 > n現在の小節線 - 1) if (pChip.nチャンネル番号 == 0x50 && pChip.n整数値_内部番号 > nCurrentMeasure - 1)
{ {
bSuccessSeek = true; bSuccessSeek = true;
TJAPlayer3.stage演奏ドラム画面.n現在のトップChip = i; TJAPlayer3.stage演奏ドラム画面.n現在のトップChip = i;
@ -511,9 +511,9 @@ namespace TJAPlayer3
if (doScroll) if (doScroll)
{ {
this.nスクロール後ms = (long)(dTX.listChip[TJAPlayer3.stage演奏ドラム画面.n現在のトップChip].n発声時刻ms / TJAPlayer3.ConfigIni.SongPlaybackSpeed); this.nスクロール後ms = (long)(dTX.listChip[TJAPlayer3.stage演奏ドラム画面.n現在のトップChip].n発声時刻ms / TJAPlayer3.ConfigIni.SongPlaybackSpeed);
this.bスクロール中 = true; this.bCurrentlyScrolling = true;
this.ctスクロールカウンター = new CCounter(0, TJAPlayer3.Skin.Game_Training_ScrollTime, 1, TJAPlayer3.Timer); this.ctScrollCounter = new CCounter(0, TJAPlayer3.Skin.Game_Training_ScrollTime, 1, TJAPlayer3.Timer);
} }
else else
{ {
@ -522,13 +522,17 @@ namespace TJAPlayer3
} }
} }
public void t現在の位置にジャンプポイントを設定する() public void tToggleBookmarkAtTheCurrentPosition()
{ {
if (!this.bスクロール中 && this.b特訓PAUSE) if (!this.bCurrentlyScrolling && this.bTrainingPAUSE)
{ {
if (!JumpPointList.Contains(new STJUMPP() { Time = (long)(SoundManager.PlayTimer.NowTimeMs * TJAPlayer3.ConfigIni.SongPlaybackSpeed), Measure = this.n現在の小節線 })) STJUMPP _JumpPoint = new STJUMPP() { Time = (long)(SoundManager.PlayTimer.NowTimeMs * TJAPlayer3.ConfigIni.SongPlaybackSpeed), Measure = this.nCurrentMeasure };
JumpPointList.Add(new STJUMPP() { Time = (long)(SoundManager.PlayTimer.NowTimeMs * TJAPlayer3.ConfigIni.SongPlaybackSpeed), Measure = this.n現在の小節線 });
TJAPlayer3.Skin.sound特訓ジャンプポイント.tPlay(); if (!JumpPointList.Contains(_JumpPoint))
JumpPointList.Add(_JumpPoint);
else
JumpPointList.Remove(_JumpPoint);
TJAPlayer3.Skin.soundTrainingToggleBookmarkSFX.tPlay();
JumpPointList.Sort((a, b) => a.Time.CompareTo(b.Time)); JumpPointList.Sort((a, b) => a.Time.CompareTo(b.Time));
} }
} }
@ -544,19 +548,19 @@ namespace TJAPlayer3
return Math.Abs(num - arraytmp[0]) <= interval; return Math.Abs(num - arraytmp[0]) <= interval;
} }
public int n現在の小節線; public int nCurrentMeasure;
public int n小節の総数; public int nMeasureCount;
#region [private] #region [private]
private long nスクロール前ms; private long nスクロール前ms;
private long nスクロール後ms; private long nスクロール後ms;
private long n最終演奏位置ms; private long n最終演奏位置ms;
private bool b特訓PAUSE; private bool bTrainingPAUSE;
private bool bスクロール中; private bool bCurrentlyScrolling;
private CCounter ctスクロールカウンター; private CCounter ctScrollCounter;
private CCounter ct背景スクロールタイマー; private CCounter ctBackgroundScrollTimer;
private Easing easing = new Easing(); private Easing easing = new Easing();
private long length = 1; private long length = 1;

View File

@ -70,7 +70,7 @@ namespace TJAPlayer3
base.ChildActivities.Add(this.ScoreRank = new CAct演奏Drumsスコアランク()); base.ChildActivities.Add(this.ScoreRank = new CAct演奏Drumsスコアランク());
base.ChildActivities.Add(this.actDan = new Dan_Cert()); base.ChildActivities.Add(this.actDan = new Dan_Cert());
base.ChildActivities.Add(this.actTokkun = new CAct演奏Drums特訓モード()); base.ChildActivities.Add(this.actTokkun = new CAct演奏DrumsTrainingMode());
base.ChildActivities.Add(this.actAIBattle = new AIBattle()); base.ChildActivities.Add(this.actAIBattle = new AIBattle());
#region[ ] #region[ ]
ST文字位置[] st文字位置Array = new ST文字位置[ 12 ]; ST文字位置[] st文字位置Array = new ST文字位置[ 12 ];
@ -628,9 +628,9 @@ namespace TJAPlayer3
{ {
bIsFinishedPlaying = false; bIsFinishedPlaying = false;
TJAPlayer3.Skin.sound特訓停止音.tPlay(); TJAPlayer3.Skin.sound特訓停止音.tPlay();
actTokkun.t演奏を停止する(); actTokkun.tPausePlay();
actTokkun.t譜面の表示位置を合わせる(true); actTokkun.tMatchWithTheChartDisplayPosition(true);
} }
else else
{ {
@ -715,7 +715,7 @@ namespace TJAPlayer3
public CAct演奏Drumsレーン太鼓 actLaneTaiko; public CAct演奏Drumsレーン太鼓 actLaneTaiko;
public CAct演奏Drums演奏終了演出 actEnd; public CAct演奏Drums演奏終了演出 actEnd;
private CAct演奏Drumsゲームモード actGame; private CAct演奏Drumsゲームモード actGame;
public CAct演奏Drums特訓モード actTokkun; public CAct演奏DrumsTrainingMode actTokkun;
public CAct演奏Drums背景 actBackground; public CAct演奏Drums背景 actBackground;
public GoGoSplash GoGoSplash; public GoGoSplash GoGoSplash;
public FlyingNotes FlyingNotes; public FlyingNotes FlyingNotes;