1
0
mirror of synced 2025-02-17 19:09:25 +01:00

光るコースシンボルを実装 (#391)

This commit is contained in:
Takkkom 2023-02-18 11:23:31 +09:00 committed by GitHub
parent ab3bcddf80
commit 3417ac7346
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 162 additions and 6 deletions

View File

@ -3278,6 +3278,22 @@ namespace TJAPlayer3
Game_CourseSymbol_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "Game_CourseSymbol_Back_X")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
Game_CourseSymbol_Back_X[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "Game_CourseSymbol_Back_Y")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
Game_CourseSymbol_Back_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "Game_CourseSymbol_4P")
{
string[] strSplit = strParam.Split(',');
@ -3294,6 +3310,22 @@ namespace TJAPlayer3
Game_CourseSymbol_5P[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "Game_CourseSymbol_Back_4P")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
Game_CourseSymbol_Back_4P[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "Game_CourseSymbol_5P")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
Game_CourseSymbol_Back_5P[i] = int.Parse(strSplit[i]);
}
}
#endregion
#region PanelFont
@ -7897,10 +7929,18 @@ namespace TJAPlayer3
#endregion
#region CourseSymbol
public int[] Game_CourseSymbol_X = new int[] { -4, -4 };
public int[] Game_CourseSymbol_Y = new int[] { 232, 582 };
public int[] Game_CourseSymbol_Y = new int[] { 232, 582 };
public int[] Game_CourseSymbol_Back_X = new int[] { 280, 280 };
public int[] Game_CourseSymbol_Back_Y = new int[] { -110, 427 };
public int[] Game_CourseSymbol_4P = new int[] { -4, 56 };
public int[] Game_CourseSymbol_5P = new int[] { -4, 48 };
public int[] Game_CourseSymbol_Back_4P = new int[] { 896, 47 };
public int[] Game_CourseSymbol_Back_5P = new int[] { 896, 39 };
public int[] Game_CourseSymbol_Back_Rect_4P = new int[] { 0, 128, 384, 129 };
public int[] Game_CourseSymbol_Back_Rect_5P = new int[] { 0, 140, 384, 105 };
#endregion
#region PanelFont
public int Game_MusicName_X = 1160;

View File

@ -445,10 +445,14 @@ namespace TJAPlayer3
Taiko_LevelUp = TxC(GAME + TAIKO + @"LevelUp.png");
Taiko_LevelDown = TxC(GAME + TAIKO + @"LevelDown.png");
Couse_Symbol = new CTexture[(int)Difficulty.Total + 1]; // +1は真打ちモードの分
Couse_Symbol_Back = new CTexture[(int)Difficulty.Total + 1]; // +1は真打ちモードの分
Couse_Symbol_Back_Flash = new CTexture[(int)Difficulty.Total + 1]; // +1は真打ちモードの分
string[] Couse_Symbols = new string[(int)Difficulty.Total + 1] { "Easy", "Normal", "Hard", "Oni", "Edit", "Tower", "Dan", "Shin" };
for (int i = 0; i < (int)Difficulty.Total + 1; i++)
{
Couse_Symbol[i] = TxC(GAME + COURSESYMBOL + Couse_Symbols[i] + ".png");
Couse_Symbol_Back[i] = TxC(GAME + COURSESYMBOL + Couse_Symbols[i] + "_Back.png");
Couse_Symbol_Back_Flash[i] = TxC(GAME + COURSESYMBOL + Couse_Symbols[i] + "_Back_Flash.png");
}
Taiko_Score = new CTexture[6];
@ -1993,6 +1997,8 @@ namespace TJAPlayer3
Taiko_Combo_Effect,
Taiko_Combo_Text;
public CTexture[] Couse_Symbol, // コースシンボル
Couse_Symbol_Back,
Couse_Symbol_Back_Flash,
Taiko_PlayerNumber,
Taiko_NamePlate; // ネームプレート
public CTexture[] Taiko_Score,

