色々改善4 (#443)
* 終了演出を拡張 * 修正 * キャラのAnimationDurationに対応 * タイトル画面のキャラクターのカウンターが更新されない問題の修正
@ -156,6 +156,36 @@ namespace TJAPlayer3
|
||||
return null;
|
||||
}
|
||||
|
||||
public static int _getReferenceAnimationDuration(int player, ECharacterAnimation eca)
|
||||
{
|
||||
int _charaId = TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(player)].data.Character;
|
||||
|
||||
switch (eca)
|
||||
{
|
||||
case (ECharacterAnimation.NORMAL):
|
||||
{
|
||||
return TJAPlayer3.Skin.Characters_Menu_Loop_AnimationDuration[_charaId];
|
||||
}
|
||||
case (ECharacterAnimation.START):
|
||||
{
|
||||
return TJAPlayer3.Skin.Characters_Menu_Start_AnimationDuration[_charaId];
|
||||
}
|
||||
case (ECharacterAnimation.SELECT):
|
||||
{
|
||||
return TJAPlayer3.Skin.Characters_Menu_Select_AnimationDuration[_charaId];
|
||||
}
|
||||
case (ECharacterAnimation.ENTRY):
|
||||
{
|
||||
return TJAPlayer3.Skin.Characters_Title_Entry_AnimationDuration[_charaId];
|
||||
}
|
||||
case (ECharacterAnimation.ENTRY_NORMAL):
|
||||
{
|
||||
return TJAPlayer3.Skin.Characters_Title_Normal_AnimationDuration[_charaId];
|
||||
}
|
||||
}
|
||||
return 1000;
|
||||
}
|
||||
|
||||
public static void tDisableCounter(ECharacterAnimation eca)
|
||||
{
|
||||
switch (eca)
|
||||
@ -199,10 +229,11 @@ namespace TJAPlayer3
|
||||
{
|
||||
CTexture[] _ref = _getReferenceArray(player, eca);
|
||||
CCounter[] _ctref = _getReferenceCounter(eca);
|
||||
int _animeref = _getReferenceAnimationDuration(player, eca);
|
||||
|
||||
if (_ref != null && _ref.Length > 0 && _ctref != null)
|
||||
{
|
||||
_ctref[player] = new CCounter(0, _ref.Length - 1, 1000 / (float)_ref.Length, TJAPlayer3.Timer);
|
||||
_ctref[player] = new CCounter(0, _ref.Length - 1, _animeref / (float)_ref.Length, TJAPlayer3.Timer);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -151,6 +151,32 @@ namespace TJAPlayer3
|
||||
return null;
|
||||
}
|
||||
|
||||
public static int _getReferenceAnimationDuration(int player, ECharacterResult eca)
|
||||
{
|
||||
int _charaId = TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(player)].data.Character;
|
||||
|
||||
switch (eca)
|
||||
{
|
||||
case (ECharacterResult.NORMAL):
|
||||
{
|
||||
return TJAPlayer3.Skin.Characters_Result_Normal_AnimationDuration[_charaId];
|
||||
}
|
||||
case (ECharacterResult.CLEAR):
|
||||
{
|
||||
return TJAPlayer3.Skin.Characters_Result_Clear_AnimationDuration[_charaId];
|
||||
}
|
||||
case (ECharacterResult.FAILED):
|
||||
{
|
||||
return TJAPlayer3.Skin.Characters_Result_Failed_AnimationDuration[_charaId];
|
||||
}
|
||||
case (ECharacterResult.FAILED_IN):
|
||||
{
|
||||
return TJAPlayer3.Skin.Characters_Result_Failed_In_AnimationDuration[_charaId];
|
||||
}
|
||||
}
|
||||
return 1000;
|
||||
}
|
||||
|
||||
public static void tDisableCounter(ECharacterResult eca)
|
||||
{
|
||||
switch (eca)
|
||||
@ -188,10 +214,11 @@ namespace TJAPlayer3
|
||||
{
|
||||
CTexture[] _ref = _getReferenceArray(player, eca);
|
||||
CCounter[] _ctref = _getReferenceCounter(eca);
|
||||
int _animeref = _getReferenceAnimationDuration(player, eca);
|
||||
|
||||
if (_ref != null && _ref.Length > 0 && _ctref != null)
|
||||
{
|
||||
_ctref[player] = new CCounter(0, _ref.Length - 1, 1000 / (float)_ref.Length, TJAPlayer3.Timer);
|
||||
_ctref[player] = new CCounter(0, _ref.Length - 1, _animeref / (float)_ref.Length, TJAPlayer3.Timer);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7821,17 +7821,6 @@ namespace TJAPlayer3
|
||||
|
||||
// Config
|
||||
|
||||
public int[][] Characters_Title_Entry_X;
|
||||
public int[][] Characters_Title_Entry_Y;
|
||||
public int[][] Characters_Title_Normal_X;
|
||||
public int[][] Characters_Title_Normal_Y;
|
||||
|
||||
public int[][] Characters_Menu_X;
|
||||
public int[][] Characters_Menu_Y;
|
||||
|
||||
public int[][] Characters_Result_X;
|
||||
public int[][] Characters_Result_Y;
|
||||
|
||||
public int[][] Characters_Resolution;
|
||||
public int[][] Characters_X;
|
||||
public int[][] Characters_Y;
|
||||
@ -7857,6 +7846,16 @@ namespace TJAPlayer3
|
||||
public int[] Characters_Balloon_Delay;
|
||||
public int[] Characters_Balloon_FadeOut;
|
||||
|
||||
public int[] Characters_Title_Entry_AnimationDuration;
|
||||
public int[] Characters_Title_Normal_AnimationDuration;
|
||||
public int[] Characters_Menu_Loop_AnimationDuration;
|
||||
public int[] Characters_Menu_Select_AnimationDuration;
|
||||
public int[] Characters_Menu_Start_AnimationDuration;
|
||||
public int[] Characters_Result_Normal_AnimationDuration;
|
||||
public int[] Characters_Result_Clear_AnimationDuration;
|
||||
public int[] Characters_Result_Failed_In_AnimationDuration;
|
||||
public int[] Characters_Result_Failed_AnimationDuration;
|
||||
|
||||
#endregion
|
||||
|
||||
#region [Adjustments]
|
||||
|
@ -1110,20 +1110,12 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Menu_Select_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
|
||||
TJAPlayer3.Skin.Characters_Resolution = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Title_Entry_X = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Title_Entry_Y = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Title_Normal_X = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Title_Normal_Y = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Menu_X = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Menu_Y = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_X = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Y = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_4P = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_5P = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_X_AI = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Y_AI = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Result_X = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Result_Y = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Balloon_X = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Balloon_Y = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Balloon_4P = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
@ -1141,6 +1133,15 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Balloon_Timer = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Balloon_Delay = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Balloon_FadeOut = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Title_Entry_AnimationDuration = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Title_Normal_AnimationDuration = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Menu_Loop_AnimationDuration = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Menu_Select_AnimationDuration = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Menu_Start_AnimationDuration = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Result_Normal_AnimationDuration = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Result_Clear_AnimationDuration = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Result_Failed_In_AnimationDuration = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Result_Failed_AnimationDuration = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||
|
||||
for (int i = 0; i < charaDirs.Length; i++)
|
||||
{
|
||||
@ -1480,14 +1481,6 @@ namespace TJAPlayer3
|
||||
|
||||
TJAPlayer3.Skin.Characters_Resolution[i] = new int[] { 1280, 720 };
|
||||
|
||||
TJAPlayer3.Skin.Characters_Title_Entry_X[i] = new int[] { 485, 485 };
|
||||
TJAPlayer3.Skin.Characters_Title_Entry_Y[i] = new int[] { 140, 140 };
|
||||
|
||||
TJAPlayer3.Skin.Characters_Title_Normal_X[i] = new int[] { 0, 981 };
|
||||
TJAPlayer3.Skin.Characters_Title_Normal_Y[i] = new int[] { 341, 341 };
|
||||
|
||||
TJAPlayer3.Skin.Characters_Menu_X[i] = new int[] { 0, 981 };
|
||||
TJAPlayer3.Skin.Characters_Menu_Y[i] = new int[] { 330, 330 };
|
||||
|
||||
TJAPlayer3.Skin.Characters_X[i] = new int[] { 0, 0 };
|
||||
TJAPlayer3.Skin.Characters_Y[i] = new int[] { 0, 537 };
|
||||
@ -1512,9 +1505,15 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Balloon_Timer[i] = 28;
|
||||
TJAPlayer3.Skin.Characters_Balloon_Delay[i] = 500;
|
||||
TJAPlayer3.Skin.Characters_Balloon_FadeOut[i] = 84;
|
||||
|
||||
TJAPlayer3.Skin.Characters_Result_X[i] = new int[] { 202, 1138 };
|
||||
TJAPlayer3.Skin.Characters_Result_Y[i] = new int[] { 532, 532 };
|
||||
TJAPlayer3.Skin.Characters_Title_Entry_AnimationDuration[i] = 1000;
|
||||
TJAPlayer3.Skin.Characters_Title_Normal_AnimationDuration[i] = 1000;
|
||||
TJAPlayer3.Skin.Characters_Menu_Loop_AnimationDuration[i] = 1000;
|
||||
TJAPlayer3.Skin.Characters_Menu_Select_AnimationDuration[i] = 1000;
|
||||
TJAPlayer3.Skin.Characters_Menu_Start_AnimationDuration[i] = 1000;
|
||||
TJAPlayer3.Skin.Characters_Result_Normal_AnimationDuration[i] = 1000;
|
||||
TJAPlayer3.Skin.Characters_Result_Clear_AnimationDuration[i] = 1000;
|
||||
TJAPlayer3.Skin.Characters_Result_Failed_In_AnimationDuration[i] = 1000;
|
||||
TJAPlayer3.Skin.Characters_Result_Failed_AnimationDuration[i] = 1000;
|
||||
|
||||
#endregion
|
||||
|
||||
@ -1548,56 +1547,6 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Resolution[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
}
|
||||
if (strCommand == "Title_Chara_Entry_X")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int k = 0; k < 2; k++)
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Title_Entry_X[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Title_Chara_Entry_Y")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int k = 0; k < 2; k++)
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Title_Entry_Y[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
}
|
||||
|
||||
else if (strCommand == "Title_Chara_Normal_X")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int k = 0; k < 2; k++)
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Title_Normal_X[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Title_Chara_Normal_Y")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int k = 0; k < 2; k++)
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Title_Normal_Y[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
}
|
||||
|
||||
else if (strCommand == "Menu_Chara_X")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int k = 0; k < 2; k++)
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Menu_X[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Menu_Chara_Y")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int k = 0; k < 2; k++)
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Menu_Y[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Game_Chara_X")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
@ -1734,21 +1683,41 @@ namespace TJAPlayer3
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Beat_GoGo[i] = int.Parse(strParam);
|
||||
}
|
||||
else if (strCommand == "Result_Chara_X")
|
||||
else if (strCommand == "Chara_Entry_AnimationDuration")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int k = 0; k < 2; k++)
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Result_X[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
TJAPlayer3.Skin.Characters_Title_Entry_AnimationDuration[i] = int.Parse(strParam);
|
||||
}
|
||||
else if (strCommand == "Result_Chara_Y")
|
||||
else if (strCommand == "Chara_Normal_AnimationDuration")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int k = 0; k < 2; k++)
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Result_Y[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
TJAPlayer3.Skin.Characters_Title_Normal_AnimationDuration[i] = int.Parse(strParam);
|
||||
}
|
||||
else if (strCommand == "Chara_Menu_Loop_AnimationDuration")
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Menu_Loop_AnimationDuration[i] = int.Parse(strParam);
|
||||
}
|
||||
else if (strCommand == "Chara_Menu_Select_AnimationDuration")
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Menu_Select_AnimationDuration[i] = int.Parse(strParam);
|
||||
}
|
||||
else if (strCommand == "Chara_Menu_Start_AnimationDuration")
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Menu_Start_AnimationDuration[i] = int.Parse(strParam);
|
||||
}
|
||||
else if (strCommand == "Chara_Result_Normal_AnimationDuration")
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Result_Normal_AnimationDuration[i] = int.Parse(strParam);
|
||||
}
|
||||
else if (strCommand == "Chara_Result_Clear_AnimationDuration")
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Result_Clear_AnimationDuration[i] = int.Parse(strParam);
|
||||
}
|
||||
else if (strCommand == "Chara_Result_Failed_In_AnimationDuration")
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Result_Failed_In_AnimationDuration[i] = int.Parse(strParam);
|
||||
}
|
||||
else if (strCommand == "Chara_Result_Failed_AnimationDuration")
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Result_Failed_AnimationDuration[i] = int.Parse(strParam);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -377,7 +377,8 @@ namespace TJAPlayer3
|
||||
{
|
||||
TJAPlayer3.Skin.soundEntry.t停止する();
|
||||
ctバナパス読み込み成功.t開始(0, 3655, 1, TJAPlayer3.Timer);
|
||||
bバナパス読み込み = true;
|
||||
bバナパス読み込み = true;
|
||||
bどんちゃんカウンター初期化 = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -48,15 +48,15 @@ namespace TJAPlayer3
|
||||
if (TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss == 0 && TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMine == 0)
|
||||
{
|
||||
if (TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGood == 0)
|
||||
this.Mode[0] = EndMode.StageDondaFullCombo;
|
||||
this.Mode[0] = EndMode.Tower_TopReached_Perfect;
|
||||
else
|
||||
this.Mode[0] = EndMode.StageFullCombo;
|
||||
this.Mode[0] = EndMode.Tower_TopReached_FullCombo;
|
||||
}
|
||||
else
|
||||
this.Mode[0] = EndMode.StageCleared;
|
||||
this.Mode[0] = EndMode.Tower_TopReached_Pass;
|
||||
}
|
||||
else
|
||||
this.Mode[0] = EndMode.StageFailed;
|
||||
this.Mode[0] = EndMode.Tower_Dropout;
|
||||
}
|
||||
else if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan)
|
||||
{
|
||||
@ -66,29 +66,39 @@ namespace TJAPlayer3
|
||||
// 段位認定モード、クリア成功
|
||||
// this.Mode[0] = EndMode.StageCleared;
|
||||
|
||||
bool bgold = TJAPlayer3.stage演奏ドラム画面.actDan.GetExamStatus(TJAPlayer3.stage結果.st演奏記録.Drums.Dan_C) == Exam.Status.Better_Success;
|
||||
|
||||
if (TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss == 0 && TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMine == 0)
|
||||
{
|
||||
if (TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGood == 0)
|
||||
this.Mode[0] = EndMode.StageDondaFullCombo;
|
||||
this.Mode[0] = bgold ? EndMode.Dan_Gold_Perfect : EndMode.Dan_Red_Perfect;
|
||||
else
|
||||
this.Mode[0] = EndMode.StageFullCombo;
|
||||
this.Mode[0] = bgold ? EndMode.Dan_Gold_FullCombo : EndMode.Dan_Red_FullCombo;
|
||||
}
|
||||
else
|
||||
this.Mode[0] = EndMode.StageCleared;
|
||||
this.Mode[0] = bgold ? EndMode.Dan_Gold_Pass : EndMode.Dan_Red_Pass;
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// 段位認定モード、クリア失敗
|
||||
this.Mode[0] = EndMode.StageFailed;
|
||||
this.Mode[0] = EndMode.Dan_Fail;
|
||||
}
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
{
|
||||
if (TJAPlayer3.stage演奏ドラム画面.bIsAIBattleWin)
|
||||
{
|
||||
this.Mode[0] = EndMode.AI_Win;
|
||||
if (TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss == 0 && TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMine == 0)
|
||||
{
|
||||
if (TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGood == 0)
|
||||
this.Mode[0] = EndMode.AI_Win_Perfect;
|
||||
else
|
||||
this.Mode[0] = EndMode.AI_Win_FullCombo;
|
||||
}
|
||||
else
|
||||
this.Mode[0] = EndMode.AI_Win;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -150,16 +160,78 @@ namespace TJAPlayer3
|
||||
{
|
||||
var origindir = CSkin.Path($"{TextureLoader.BASE}{TextureLoader.GAME}{TextureLoader.END}");
|
||||
|
||||
if (TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
{
|
||||
AIWinScript = new EndAnimeScript($@"{origindir}AI_Win\Script.lua");
|
||||
AIWinScript.Init();
|
||||
|
||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower)
|
||||
{
|
||||
Tower_DropoutScript = new EndAnimeScript($@"{origindir}Tower_Dropout\Script.lua");
|
||||
Tower_DropoutScript.Init();
|
||||
|
||||
Tower_TopReached_PassScript = new EndAnimeScript($@"{origindir}Tower_TopReached_Pass\Script.lua");
|
||||
Tower_TopReached_PassScript.Init();
|
||||
|
||||
Tower_TopReached_FullComboScript = new EndAnimeScript($@"{origindir}Tower_TopReached_FullCombo\Script.lua");
|
||||
Tower_TopReached_FullComboScript.Init();
|
||||
|
||||
Tower_TopReached_PerfectScript = new EndAnimeScript($@"{origindir}Tower_TopReached_Perfect\Script.lua");
|
||||
Tower_TopReached_PerfectScript.Init();
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
this.soundClear[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Clear.ogg"), ESoundGroup.SoundEffect);
|
||||
this.soundFailed[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Failed.ogg"), ESoundGroup.SoundEffect);
|
||||
this.soundFullCombo[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\FullCombo.ogg"), ESoundGroup.SoundEffect);
|
||||
this.soundDondaFullCombo[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\AllPerfect.ogg"), ESoundGroup.SoundEffect);
|
||||
}
|
||||
}
|
||||
else if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan)
|
||||
{
|
||||
Dan_FailScript = new EndAnimeScript($@"{origindir}Dan_Fail\Script.lua");
|
||||
Dan_FailScript.Init();
|
||||
|
||||
Dan_Red_PassScript = new EndAnimeScript($@"{origindir}Dan_Red_Pass\Script.lua");
|
||||
Dan_Red_PassScript.Init();
|
||||
|
||||
Dan_Red_FullComboScript = new EndAnimeScript($@"{origindir}Dan_Red_FullCombo\Script.lua");
|
||||
Dan_Red_FullComboScript.Init();
|
||||
|
||||
Dan_Red_PerfectScript = new EndAnimeScript($@"{origindir}Dan_Red_Perfect\Script.lua");
|
||||
Dan_Red_PerfectScript.Init();
|
||||
|
||||
Dan_Gold_PassScript = new EndAnimeScript($@"{origindir}Dan_Gold_Pass\Script.lua");
|
||||
Dan_Gold_PassScript.Init();
|
||||
|
||||
Dan_Gold_FullComboScript = new EndAnimeScript($@"{origindir}Dan_Gold_FullCombo\Script.lua");
|
||||
Dan_Gold_FullComboScript.Init();
|
||||
|
||||
Dan_Gold_PerfectScript = new EndAnimeScript($@"{origindir}Dan_Gold_Perfect\Script.lua");
|
||||
Dan_Gold_PerfectScript.Init();
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
this.soundClear[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Clear.ogg"), ESoundGroup.SoundEffect);
|
||||
this.soundFailed[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Failed.ogg"), ESoundGroup.SoundEffect);
|
||||
this.soundFullCombo[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\FullCombo.ogg"), ESoundGroup.SoundEffect);
|
||||
this.soundDondaFullCombo[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\AllPerfect.ogg"), ESoundGroup.SoundEffect);
|
||||
}
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
{
|
||||
AILoseScript = new EndAnimeScript($@"{origindir}AI_Lose\Script.lua");
|
||||
AILoseScript.Init();
|
||||
|
||||
this.soundAIWin = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\AIBattle_Win.ogg"), ESoundGroup.SoundEffect);
|
||||
AIWinScript = new EndAnimeScript($@"{origindir}AI_Win\Script.lua");
|
||||
AIWinScript.Init();
|
||||
|
||||
AIWin_FullComboScript = new EndAnimeScript($@"{origindir}AI_Win_FullCombo\Script.lua");
|
||||
AIWin_FullComboScript.Init();
|
||||
|
||||
AIWin_PerfectScript = new EndAnimeScript($@"{origindir}AI_Win_Perfect\Script.lua");
|
||||
AIWin_PerfectScript.Init();
|
||||
|
||||
this.soundAILose = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\AIBattle_Lose.ogg"), ESoundGroup.SoundEffect);
|
||||
this.soundAIWin = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\AIBattle_Win.ogg"), ESoundGroup.SoundEffect);
|
||||
this.soundAIWinFullCombo = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\AIBattle_Win_FullCombo.ogg"), ESoundGroup.SoundEffect);
|
||||
this.soundAIWinDondaFullCombo = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\AIBattle_Win_AllPerfect.ogg"), ESoundGroup.SoundEffect);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -192,13 +264,50 @@ namespace TJAPlayer3
|
||||
{
|
||||
if (!base.b活性化してない)
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower)
|
||||
{
|
||||
AIWinScript.Dispose();
|
||||
AILoseScript.Dispose();
|
||||
Tower_DropoutScript.Dispose();
|
||||
Tower_TopReached_PassScript.Dispose();
|
||||
Tower_TopReached_FullComboScript.Dispose();
|
||||
Tower_TopReached_PerfectScript.Dispose();
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
this.soundClear[i]?.t解放する();
|
||||
this.soundFailed[i]?.t解放する();
|
||||
this.soundFullCombo[i]?.t解放する();
|
||||
this.soundDondaFullCombo[i]?.t解放する();
|
||||
}
|
||||
}
|
||||
else if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan)
|
||||
{
|
||||
Dan_FailScript.Dispose();
|
||||
Dan_Red_PassScript.Dispose();
|
||||
Dan_Red_FullComboScript.Dispose();
|
||||
Dan_Red_PerfectScript.Dispose();
|
||||
Dan_Gold_PassScript.Dispose();
|
||||
Dan_Gold_FullComboScript.Dispose();
|
||||
Dan_Gold_PerfectScript.Dispose();
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
this.soundClear[i]?.t解放する();
|
||||
this.soundFailed[i]?.t解放する();
|
||||
this.soundFullCombo[i]?.t解放する();
|
||||
this.soundDondaFullCombo[i]?.t解放する();
|
||||
}
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
{
|
||||
AILoseScript.Dispose();
|
||||
AIWinScript.Dispose();
|
||||
AIWin_FullComboScript.Dispose();
|
||||
AIWin_PerfectScript.Dispose();
|
||||
|
||||
this.soundAIWin?.t解放する();
|
||||
this.soundAILose?.t解放する();
|
||||
this.soundAIWin?.t解放する();
|
||||
this.soundAIWinFullCombo?.t解放する();
|
||||
this.soundAIWinDondaFullCombo?.t解放する();
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -510,16 +619,85 @@ namespace TJAPlayer3
|
||||
this.soundDondaFullCombo[i]?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceClearAllPerfect[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
case EndMode.AI_Win:
|
||||
AIWinScript.PlayEndAnime(i);
|
||||
this.soundAIWin?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceAIWin[TJAPlayer3.GetActualPlayer(0)]?.t再生する();
|
||||
break;
|
||||
|
||||
case EndMode.AI_Lose:
|
||||
AILoseScript.PlayEndAnime(i);
|
||||
this.soundAILose?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceAILose[TJAPlayer3.GetActualPlayer(1)]?.t再生する();
|
||||
break;
|
||||
case EndMode.AI_Win:
|
||||
AIWinScript.PlayEndAnime(i);
|
||||
this.soundAIWin?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceAIWin[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
case EndMode.AI_Win_FullCombo:
|
||||
AIWinScript.PlayEndAnime(i);
|
||||
this.soundAIWinFullCombo?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceAIWin[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
case EndMode.AI_Win_Perfect:
|
||||
AIWin_PerfectScript.PlayEndAnime(i);
|
||||
this.soundAIWinDondaFullCombo?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceAIWin[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
|
||||
case EndMode.Tower_Dropout:
|
||||
Tower_DropoutScript.PlayEndAnime(i);
|
||||
this.soundFailed[i]?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceClearFailed[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
case EndMode.Tower_TopReached_Pass:
|
||||
Tower_TopReached_PassScript.PlayEndAnime(i);
|
||||
this.soundClear[i]?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceClearClear[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
case EndMode.Tower_TopReached_FullCombo:
|
||||
Tower_TopReached_FullComboScript.PlayEndAnime(i);
|
||||
this.soundFullCombo[i]?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceClearFullCombo[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
case EndMode.Tower_TopReached_Perfect:
|
||||
Tower_TopReached_PerfectScript.PlayEndAnime(i);
|
||||
this.soundDondaFullCombo[i]?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceClearAllPerfect[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
|
||||
case EndMode.Dan_Fail:
|
||||
Dan_FailScript.PlayEndAnime(i);
|
||||
this.soundFailed[i]?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceClearFailed[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
case EndMode.Dan_Red_Pass:
|
||||
Dan_Red_PassScript.PlayEndAnime(i);
|
||||
this.soundClear[i]?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceClearClear[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
case EndMode.Dan_Red_FullCombo:
|
||||
Dan_Red_FullComboScript.PlayEndAnime(i);
|
||||
this.soundFullCombo[i]?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceClearFullCombo[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
case EndMode.Dan_Red_Perfect:
|
||||
Dan_Red_PerfectScript.PlayEndAnime(i);
|
||||
this.soundDondaFullCombo[i]?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceClearAllPerfect[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
case EndMode.Dan_Gold_Pass:
|
||||
Dan_Gold_PassScript.PlayEndAnime(i);
|
||||
this.soundClear[i]?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceClearClear[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
case EndMode.Dan_Gold_FullCombo:
|
||||
Dan_Gold_FullComboScript.PlayEndAnime(i);
|
||||
this.soundFullCombo[i]?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceClearFullCombo[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
case EndMode.Dan_Gold_Perfect:
|
||||
Dan_Gold_PerfectScript.PlayEndAnime(i);
|
||||
this.soundDondaFullCombo[i]?.t再生を開始する();
|
||||
TJAPlayer3.Skin.voiceClearAllPerfect[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -547,6 +725,7 @@ namespace TJAPlayer3
|
||||
case EndMode.StageDondaFullCombo:
|
||||
this.showEndEffect_DondaFullCombo(i);
|
||||
break;
|
||||
|
||||
case EndMode.AI_Win:
|
||||
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) AIWinScript.Update(i);
|
||||
AIWinScript.Draw(i);
|
||||
@ -555,6 +734,52 @@ namespace TJAPlayer3
|
||||
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) AILoseScript.Update(i);
|
||||
AILoseScript.Draw(i);
|
||||
break;
|
||||
|
||||
case EndMode.Tower_Dropout:
|
||||
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) Tower_DropoutScript.Update(i);
|
||||
Tower_DropoutScript.Draw(i);
|
||||
break;
|
||||
case EndMode.Tower_TopReached_Pass:
|
||||
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) Tower_TopReached_PassScript.Update(i);
|
||||
Tower_TopReached_PassScript.Draw(i);
|
||||
break;
|
||||
case EndMode.Tower_TopReached_FullCombo:
|
||||
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) Tower_TopReached_FullComboScript.Update(i);
|
||||
Tower_TopReached_FullComboScript.Draw(i);
|
||||
break;
|
||||
case EndMode.Tower_TopReached_Perfect:
|
||||
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) Tower_TopReached_PerfectScript.Update(i);
|
||||
Tower_TopReached_PerfectScript.Draw(i);
|
||||
break;
|
||||
|
||||
case EndMode.Dan_Fail:
|
||||
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) Dan_FailScript.Update(i);
|
||||
Dan_FailScript.Draw(i);
|
||||
break;
|
||||
case EndMode.Dan_Red_Pass:
|
||||
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) Dan_Red_PassScript.Update(i);
|
||||
Dan_Red_PassScript.Draw(i);
|
||||
break;
|
||||
case EndMode.Dan_Red_FullCombo:
|
||||
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) Dan_Red_FullComboScript.Update(i);
|
||||
Dan_Red_FullComboScript.Draw(i);
|
||||
break;
|
||||
case EndMode.Dan_Red_Perfect:
|
||||
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) Dan_Red_PerfectScript.Update(i);
|
||||
Dan_Red_PerfectScript.Draw(i);
|
||||
break;
|
||||
case EndMode.Dan_Gold_Pass:
|
||||
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) Dan_Gold_PassScript.Update(i);
|
||||
Dan_Gold_PassScript.Draw(i);
|
||||
break;
|
||||
case EndMode.Dan_Gold_FullCombo:
|
||||
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) Dan_Gold_FullComboScript.Update(i);
|
||||
Dan_Gold_FullComboScript.Draw(i);
|
||||
break;
|
||||
case EndMode.Dan_Gold_Perfect:
|
||||
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) Dan_Gold_PerfectScript.Update(i);
|
||||
Dan_Gold_PerfectScript.Draw(i);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -580,8 +805,24 @@ namespace TJAPlayer3
|
||||
private EndAnimeScript FullComboScript;
|
||||
private EndAnimeScript DondaFullComboScript;
|
||||
|
||||
private EndAnimeScript AILoseScript;
|
||||
private EndAnimeScript AIWinScript;
|
||||
private EndAnimeScript AILoseScript;
|
||||
private EndAnimeScript AIWin_FullComboScript;
|
||||
private EndAnimeScript AIWin_PerfectScript;
|
||||
|
||||
private EndAnimeScript Tower_DropoutScript;
|
||||
private EndAnimeScript Tower_TopReached_PassScript;
|
||||
private EndAnimeScript Tower_TopReached_FullComboScript;
|
||||
private EndAnimeScript Tower_TopReached_PerfectScript;
|
||||
|
||||
private EndAnimeScript Dan_FailScript;
|
||||
private EndAnimeScript Dan_Red_PassScript;
|
||||
private EndAnimeScript Dan_Red_FullComboScript;
|
||||
private EndAnimeScript Dan_Red_PerfectScript;
|
||||
|
||||
private EndAnimeScript Dan_Gold_PassScript;
|
||||
private EndAnimeScript Dan_Gold_FullComboScript;
|
||||
private EndAnimeScript Dan_Gold_PerfectScript;
|
||||
|
||||
bool b再生済み;
|
||||
bool bリザルトボイス再生済み;
|
||||
@ -601,8 +842,12 @@ namespace TJAPlayer3
|
||||
CSound[] soundFailed = new CSound[5];
|
||||
CSound[] soundFullCombo = new CSound[5];
|
||||
CSound[] soundDondaFullCombo = new CSound[5];
|
||||
CSound soundAIWin;
|
||||
|
||||
CSound soundAILose;
|
||||
CSound soundAIWin;
|
||||
CSound soundAIWinFullCombo;
|
||||
CSound soundAIWinDondaFullCombo;
|
||||
|
||||
EndMode[] Mode;
|
||||
enum EndMode
|
||||
{
|
||||
@ -610,8 +855,24 @@ namespace TJAPlayer3
|
||||
StageCleared,
|
||||
StageFullCombo,
|
||||
StageDondaFullCombo,
|
||||
|
||||
AI_Lose,
|
||||
AI_Win,
|
||||
AI_Lose
|
||||
AI_Win_FullCombo,
|
||||
AI_Win_Perfect,
|
||||
|
||||
Tower_Dropout,
|
||||
Tower_TopReached_Pass,
|
||||
Tower_TopReached_FullCombo,
|
||||
Tower_TopReached_Perfect,
|
||||
|
||||
Dan_Fail,
|
||||
Dan_Red_Pass,
|
||||
Dan_Red_FullCombo,
|
||||
Dan_Red_Perfect,
|
||||
Dan_Gold_Pass,
|
||||
Dan_Gold_FullCombo,
|
||||
Dan_Gold_Perfect
|
||||
}
|
||||
|
||||
void StarDraw(int x, int y, int count, int starttime = 0, int Endtime = 20)
|
||||
|
@ -7,10 +7,10 @@ Game_Chara_X=0,0
|
||||
;キャラのY座標。(1P,2P)
|
||||
Game_Chara_Y=0,537
|
||||
|
||||
|
||||
;3人プレイ以上のキャラの座標。(X, Y)
|
||||
Game_Chara_4P=165,68
|
||||
|
||||
|
||||
;5人プレイのキャラの座標。(X, Y)
|
||||
Game_Chara_5P=165,40
|
||||
|
||||
;キャラのX座標。(1P,2P)
|
||||
@ -22,6 +22,12 @@ Game_Chara_Y_AI=152,152
|
||||
;キャラの通常時モーション指定。(カンマ区切り)
|
||||
Game_Chara_Motion_Normal=0
|
||||
|
||||
;キャラのミス時モーション指定。(カンマ区切り)
|
||||
Game_Chara_Motion_Miss=0
|
||||
|
||||
;キャラの連続でミス時モーション指定。(カンマ区切り)
|
||||
Game_Chara_Motion_MissDown=0
|
||||
|
||||
;キャラのクリア時モーション指定。(カンマ区切り)
|
||||
Game_Chara_Motion_Clear=0
|
||||
|
||||
@ -31,26 +37,59 @@ Game_Chara_Motion_GoGo=0
|
||||
;キャラの通常時モーションが何拍子でループするか。(カンマ区切り)
|
||||
Game_Chara_Beat_Normal=4
|
||||
|
||||
;キャラのミス時モーションが何拍子でループするか。(カンマ区切り)
|
||||
Game_Chara_Beat_Miss=1
|
||||
|
||||
;キャラの連続でミス時モーションが何拍子でループするか。(カンマ区切り)
|
||||
Game_Chara_Beat_MissDown=1
|
||||
|
||||
;キャラのクリア時モーションが何拍子でループするか。(カンマ区切り)
|
||||
Game_Chara_Beat_Clear=2
|
||||
|
||||
;キャラのゴーゴータイム時モーションが何拍子でループするか。(カンマ区切り)
|
||||
Game_Chara_Beat_GoGo=4
|
||||
|
||||
;ふうせん連打時のキャラ画像X座標。(1P,2P)
|
||||
;ふうせん連打時のキャラ画像X座標。(X,Y)
|
||||
Game_Chara_Balloon_X=0,0
|
||||
|
||||
;ふうせん連打時のキャラ画像X座標。(1P,2P)
|
||||
;ふうせん連打時のキャラ画像Y座標。(X,Y)
|
||||
Game_Chara_Balloon_Y=0,297
|
||||
|
||||
|
||||
;3人プレイ以上のふうせん連打時のキャラ画像X座標。
|
||||
Game_Chara_Balloon_4P=0,-176
|
||||
|
||||
|
||||
;3人プレイ以上のふうせん連打時のキャラ画像Y座標。
|
||||
Game_Chara_Balloon_5P=0,-168
|
||||
|
||||
;ふうせん連打アクション時に使用するタイマーの更新間隔。(ms)
|
||||
Game_Chara_Balloon_Timer=16
|
||||
|
||||
;ふうせん連打成功 / 失敗 のフェードアウトにかける時間 (ms)
|
||||
Game_Chara_Balloon_FadeOut=500
|
||||
Game_Chara_Balloon_FadeOut=500
|
||||
|
||||
;エントリーアニメーションにかける時間 (ms)
|
||||
Chara_Entry_AnimationDuration=1000
|
||||
|
||||
;演奏画面以外の通常アニメーションにかける時間 (ms)
|
||||
Chara_Normal_AnimationDuration=1000
|
||||
|
||||
;メニューのループアニメーションにかける時間 (ms)
|
||||
Chara_Menu_Loop_AnimationDuration=1000
|
||||
|
||||
;メニューの選択アニメーションにかける時間 (ms)
|
||||
Chara_Menu_Select_AnimationDuration=1000
|
||||
|
||||
;メニューの開始アニメーションにかける時間 (ms)
|
||||
Chara_Menu_Start_AnimationDuration=1000
|
||||
|
||||
;結果画面の通常アニメーションにかける時間 (ms)
|
||||
Chara_Result_Normal_AnimationDuration=1000
|
||||
|
||||
;結果画面のクリアアニメーションにかける時間 (ms)
|
||||
Chara_Result_Clear_AnimationDuration=1000
|
||||
|
||||
;結果画面のクリア失敗の最初のアニメーションにかける時間 (ms)
|
||||
Chara_Result_Failed_In_AnimationDuration=1000
|
||||
|
||||
;結果画面のクリア失敗のアニメーションにかける時間 (ms)
|
||||
Chara_Result_Failed_AnimationDuration=1000
|
BIN
Test/Global/Characters/Template/Miss/0.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
Test/Global/Characters/Template/MissDown/0.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 720 KiB |
@ -0,0 +1,44 @@
|
||||
--func:DrawText(x, y, text)
|
||||
--func:DrawNum(x, y, num)
|
||||
--func:AddGraph("filename")
|
||||
--func:DrawGraph(x, y, filename)
|
||||
--func:DrawRectGraph(x, y, rect_x, rect_y, rect_width, rect_height, filename)
|
||||
--func:DrawGraphCenter(x, y, filename)
|
||||
--func:DrawGraphRectCenter(x, y, rect_x, rect_y, rect_width, rect_height, filename)
|
||||
--func:SetOpacity(opacity, "filename")
|
||||
--func:SetRotation(angle, "fileName")
|
||||
--func:SetScale(xscale, yscale, "filename")
|
||||
--func:SetColor(r, g, b, "filename")
|
||||
|
||||
local animeCounter = 0
|
||||
|
||||
local x = 960
|
||||
local y = 540
|
||||
|
||||
function clearIn(player)
|
||||
end
|
||||
|
||||
function clearOut(player)
|
||||
end
|
||||
|
||||
function playEndAnime(player)
|
||||
animeCounter = 0
|
||||
end
|
||||
|
||||
function init()
|
||||
func:AddGraph("Base.png")
|
||||
end
|
||||
|
||||
function update(player)
|
||||
animeCounter = animeCounter + (1.0 * deltaTime)
|
||||
end
|
||||
|
||||
function draw(player)
|
||||
value = math.min(animeCounter * 3, 1)
|
||||
scale = 2 - value
|
||||
|
||||
func:SetOpacity(value * 255, "Base.png")
|
||||
func:SetScale(scale, scale, "Base.png")
|
||||
|
||||
func:DrawGraphCenter(x, y, "Base.png")
|
||||
end
|
After Width: | Height: | Size: 720 KiB |
@ -0,0 +1,44 @@
|
||||
--func:DrawText(x, y, text)
|
||||
--func:DrawNum(x, y, num)
|
||||
--func:AddGraph("filename")
|
||||
--func:DrawGraph(x, y, filename)
|
||||
--func:DrawRectGraph(x, y, rect_x, rect_y, rect_width, rect_height, filename)
|
||||
--func:DrawGraphCenter(x, y, filename)
|
||||
--func:DrawGraphRectCenter(x, y, rect_x, rect_y, rect_width, rect_height, filename)
|
||||
--func:SetOpacity(opacity, "filename")
|
||||
--func:SetRotation(angle, "fileName")
|
||||
--func:SetScale(xscale, yscale, "filename")
|
||||
--func:SetColor(r, g, b, "filename")
|
||||
|
||||
local animeCounter = 0
|
||||
|
||||
local x = 960
|
||||
local y = 540
|
||||
|
||||
function clearIn(player)
|
||||
end
|
||||
|
||||
function clearOut(player)
|
||||
end
|
||||
|
||||
function playEndAnime(player)
|
||||
animeCounter = 0
|
||||
end
|
||||
|
||||
function init()
|
||||
func:AddGraph("Base.png")
|
||||
end
|
||||
|
||||
function update(player)
|
||||
animeCounter = animeCounter + (1.0 * deltaTime)
|
||||
end
|
||||
|
||||
function draw(player)
|
||||
value = math.min(animeCounter * 3, 1)
|
||||
scale = 2 - value
|
||||
|
||||
func:SetOpacity(value * 255, "Base.png")
|
||||
func:SetScale(scale, scale, "Base.png")
|
||||
|
||||
func:DrawGraphCenter(x, y, "Base.png")
|
||||
end
|
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
@ -0,0 +1,66 @@
|
||||
--func:DrawText(x, y, text);
|
||||
--func:DrawNum(x, y, num);
|
||||
--func:AddGraph("filename");
|
||||
--func:DrawGraph(x, y, filename);
|
||||
--func:SetOpacity(opacity, "filename");
|
||||
--func:SetScale(xscale, yscale, "filename");
|
||||
--func:SetColor(r, g, b, "filename");
|
||||
|
||||
local x = { 758, 758, 758, 758, 758 }
|
||||
local y = { 218, 482, 0, 0, 0 }
|
||||
|
||||
local animeCounter = { 0, 0, 0, 0, 0 }
|
||||
local nowFrame = { 0, 0, 0, 0, 0 }
|
||||
|
||||
local textureCount = 25
|
||||
|
||||
local useExtraAnime = true
|
||||
|
||||
function clearIn(player)
|
||||
end
|
||||
|
||||
function clearOut(player)
|
||||
end
|
||||
|
||||
function playEndAnime(player)
|
||||
animeCounter = { 0, 0, 0, 0, 0 }
|
||||
nowFrame = { 0, 0, 0, 0, 0 }
|
||||
end
|
||||
|
||||
function init()
|
||||
|
||||
if playerCount <= 2 then
|
||||
y = { 217, 481, 0, 0, 0 }
|
||||
elseif playerCount == 5 then
|
||||
y = { 34, 181, 397, 613, 829 }
|
||||
else
|
||||
y = { -1, 262, 526, 790, 0 }
|
||||
end
|
||||
|
||||
for i = 0 , textureCount do
|
||||
func:AddGraph(tostring(i)..".png")
|
||||
end
|
||||
|
||||
if useExtraAnime then
|
||||
func:AddGraph("Clear_Failed.png")
|
||||
func:AddGraph("Clear_Failed1.png")
|
||||
func:AddGraph("Clear_Failed2.png")
|
||||
end
|
||||
end
|
||||
|
||||
function update(player)
|
||||
animeCounter[player + 1] = animeCounter[player + 1] + (33.3 * deltaTime)
|
||||
nowFrame[player + 1] = math.floor(animeCounter[player + 1] + 0.5)
|
||||
end
|
||||
|
||||
function draw(player)
|
||||
if nowFrame[player + 1] <= 20 or not(useExtraAnime) then
|
||||
func:DrawGraph(x[player + 1], y[player + 1], tostring(math.min(nowFrame[player + 1], textureCount))..".png")
|
||||
elseif nowFrame[player + 1] >= 20 and nowFrame[player + 1] <= 67 then
|
||||
func:DrawGraph(x[player + 1] - 5, y[player + 1] + 71, "Clear_Failed.png")
|
||||
elseif nowFrame[player + 1] == 68 then
|
||||
func:DrawGraph(x[player + 1] - 5, y[player + 1] + 71, "Clear_Failed1.png")
|
||||
elseif nowFrame[player + 1] >= 69 then
|
||||
func:DrawGraph(x[player + 1] - 5, y[player + 1] + 71, "Clear_Failed2.png")
|
||||
end
|
||||
end
|
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 162 KiB |
After Width: | Height: | Size: 140 KiB |
After Width: | Height: | Size: 136 KiB |
After Width: | Height: | Size: 136 KiB |
After Width: | Height: | Size: 133 KiB |
After Width: | Height: | Size: 133 KiB |
After Width: | Height: | Size: 132 KiB |
After Width: | Height: | Size: 130 KiB |
After Width: | Height: | Size: 129 KiB |
After Width: | Height: | Size: 127 KiB |
After Width: | Height: | Size: 126 KiB |
After Width: | Height: | Size: 157 KiB |
After Width: | Height: | Size: 124 KiB |
After Width: | Height: | Size: 126 KiB |
After Width: | Height: | Size: 125 KiB |
After Width: | Height: | Size: 124 KiB |
After Width: | Height: | Size: 125 KiB |
After Width: | Height: | Size: 125 KiB |
After Width: | Height: | Size: 146 KiB |
After Width: | Height: | Size: 170 KiB |
After Width: | Height: | Size: 183 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 158 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 157 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 154 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 86 KiB |
After Width: | Height: | Size: 86 KiB |
After Width: | Height: | Size: 85 KiB |
After Width: | Height: | Size: 84 KiB |
After Width: | Height: | Size: 77 KiB |
After Width: | Height: | Size: 86 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 152 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |