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

AIバトルの時に演奏画面のキャラクターの座標をAIバトル専用のものに (#356)

This commit is contained in:
Takkkom 2023-01-25 21:23:26 +09:00 committed by GitHub
parent d4a35b942e
commit 592fe56b0f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 127 additions and 16 deletions

View File

@ -4077,6 +4077,10 @@ namespace TJAPlayer3
#endregion
#region AIBattle
else if (strCommand == "Game_AIBattle_CharaMove")
{
Game_AIBattle_CharaMove = int.Parse(strParam);
}
else if (strCommand == "Game_AIBattle_SectionTime_Panel")
{
string[] strSplit = strParam.Split(',');
@ -5129,8 +5133,11 @@ namespace TJAPlayer3
public int[][] Characters_Result_X;
public int[][] Characters_Result_Y;
public int[][] Characters_Resolution;
public int[][] Characters_X;
public int[][] Characters_Y;
public int[][] Characters_Y;
public int[][] Characters_X_AI;
public int[][] Characters_Y_AI;
public int[][] Characters_Balloon_X;
public int[][] Characters_Balloon_Y;
public string[] Characters_Motion_Normal,
@ -5758,6 +5765,8 @@ namespace TJAPlayer3
public int Game_Training_BigNumber_Width = 20;
#endregion
#region AIBattle
public int Game_AIBattle_CharaMove = 71;
public int[] Game_AIBattle_SectionTime_Panel = new int[] { 202, 178 };
public int[] Game_AIBattle_SectionTime_Bar = new int[] { 205, 193 };

View File

@ -1035,6 +1035,7 @@ namespace TJAPlayer3
TJAPlayer3.Skin.Characters_Menu_Start_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
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][];
@ -1043,6 +1044,8 @@ namespace TJAPlayer3
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_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][];
@ -1382,6 +1385,8 @@ namespace TJAPlayer3
#region [Default values]
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 };
@ -1393,6 +1398,8 @@ namespace TJAPlayer3
TJAPlayer3.Skin.Characters_X[i] = new int[] { 0, 0 };
TJAPlayer3.Skin.Characters_Y[i] = new int[] { 0, 537 };
TJAPlayer3.Skin.Characters_X_AI[i] = new int[] { 472, 602 };
TJAPlayer3.Skin.Characters_Y_AI[i] = new int[] { 42, 42 };
TJAPlayer3.Skin.Characters_Balloon_X[i] = new int[] { 240, 240, 0, 0 };
TJAPlayer3.Skin.Characters_Balloon_Y[i] = new int[] { 0, 297, 0, 0 };
TJAPlayer3.Skin.Characters_Motion_Normal[i] = "0";
@ -1436,6 +1443,14 @@ namespace TJAPlayer3
strCommand = strArray[0].Trim();
strParam = strArray[1].Trim();
if (strCommand == "Chara_Resolution")
{
string[] strSplit = strParam.Split(',');
for (int k = 0; k < 2; k++)
{
TJAPlayer3.Skin.Characters_Resolution[i][k] = int.Parse(strSplit[k]);
}
}
if (strCommand == "Title_Chara_Entry_X")
{
string[] strSplit = strParam.Split(',');
@ -1502,6 +1517,22 @@ namespace TJAPlayer3
TJAPlayer3.Skin.Characters_Y[i][k] = int.Parse(strSplit[k]);
}
}
else if (strCommand == "Game_Chara_X_AI")
{
string[] strSplit = strParam.Split(',');
for (int k = 0; k < 2; k++)
{
TJAPlayer3.Skin.Characters_X_AI[i][k] = int.Parse(strSplit[k]);
}
}
else if (strCommand == "Game_Chara_Y_AI")
{
string[] strSplit = strParam.Split(',');
for (int k = 0; k < 2; k++)
{
TJAPlayer3.Skin.Characters_Y_AI[i][k] = int.Parse(strSplit[k]);
}
}
else if (strCommand == "Game_Chara_Balloon_X")
{
string[] strSplit = strParam.Split(',');

View File

@ -168,6 +168,8 @@ namespace TJAPlayer3
break;
}
CTexture nowChara = null;
if (this.b風船連打中[i] != true && this.bマイどんアクション中[i] != true && CharaAction_Balloon_Delay[i].b終了値に達した)
{
if (!TJAPlayer3.stage演奏ドラム画面.bIsGOGOTIME[i])
@ -178,21 +180,21 @@ namespace TJAPlayer3
{
if (TJAPlayer3.Skin.Characters_Normal_Maxed_Ptn[Character] != 0)
{
TJAPlayer3.Tx.Characters_Normal_Maxed[Character][this.arクリアモーション番号[i][(int)this.ctChara_Clear[i].n現在の値]].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Characters_X[Character][i], TJAPlayer3.Skin.Characters_Y[Character][i]);
nowChara = TJAPlayer3.Tx.Characters_Normal_Maxed[Character][this.arクリアモーション番号[i][(int)this.ctChara_Clear[i].n現在の値]];
}
}
else if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[i] >= 80.0 && TJAPlayer3.Skin.Characters_Normal_Cleared_Ptn[Character] != 0)
{
if (TJAPlayer3.Skin.Characters_Normal_Cleared_Ptn[Character] != 0)
{
TJAPlayer3.Tx.Characters_Normal_Cleared[Character][this.arクリアモーション番号[i][(int)this.ctChara_Clear[i].n現在の値]].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Characters_X[Character][i], TJAPlayer3.Skin.Characters_Y[Character][i]);
nowChara = TJAPlayer3.Tx.Characters_Normal_Cleared[Character][this.arクリアモーション番号[i][(int)this.ctChara_Clear[i].n現在の値]];
}
}
else
{
if (TJAPlayer3.Skin.Characters_Normal_Ptn[Character] != 0)
{
TJAPlayer3.Tx.Characters_Normal[Character][this.arモーション番号[i][(int)this.ctChara_Normal[i].n現在の値]].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Characters_X[Character][i], TJAPlayer3.Skin.Characters_Y[Character][i]);
nowChara = TJAPlayer3.Tx.Characters_Normal[Character][this.arモーション番号[i][(int)this.ctChara_Normal[i].n現在の値]];
}
}
}
@ -200,11 +202,11 @@ namespace TJAPlayer3
{
if (TJAPlayer3.stage演奏ドラム画面.Chara_MissCount[i] < 6 || TJAPlayer3.Skin.Characters_Normal_MissedDown_Ptn[Character] == 0)
{
TJAPlayer3.Tx.Characters_Normal_Missed[Character][this.arMissモーション番号[i][(int)this.ctChara_Miss[i].n現在の値]].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Characters_X[Character][i], TJAPlayer3.Skin.Characters_Y[Character][i]);
nowChara = TJAPlayer3.Tx.Characters_Normal_Missed[Character][this.arMissモーション番号[i][(int)this.ctChara_Miss[i].n現在の値]];
}
else
{
TJAPlayer3.Tx.Characters_Normal_MissedDown[Character][this.arMissDownモーション番号[i][(int)this.ctChara_MissDown[i].n現在の値]].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Characters_X[Character][i], TJAPlayer3.Skin.Characters_Y[Character][i]);
nowChara = TJAPlayer3.Tx.Characters_Normal_MissedDown[Character][this.arMissDownモーション番号[i][(int)this.ctChara_MissDown[i].n現在の値]];
}
}
}
@ -213,12 +215,12 @@ namespace TJAPlayer3
if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[i] >= 100.0 && TJAPlayer3.Skin.Characters_GoGoTime_Maxed_Ptn[Character] != 0)
{
if (TJAPlayer3.Skin.Characters_GoGoTime_Maxed_Ptn[Character] != 0)
TJAPlayer3.Tx.Characters_GoGoTime_Maxed[Character][this.arゴーゴーモーション番号[i][(int)this.ctChara_GoGo[i].n現在の値]].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Characters_X[Character][i], TJAPlayer3.Skin.Characters_Y[Character][i]);
nowChara = TJAPlayer3.Tx.Characters_GoGoTime_Maxed[Character][this.arゴーゴーモーション番号[i][(int)this.ctChara_GoGo[i].n現在の値]];
}
else
{
if (TJAPlayer3.Skin.Characters_GoGoTime_Ptn[Character] != 0)
TJAPlayer3.Tx.Characters_GoGoTime[Character][this.arゴーゴーモーション番号[i][(int)this.ctChara_GoGo[i].n現在の値]].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Characters_X[Character][i], TJAPlayer3.Skin.Characters_Y[Character][i]);
nowChara = TJAPlayer3.Tx.Characters_GoGoTime[Character][this.arゴーゴーモーション番号[i][(int)this.ctChara_GoGo[i].n現在の値]];
}
}
}
@ -229,7 +231,7 @@ namespace TJAPlayer3
{
if (TJAPlayer3.Tx.Characters_10Combo[Character] != null && TJAPlayer3.Skin.Characters_10Combo_Ptn[Character] != 0)
{
TJAPlayer3.Tx.Characters_10Combo[Character][(int)this.ctキャラクターアクション_10コンボ[i].n現在の値].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Characters_X[Character][i], TJAPlayer3.Skin.Characters_Y[Character][i]);
nowChara = TJAPlayer3.Tx.Characters_10Combo[Character][(int)this.ctキャラクターアクション_10コンボ[i].n現在の値];
}
if (this.ctキャラクターアクション_10コンボ[i].b終了値に達した)
{
@ -243,8 +245,8 @@ namespace TJAPlayer3
if (this.ctキャラクターアクション_10コンボMAX[i].b進行中)
{
if (TJAPlayer3.Tx.Characters_10Combo_Maxed[Character] != null && TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn[Character] != 0)
{
TJAPlayer3.Tx.Characters_10Combo_Maxed[Character][(int)this.ctキャラクターアクション_10コンボMAX[i].n現在の値].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Characters_X[Character][i], TJAPlayer3.Skin.Characters_Y[Character][i]);
{
nowChara = TJAPlayer3.Tx.Characters_10Combo_Maxed[Character][(int)this.ctキャラクターアクション_10コンボMAX[i].n現在の値];
}
if (this.ctキャラクターアクション_10コンボMAX[i].b終了値に達した)
{
@ -259,7 +261,7 @@ namespace TJAPlayer3
{
if (TJAPlayer3.Tx.Characters_GoGoStart[Character] != null && TJAPlayer3.Skin.Characters_GoGoStart_Ptn[Character] != 0)
{
TJAPlayer3.Tx.Characters_GoGoStart[Character][(int)this.ctキャラクターアクション_ゴーゴースタート[i].n現在の値].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Characters_X[Character][i], TJAPlayer3.Skin.Characters_Y[Character][i]);
nowChara = TJAPlayer3.Tx.Characters_GoGoStart[Character][(int)this.ctキャラクターアクション_ゴーゴースタート[i].n現在の値];
}
if (this.ctキャラクターアクション_ゴーゴースタート[i].b終了値に達した)
{
@ -274,7 +276,7 @@ namespace TJAPlayer3
{
if (TJAPlayer3.Tx.Characters_GoGoStart_Maxed[Character] != null && TJAPlayer3.Skin.Characters_GoGoStart_Maxed_Ptn[Character] != 0)
{
TJAPlayer3.Tx.Characters_GoGoStart_Maxed[Character][(int)this.ctキャラクターアクション_ゴーゴースタートMAX[i].n現在の値].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Characters_X[Character][i], TJAPlayer3.Skin.Characters_Y[Character][i]);
nowChara = TJAPlayer3.Tx.Characters_GoGoStart_Maxed[Character][(int)this.ctキャラクターアクション_ゴーゴースタートMAX[i].n現在の値];
}
if (this.ctキャラクターアクション_ゴーゴースタートMAX[i].b終了値に達した)
{
@ -289,7 +291,7 @@ namespace TJAPlayer3
{
if (TJAPlayer3.Tx.Characters_Become_Cleared[Character] != null && TJAPlayer3.Skin.Characters_Become_Cleared_Ptn[Character] != 0)
{
TJAPlayer3.Tx.Characters_Become_Cleared[Character][(int)this.ctキャラクターアクション_ルマ[i].n現在の値].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Characters_X[Character][i], TJAPlayer3.Skin.Characters_Y[Character][i]);
nowChara = TJAPlayer3.Tx.Characters_Become_Cleared[Character][(int)this.ctキャラクターアクション_ルマ[i].n現在の値];
}
if (this.ctキャラクターアクション_ルマ[i].b終了値に達した)
{
@ -303,7 +305,7 @@ namespace TJAPlayer3
{
if (TJAPlayer3.Tx.Characters_Become_Maxed[Character] != null && TJAPlayer3.Skin.Characters_Become_Maxed_Ptn[Character] != 0)
{
TJAPlayer3.Tx.Characters_Become_Maxed[Character][(int)this.ctキャラクターアクション_魂MAX[i].n現在の値].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Characters_X[Character][i], TJAPlayer3.Skin.Characters_Y[Character][i]);
nowChara = TJAPlayer3.Tx.Characters_Become_Maxed[Character][(int)this.ctキャラクターアクション_魂MAX[i].n現在の値];
}
if (this.ctキャラクターアクション_魂MAX[i].b終了値に達した)
{
@ -317,7 +319,7 @@ namespace TJAPlayer3
{
if (TJAPlayer3.Tx.Characters_Return[Character] != null && TJAPlayer3.Skin.Characters_Return_Ptn[Character] != 0)
{
TJAPlayer3.Tx.Characters_Return[Character][(int)this.ctキャラクターアクション_Return[i].n現在の値].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Characters_X[Character][i], TJAPlayer3.Skin.Characters_Y[Character][i]);
nowChara = TJAPlayer3.Tx.Characters_Return[Character][(int)this.ctキャラクターアクション_Return[i].n現在の値];
}
if (this.ctキャラクターアクション_Return[i].b終了値に達した)
{
@ -326,7 +328,66 @@ namespace TJAPlayer3
this.ctキャラクターアクション_Return[i].n現在の値 = 0;
}
}
}
float chara_x;
float chara_y;
float charaScale = 1.0f;
if (TJAPlayer3.ConfigIni.bAIBattleMode)
{
chara_x = TJAPlayer3.Skin.Characters_X_AI[Character][i];
chara_y = TJAPlayer3.Skin.Characters_Y_AI[Character][i];
if (nowChara != null)
{
charaScale = 0.58f;
}
}
else
{
chara_x = TJAPlayer3.Skin.Characters_X[Character][i];
chara_y = TJAPlayer3.Skin.Characters_Y[Character][i];
if (nowChara != null)
{
charaScale = 1.0f;
}
}
if (nowChara != null)
{
bool flipX = TJAPlayer3.ConfigIni.bAIBattleMode ? (i == 1) : false;
float resolutionScaleX = TJAPlayer3.Skin.Resolution[0] / (float)TJAPlayer3.Skin.Characters_Resolution[Character][0];
float resolutionScaleY = TJAPlayer3.Skin.Resolution[1] / (float)TJAPlayer3.Skin.Characters_Resolution[Character][1];
charaScale *= resolutionScaleY;
chara_x *= resolutionScaleX;
chara_y *= resolutionScaleY;
if (TJAPlayer3.ConfigIni.bAIBattleMode)
{
chara_x += TJAPlayer3.Skin.Game_AIBattle_CharaMove * TJAPlayer3.stage演奏ドラム画面.AIBattleState;
}
nowChara.vc拡大縮小倍率.X = charaScale;
nowChara.vc拡大縮小倍率.Y = charaScale;
if (flipX)
{
nowChara.t2D左右反転描画(TJAPlayer3.app.Device, chara_x, chara_y);
}
else
{
nowChara.t2D描画(TJAPlayer3.app.Device, chara_x, chara_y);
}
nowChara.vc拡大縮小倍率.X = 1.0f;
nowChara.vc拡大縮小倍率.Y = 1.0f;
}
if (this.b風船連打中[i] != true && CharaAction_Balloon_Delay[i].b終了値に達した)
{
TJAPlayer3.stage演奏ドラム画面.PuchiChara.On進行描画(TJAPlayer3.Skin.Game_PuchiChara_X[i], TJAPlayer3.Skin.Game_PuchiChara_Y[i], TJAPlayer3.stage演奏ドラム画面.bIsAlreadyMaxed[i], player : i);

View File

@ -1,9 +1,18 @@
Chara_Resolution=1280,720
;キャラのX座標。(1P,2P)
Game_Chara_X=0,0
;キャラのY座標。(1P,2P)
Game_Chara_Y=0,537
;キャラのX座標。(1P,2P)
Game_Chara_X_AI=472,602
;キャラのY座標。(1P,2P)
Game_Chara_Y_AI=42,42
;キャラの通常時モーション指定。(カンマ区切り)
Game_Chara_Motion_Normal=0

View File

@ -401,6 +401,7 @@ Game_Training_SmallNumber_Width=26
Game_Training_BigNumber_Width=20
Game_AIBattle_CharaMove=71
Game_AIBattle_SectionTime_Panel=202,178