View File

@ -1850,7 +1850,9 @@ namespace TJAPlayer3
_AIBattleState = Math.Max(AIBattleState, -9);
}
TJAPlayer3.stage演奏ドラム画面.actMtaiko.BackSymbolEvent(nPlayer);
if (this.bIsMiss[nPlayer])
{
returnChara();
@ -1874,8 +1876,6 @@ namespace TJAPlayer3
this.n可[actDan.NowShowingNumber]++;
this.tIncreaseComboDan(actDan.NowShowingNumber);
}
if (this.actCombo.ctコンボ加算[nPlayer].b終了値に達してない)
{
@ -1898,6 +1898,7 @@ namespace TJAPlayer3
_AIBattleState = Math.Max(_AIBattleState, -9);
}
TJAPlayer3.stage演奏ドラム画面.actMtaiko.BackSymbolEvent(nPlayer);
if (this.bIsMiss[nPlayer])
{
@ -1987,7 +1988,7 @@ namespace TJAPlayer3
_AIBattleState = Math.Max(_AIBattleState, -9);
}
TJAPlayer3.stage演奏ドラム画面.actMtaiko.BackSymbolEvent(nPlayer);
if (this.bIsMiss[nPlayer])
{
@ -2038,7 +2039,7 @@ namespace TJAPlayer3
_AIBattleState = Math.Max(AIBattleState, -9);
}
TJAPlayer3.stage演奏ドラム画面.actMtaiko.BackSymbolEvent(nPlayer);
if (this.bIsMiss[nPlayer])
{

View File

@ -39,12 +39,14 @@ namespace TJAPlayer3
public override void OnManagedリソースの作成()
{
this.ctレベルアップダウン = new CCounter[ 5 ];
this.ctレベルアップダウン = new CCounter[ 5 ];
ctSymbolFlash = new CCounter[5];
this.After = new CDTX.ECourse[ 5 ];
this.Before = new CDTX.ECourse[ 5 ];
for ( int i = 0; i < 5; i++ )
{
this.ctレベルアップダウン[ i ] = new CCounter();
BackSymbolEvent(i);
}
@ -563,6 +565,96 @@ namespace TJAPlayer3
this.After[ player ] = After;
this.Before[ player ] = Before;
}
public void BackSymbolEvent(int player)
{
ctSymbolFlash[player] = new CCounter(0, 1000, 0.2f, TJAPlayer3.Timer);
}
public void DrawBackSymbol()
{
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
{
ctSymbolFlash[i].t進行();
int couse_symbol_x;
int couse_symbol_y;
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
{
couse_symbol_x = TJAPlayer3.Skin.Game_CourseSymbol_Back_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
couse_symbol_y = TJAPlayer3.Skin.Game_CourseSymbol_Back_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
}
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
{
couse_symbol_x = TJAPlayer3.Skin.Game_CourseSymbol_Back_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
couse_symbol_y = TJAPlayer3.Skin.Game_CourseSymbol_Back_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
}
else
{
couse_symbol_x = TJAPlayer3.Skin.Game_CourseSymbol_Back_X[i];
couse_symbol_y = TJAPlayer3.Skin.Game_CourseSymbol_Back_Y[i];
}
if (TJAPlayer3.Tx.Couse_Symbol_Back[TJAPlayer3.stage選曲.n確定された曲の難易度[i]] != null)
{
int originX = 0;
int originY = 0;
int width = TJAPlayer3.Tx.Couse_Symbol_Back[TJAPlayer3.stage選曲.n確定された曲の難易度[i]].szテクスチャサイズ.Width;
int height = TJAPlayer3.Tx.Couse_Symbol_Back[TJAPlayer3.stage選曲.n確定された曲の難易度[i]].szテクスチャサイズ.Height;
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
{
originX = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_5P[0];
originY = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_5P[1];
width = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_5P[2];
height = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_5P[3];
}
else if (TJAPlayer3.ConfigIni.nPlayerCount > 2)
{
originX = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_4P[0];
originY = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_4P[1];
width = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_4P[2];
height = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_4P[3];
}
TJAPlayer3.Tx.Couse_Symbol_Back[TJAPlayer3.stage選曲.n確定された曲の難易度[i]].t2D描画(TJAPlayer3.app.Device,
couse_symbol_x,
couse_symbol_y,
new System.Drawing.RectangleF(originX, originY, width, height));
}
if (TJAPlayer3.Tx.Couse_Symbol_Back_Flash[TJAPlayer3.stage選曲.n確定された曲の難易度[i]] != null)
{
int originX = 0;
int originY = 0;
int width = TJAPlayer3.Tx.Couse_Symbol_Back[TJAPlayer3.stage選曲.n確定された曲の難易度[i]].szテクスチャサイズ.Width;
int height = TJAPlayer3.Tx.Couse_Symbol_Back[TJAPlayer3.stage選曲.n確定された曲の難易度[i]].szテクスチャサイズ.Height;
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
{
originX = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_5P[0];
originY = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_5P[1];
width = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_5P[2];
height = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_5P[3];
}
else if (TJAPlayer3.ConfigIni.nPlayerCount > 2)
{
originX = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_4P[0];
originY = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_4P[1];
width = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_4P[2];
height = TJAPlayer3.Skin.Game_CourseSymbol_Back_Rect_4P[3];
}
TJAPlayer3.Tx.Couse_Symbol_Back_Flash[TJAPlayer3.stage選曲.n確定された曲の難易度[i]].Opacity = 255 - (int)((ctSymbolFlash[i].n現在の値 / 1000.0) * 255);
TJAPlayer3.Tx.Couse_Symbol_Back_Flash[TJAPlayer3.stage選曲.n確定された曲の難易度[i]].t2D描画(TJAPlayer3.app.Device,
couse_symbol_x,
couse_symbol_y,
new System.Drawing.RectangleF(originX, originY, width, height));
}
}
}
@ -592,6 +684,7 @@ namespace TJAPlayer3
private CCounter[] ctレベルアップダウン;
public CDTX.ECourse[] After;
public CDTX.ECourse[] Before;
private CCounter[] ctSymbolFlash = new CCounter[5];
//-----------------
#endregion

View File

@ -86,6 +86,7 @@ namespace TJAPlayer3
//それぞれが独立したレイヤーでないといけないのでforループはパーツごとに分離すること。
if (TJAPlayer3.ConfigIni.nPlayerCount <= 2 && !TJAPlayer3.ConfigIni.bAIBattleMode) TJAPlayer3.stage演奏ドラム画面.actMtaiko.DrawBackSymbol();
#region[ ]
@ -122,6 +123,8 @@ namespace TJAPlayer3
#endregion
if (TJAPlayer3.ConfigIni.nPlayerCount > 2 && !TJAPlayer3.ConfigIni.bAIBattleMode) TJAPlayer3.stage演奏ドラム画面.actMtaiko.DrawBackSymbol();
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
{
#region[ ]

View File

@ -24,6 +24,14 @@ Game_ScoreRank_5P=87,80
Game_CourseSymbol_4P=-4,56
Game_CourseSymbol_5P=-4,48
Game_CourseSymbol_Back_4P=896,47
Game_CourseSymbol_Back_5P=896,39
Game_CourseSymbol_Back_Rect_4P=0,128,384,129
Game_CourseSymbol_Back_Rect_5P=0,140,384,105
Game_Score_4P=20,54

View File

@ -87,6 +87,11 @@ Game_CourseSymbol_X=-4,-4
Game_CourseSymbol_Y=233,426
Game_CourseSymbol_Back_X=280,280
Game_CourseSymbol_Back_Y=-110,427
Game_Score_X=25,25
Game_Score_Y=229,529

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB