1
0
mirror of synced 2024-11-14 19:07:36 +01:00

Dan song select intro animation

This commit is contained in:
0aubsq 2021-11-03 01:05:21 +01:00
parent 69cb63b6dd
commit 92e18e0425
4 changed files with 105 additions and 7 deletions

View File

@ -357,6 +357,9 @@ namespace TJAPlayer3
public Cシステムサウンド soundChallengeVoice = null;
public Cシステムサウンド soundDanSelectStart = null;
public Cシステムサウンド soundDanSongSelectCheck = null;
public Cシステムサウンド soundDanSongSelectIn = null;
public Cシステムサウンド soundDanSelectBGM = null;
public Cシステムサウンド soundDanSongSelect = null;
@ -731,6 +734,9 @@ namespace TJAPlayer3
this.soundChallengeVoice = new Cシステムサウンド(@"Sounds\Dan\ChallengeVoice.wav", false, false, false, ESoundGroup.SoundEffect);
this.soundDanSelectStart = new Cシステムサウンド(@"Sounds\Dan\DanSelectStart.wav", false, false, false, ESoundGroup.SoundEffect);
this.soundDanSongSelectCheck = new Cシステムサウンド(@"Sounds\Dan\DanSongSelectCheck.wav", false, false, false, ESoundGroup.SoundEffect);
this.soundDanSongSelectIn = new Cシステムサウンド(@"Sounds\Dan\Dan_In.ogg", false, false, false, ESoundGroup.SoundEffect);
this.soundDanSelectBGM = new Cシステムサウンド(@"Sounds\Dan\DanSelectBGM.wav", true, false, false, ESoundGroup.SongPlayback);
this.soundDanSongSelect = new Cシステムサウンド(@"Sounds\Dan\DanSongSelect.wav", false, false, false, ESoundGroup.SoundEffect);
ReloadSkin();

View File

@ -267,8 +267,12 @@ namespace TJAPlayer3
for (int i = 0; i < Challenge_Select.Length; i++)
Challenge_Select[i] = TxC(DANISELECT + "Challenge_Select_" + i.ToString() + ".png");
Dani_Dan_In = TxC(DANISELECT + "Dan_In.png");
Dani_Dan_Text = TxC(DANISELECT + "Dan_Text.png");
#endregion
#region 4_
SongLoading_Plate = TxC(SONGLOADING + @"Plate.png");
SongLoading_Bg = TxC(SONGLOADING + @"Bg.png");
@ -669,6 +673,15 @@ namespace TJAPlayer3
End_DondaFullComboLoop = new CTexture[3];
for (int i = 0; i < 3; i++)
End_DondaFullComboLoop[i] = TxC(GAME + END + @"DondaFullCombo\" + "loop_" + i.ToString() + ".png");
End_Goukaku = new CTexture[3];
for (int i = 0; i < End_Goukaku.Length; i++)
{
End_Goukaku[i] = TxC(GAME + END + @"Dan" + i.ToString() + ".png");
}
#endregion
#region
GameMode_Timer_Tick = TxC(GAME + GAMEMODE + @"Timer_Tick.png");
@ -1006,6 +1019,9 @@ namespace TJAPlayer3
public CTexture[] Challenge_Select = new CTexture[3];
public CTexture Dani_Dan_In;
public CTexture Dani_Dan_Text;
#endregion
#region 4_
@ -1137,13 +1153,15 @@ namespace TJAPlayer3
End_FullCombo,
End_FullComboLoop,
End_DondaFullCombo,
End_DondaFullComboLoop;
End_DondaFullComboLoop,
End_Goukaku;
public CTexture End_Clear_Text_,
End_Clear_Text_Effect,
ClearFailed,
ClearFailed1,
ClearFailed2,
End_DondaFullComboBg;
#endregion
#region
public CTexture GameMode_Timer_Frame,

View File

@ -44,7 +44,7 @@ namespace TJAPlayer3
ctDaniMoveAnime = new CCounter();
ctDanAnimeIn = new CCounter();
ctDaniIn = new CCounter(0, 3000, 1, TJAPlayer3.Timer);
ctDaniIn = new CCounter(0, 6000, 1, TJAPlayer3.Timer);
ctDanTick = new CCounter(0, 510, 3, TJAPlayer3.Timer);
@ -88,7 +88,7 @@ namespace TJAPlayer3
ctExamConditionsAnim.t進行Loop();
if (ctDaniIn.n現在の値 == 3000)
if (ctDaniIn.n現在の値 == 6000)
{
if(!DaniInAnime)
{
@ -99,7 +99,7 @@ namespace TJAPlayer3
#region [ ]
if (stバー情報.Length != 0)
if (stバー情報.Length != 0 && ctDaniIn.n現在の値 == 6000)
{
TJAPlayer3.Tx.DanC_ExamType.vc拡大縮小倍率.X = 0.81f;
TJAPlayer3.Tx.DanC_ExamType.vc拡大縮小倍率.Y = 0.81f;
@ -134,6 +134,10 @@ namespace TJAPlayer3
#endregion
// To do : Display the 27 (max) bars one by one
if (ctDaniIn.n現在の値 < 5000)
return 0;
#region [Upper plates]
// stバー情報[n現在の選択行]
@ -143,6 +147,10 @@ namespace TJAPlayer3
for (int idx = -13; idx < 14; idx++)
{
if (ctDaniIn.n現在の値 < 5000 + (idx + 13) * 33)
break;
int currentSong = n現在の選択行 + idx;
if (currentSong < 0)

View File

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
using FDK;
using SlimDX.DirectInput;
@ -16,6 +17,7 @@ namespace TJAPlayer3
base.eフェーズID = CStage.Eフェーズ._通常状態;
base.list子Activities.Add(this. = new CActSelect段位リスト());
base.list子Activities.Add(this.actFOtoNowLoading = new CActFIFOStart());
base.list子Activities.Add(this. = new CActSelect段位挑戦選択画面());
base.list子Activities.Add(this.actFOtoTitle = new CActFIFOBlack());
@ -37,6 +39,8 @@ namespace TJAPlayer3
ctDonchan_In = new CCounter();
ctDonchan_Normal = new CCounter(0, TJAPlayer3.Tx.SongSelect_Donchan_Normal.Length - 1, 1000 / 45, TJAPlayer3.Timer);
bInSongPlayed = false;
this.PuchiChara.IdleAnimation();
base.On活性化();
@ -63,11 +67,71 @@ namespace TJAPlayer3
ctDonchan_In.t進行();
ct待機.t進行();
TJAPlayer3.Tx.Dani_Background.t2D描画(TJAPlayer3.app.Device, 0, 0);
int stamp = this..ctDaniIn.n現在の値;
float zoom = Math.Max(1f, 5000 / (float)stamp);
TJAPlayer3.Tx.Dani_Background.vc拡大縮小倍率.X = zoom;
TJAPlayer3.Tx.Dani_Background.vc拡大縮小倍率.Y = zoom;
TJAPlayer3.Tx.Dani_Background.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 640, 360);
this..On進行描画();
if(this..ctDaniIn.n現在の値 == 3000)
if (stamp < 6000)
{
#region [Dan intro anim]
if (!bInSongPlayed)
{
this..ctDaniIn = new CCounter(0, 6000, 1, TJAPlayer3.Timer);
TJAPlayer3.Skin.soundDanSongSelectIn.t再生する();
bInSongPlayed = true;
}
int doorLeft = 0;
int doorRight = 640;
if (stamp >= 3834)
{
doorLeft -= stamp - 3834;
doorRight += stamp - 3834;
}
TJAPlayer3.Tx.Dani_Dan_In.t2D描画(TJAPlayer3.app.Device, doorLeft, 0, new Rectangle(0, 0, 640, 720));
TJAPlayer3.Tx.Dani_Dan_In.t2D描画(TJAPlayer3.app.Device, doorRight, 0, new Rectangle(640, 0, 640, 720));
if (stamp <= 3934)
{
#region [Dan intro letters]
int quarter = TJAPlayer3.Tx.Dani_Dan_Text.szテクスチャサイズ.Width / 4;
int[] xAxis = { 250, 1030 };
int[] yAxis = { 148, 572 };
int[] appearStamps = { 1645, 2188, 2646, 3152 };
for (int i = 0; i < 4; i++)
{
if (stamp < appearStamps[i])
break;
TJAPlayer3.Tx.Dani_Dan_Text.Opacity = Math.Min(255, stamp - appearStamps[i]);
float ratio = (255 - TJAPlayer3.Tx.Dani_Dan_Text.Opacity) / 400f + 1f;
TJAPlayer3.Tx.Dani_Dan_Text.vc拡大縮小倍率.X = ratio;
TJAPlayer3.Tx.Dani_Dan_Text.vc拡大縮小倍率.Y = ratio;
TJAPlayer3.Tx.Dani_Dan_Text.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, xAxis[i % 2], yAxis[i / 2],
new Rectangle(quarter * i, 0, quarter, TJAPlayer3.Tx.Dani_Dan_Text.szテクスチャサイズ.Height));
}
#endregion
}
#endregion
}
else if (stamp == 6000)
{
if (!ctDonchan_In.b開始した)
{
@ -198,6 +262,8 @@ namespace TJAPlayer3
public bool b選択した;
public bool bDifficultyIn;
public bool bInSongPlayed;
private CCounter ctDonchan_In;
private CCounter ctDonchan_Normal;