parent
78c90419e5
commit
d85f3432f8
Binary file not shown.
After Width: | Height: | Size: 9.1 KiB |
@ -0,0 +1,96 @@
|
|||||||
|
--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 debug_counter = 0
|
||||||
|
|
||||||
|
local mob_x = 0
|
||||||
|
local mob_y = 0
|
||||||
|
local mob_height = 0
|
||||||
|
local mob_counter = 0
|
||||||
|
local mob_in_counter = 0
|
||||||
|
local mob_out_counter = 0
|
||||||
|
|
||||||
|
local mob_state = 0
|
||||||
|
|
||||||
|
function mobIn()
|
||||||
|
mob_state = 1
|
||||||
|
mob_in_counter = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function mobOut()
|
||||||
|
mob_state = 2
|
||||||
|
mob_out_counter = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function init()
|
||||||
|
func:AddGraph("Mob.png")
|
||||||
|
mob_height = func:GetTextureHeight("Mob.png")
|
||||||
|
end
|
||||||
|
|
||||||
|
function update()
|
||||||
|
|
||||||
|
--debug_counter = debug_counter + (deltaTime)
|
||||||
|
|
||||||
|
--if debug_counter > 2 then
|
||||||
|
-- if mob_state == 0 then
|
||||||
|
-- mobIn()
|
||||||
|
-- else
|
||||||
|
-- mobOut()
|
||||||
|
-- end
|
||||||
|
-- debug_counter = 0
|
||||||
|
--end
|
||||||
|
|
||||||
|
mob_counter = mob_counter + (bpm[0] * deltaTime / 60.0)
|
||||||
|
if mob_counter > 1 then
|
||||||
|
mob_counter = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
mob_y = 1080 + ((1.0 - math.sin(mob_counter * math.pi)) * 105)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if mob_state == 3 and gauge[0] == 100 then
|
||||||
|
mobOut()
|
||||||
|
end
|
||||||
|
|
||||||
|
if mob_state == 0 then
|
||||||
|
|
||||||
|
if gauge[0] == 100 then
|
||||||
|
mobIn()
|
||||||
|
end
|
||||||
|
|
||||||
|
elseif mob_state == 1 then
|
||||||
|
|
||||||
|
mob_in_counter = mob_in_counter + (5 * deltaTime)
|
||||||
|
if mob_in_counter > 1 then
|
||||||
|
mob_state = 3
|
||||||
|
end
|
||||||
|
|
||||||
|
mob_y = mob_y + (540 * (1.0 - math.sin(mob_in_counter * math.pi / 2)))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
elseif mob_state == 2 then
|
||||||
|
|
||||||
|
mob_out_counter = mob_out_counter + (5 * deltaTime)
|
||||||
|
if mob_out_counter > 1 then
|
||||||
|
mob_state = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
mob_y = mob_y + (540 * (1 - math.cos(mob_out_counter * math.pi)))
|
||||||
|
|
||||||
|
elseif mob_state == 3 then
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function draw()
|
||||||
|
if mob_state == 0 then
|
||||||
|
else
|
||||||
|
func:DrawGraph(mob_x, mob_y - mob_height, "Mob.png")
|
||||||
|
end
|
||||||
|
end
|
BIN
OpenTaiko/System/SimpleStyle/Graphics/5_Game/3_Mob/0/Mob.png
Normal file
BIN
OpenTaiko/System/SimpleStyle/Graphics/5_Game/3_Mob/0/Mob.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.1 KiB |
@ -0,0 +1,96 @@
|
|||||||
|
--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 debug_counter = 0
|
||||||
|
|
||||||
|
local mob_x = 0
|
||||||
|
local mob_y = 0
|
||||||
|
local mob_height = 0
|
||||||
|
local mob_counter = 0
|
||||||
|
local mob_in_counter = 0
|
||||||
|
local mob_out_counter = 0
|
||||||
|
|
||||||
|
local mob_state = 0
|
||||||
|
|
||||||
|
function mobIn()
|
||||||
|
mob_state = 1
|
||||||
|
mob_in_counter = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function mobOut()
|
||||||
|
mob_state = 2
|
||||||
|
mob_out_counter = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function init()
|
||||||
|
func:AddGraph("Mob.png")
|
||||||
|
mob_height = func:GetTextureHeight("Mob.png")
|
||||||
|
end
|
||||||
|
|
||||||
|
function update()
|
||||||
|
|
||||||
|
--debug_counter = debug_counter + (deltaTime)
|
||||||
|
|
||||||
|
--if debug_counter > 2 then
|
||||||
|
-- if mob_state == 0 then
|
||||||
|
-- mobIn()
|
||||||
|
-- else
|
||||||
|
-- mobOut()
|
||||||
|
-- end
|
||||||
|
-- debug_counter = 0
|
||||||
|
--end
|
||||||
|
|
||||||
|
mob_counter = mob_counter + (bpm[0] * deltaTime / 60.0)
|
||||||
|
if mob_counter > 1 then
|
||||||
|
mob_counter = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
mob_y = 720 + ((1.0 - math.sin(mob_counter * math.pi)) * 70)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if mob_state == 3 and gauge[0] == 100 then
|
||||||
|
mobOut()
|
||||||
|
end
|
||||||
|
|
||||||
|
if mob_state == 0 then
|
||||||
|
|
||||||
|
if gauge[0] == 100 then
|
||||||
|
mobIn()
|
||||||
|
end
|
||||||
|
|
||||||
|
elseif mob_state == 1 then
|
||||||
|
|
||||||
|
mob_in_counter = mob_in_counter + (5 * deltaTime)
|
||||||
|
if mob_in_counter > 1 then
|
||||||
|
mob_state = 3
|
||||||
|
end
|
||||||
|
|
||||||
|
mob_y = mob_y + (360 * (1.0 - math.sin(mob_in_counter * math.pi / 2)))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
elseif mob_state == 2 then
|
||||||
|
|
||||||
|
mob_out_counter = mob_out_counter + (5 * deltaTime)
|
||||||
|
if mob_out_counter > 1 then
|
||||||
|
mob_state = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
mob_y = mob_y + (360 * (1 - math.cos(mob_out_counter * math.pi)))
|
||||||
|
|
||||||
|
elseif mob_state == 3 then
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function draw()
|
||||||
|
if mob_state == 0 then
|
||||||
|
else
|
||||||
|
func:DrawGraph(mob_x, mob_y - mob_height, "Mob.png")
|
||||||
|
end
|
||||||
|
end
|
BIN
OpenTaiko/System/SimpleStyle/Graphics/5_Game/7_Gauge/Clear.png
Normal file
BIN
OpenTaiko/System/SimpleStyle/Graphics/5_Game/7_Gauge/Clear.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.4 KiB |
Binary file not shown.
After Width: | Height: | Size: 6.4 KiB |
Binary file not shown.
After Width: | Height: | Size: 609 B |
@ -5321,6 +5321,11 @@ namespace TJAPlayer3
|
|||||||
this.actPanel.t歌詞テクスチャを削除する();
|
this.actPanel.t歌詞テクスチャを削除する();
|
||||||
for (int i = 0; i < 5; i++)
|
for (int i = 0; i < 5; i++)
|
||||||
{
|
{
|
||||||
|
if (bIsAlreadyCleared[i])
|
||||||
|
{
|
||||||
|
TJAPlayer3.stage演奏ドラム画面.actBackground.ClearOut(i);
|
||||||
|
}
|
||||||
|
|
||||||
this.t演奏位置の変更(0, i);
|
this.t演奏位置の変更(0, i);
|
||||||
this.actPlayInfo.NowMeasure[i] = 0;
|
this.actPlayInfo.NowMeasure[i] = 0;
|
||||||
JPOSCROLLX[i] = 0;
|
JPOSCROLLX[i] = 0;
|
||||||
|
@ -28,7 +28,15 @@ namespace TJAPlayer3
|
|||||||
var preset = HScenePreset.GetBGPreset();
|
var preset = HScenePreset.GetBGPreset();
|
||||||
|
|
||||||
Random random = new Random();
|
Random random = new Random();
|
||||||
|
|
||||||
|
Dancer_In = new CTexture[5][];
|
||||||
|
Dancer_Out = new CTexture[5][];
|
||||||
Dancer = new CTexture[5][];
|
Dancer = new CTexture[5][];
|
||||||
|
DancerStates = new int[5];
|
||||||
|
nNowDancerInCounter = new float[5];
|
||||||
|
nNowDancerOutCounter = new float[5];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var dancerOrigindir = CSkin.Path($"{TextureLoader.BASE}{TextureLoader.GAME}{TextureLoader.DANCER}");
|
var dancerOrigindir = CSkin.Path($"{TextureLoader.BASE}{TextureLoader.GAME}{TextureLoader.DANCER}");
|
||||||
if (System.IO.Directory.Exists($@"{dancerOrigindir}"))
|
if (System.IO.Directory.Exists($@"{dancerOrigindir}"))
|
||||||
@ -43,10 +51,43 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
LoadDancerConifg(path);
|
LoadDancerConifg(path);
|
||||||
|
|
||||||
|
Dancer_In = new CTexture[nDancerCount][];
|
||||||
|
Dancer_Out = new CTexture[nDancerCount][];
|
||||||
|
Dancer = new CTexture[nDancerCount][];
|
||||||
|
DancerStates = new int[nDancerCount];
|
||||||
|
nNowDancerInCounter = new float[nDancerCount];
|
||||||
|
nNowDancerOutCounter = new float[nDancerCount];
|
||||||
|
|
||||||
|
nDancerInPtn = TJAPlayer3.t連番画像の枚数を数える($@"{path}{Path.DirectorySeparatorChar}1_In{Path.DirectorySeparatorChar}");
|
||||||
|
if (nDancerInPtn != 0)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < nDancerCount; i++)
|
||||||
|
{
|
||||||
|
Dancer_In[i] = new CTexture[nDancerInPtn];
|
||||||
|
for (int p = 0; p < nDancerInPtn; p++)
|
||||||
|
{
|
||||||
|
Dancer_In[i][p] = TJAPlayer3.tテクスチャの生成($@"{path}{Path.DirectorySeparatorChar}{(i + 1)}_In{Path.DirectorySeparatorChar}{p}.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
nDancerOutPtn = TJAPlayer3.t連番画像の枚数を数える($@"{path}{Path.DirectorySeparatorChar}1_Out{Path.DirectorySeparatorChar}");
|
||||||
|
if (nDancerOutPtn != 0)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < nDancerCount; i++)
|
||||||
|
{
|
||||||
|
Dancer_Out[i] = new CTexture[nDancerOutPtn];
|
||||||
|
for (int p = 0; p < nDancerOutPtn; p++)
|
||||||
|
{
|
||||||
|
Dancer_Out[i][p] = TJAPlayer3.tテクスチャの生成($@"{path}{Path.DirectorySeparatorChar}{(i + 1)}_Out{Path.DirectorySeparatorChar}{p}.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
nDancerPtn = TJAPlayer3.t連番画像の枚数を数える($@"{path}{Path.DirectorySeparatorChar}1{Path.DirectorySeparatorChar}");
|
nDancerPtn = TJAPlayer3.t連番画像の枚数を数える($@"{path}{Path.DirectorySeparatorChar}1{Path.DirectorySeparatorChar}");
|
||||||
if (nDancerPtn != 0)
|
if (nDancerPtn != 0)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 5; i++)
|
for (int i = 0; i < nDancerCount; i++)
|
||||||
{
|
{
|
||||||
Dancer[i] = new CTexture[nDancerPtn];
|
Dancer[i] = new CTexture[nDancerPtn];
|
||||||
for (int p = 0; p < nDancerPtn; p++)
|
for (int p = 0; p < nDancerPtn; p++)
|
||||||
@ -58,6 +99,12 @@ namespace TJAPlayer3
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
arMotionArray_In = CConversion.StringToIntArray(Game_Dancer_In_Motion);
|
||||||
|
if(this.arMotionArray_In == null) arMotionArray_In = CConversion.StringToIntArray("0,0");
|
||||||
|
|
||||||
|
arMotionArray_Out = CConversion.StringToIntArray(Game_Dancer_Out_Motion);
|
||||||
|
if(this.arMotionArray_Out == null) arMotionArray_Out = CConversion.StringToIntArray("0,0");
|
||||||
|
|
||||||
this.ar踊り子モーション番号 = CConversion.StringToIntArray(TJAPlayer3.Skin.Game_Dancer_Motion);
|
this.ar踊り子モーション番号 = CConversion.StringToIntArray(TJAPlayer3.Skin.Game_Dancer_Motion);
|
||||||
if(this.ar踊り子モーション番号 == null) ar踊り子モーション番号 = CConversion.StringToIntArray("0,0");
|
if(this.ar踊り子モーション番号 == null) ar踊り子モーション番号 = CConversion.StringToIntArray("0,0");
|
||||||
|
|
||||||
@ -74,8 +121,10 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
//this.ct踊り子モーション = null;
|
//this.ct踊り子モーション = null;
|
||||||
|
|
||||||
for (int i = 0; i < 5; i++)
|
for (int i = 0; i < nDancerCount; i++)
|
||||||
{
|
{
|
||||||
|
TJAPlayer3.t安全にDisposeする(ref Dancer_In[i]);
|
||||||
|
TJAPlayer3.t安全にDisposeする(ref Dancer_Out[i]);
|
||||||
TJAPlayer3.t安全にDisposeする(ref Dancer[i]);
|
TJAPlayer3.t安全にDisposeする(ref Dancer[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,22 +152,91 @@ namespace TJAPlayer3
|
|||||||
{
|
{
|
||||||
if (TJAPlayer3.ConfigIni.ShowDancer && (this.ar踊り子モーション番号.Length - 1) != 0)
|
if (TJAPlayer3.ConfigIni.ShowDancer && (this.ar踊り子モーション番号.Length - 1) != 0)
|
||||||
{
|
{
|
||||||
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) nNowDancerCounter += (Math.Abs((float)TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] / 60.0f) * (float)TJAPlayer3.FPS.DeltaTime) * (this.ar踊り子モーション番号.Length - 1) / nDancerBeat;
|
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) nNowDancerCounter += Math.Abs((float)TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] / 60.0f) * (float)TJAPlayer3.FPS.DeltaTime / nDancerBeat;
|
||||||
nNowDancerFrame = (int)nNowDancerCounter;
|
if (nNowDancerCounter >= 1)
|
||||||
nNowDancerFrame = Math.Min(nNowDancerFrame, (this.ar踊り子モーション番号.Length - 1));
|
|
||||||
bool endAnime = nNowDancerFrame >= (this.ar踊り子モーション番号.Length - 1) - 1;
|
|
||||||
|
|
||||||
if (endAnime)
|
|
||||||
{
|
{
|
||||||
nNowDancerCounter = 0;
|
nNowDancerCounter = 0;
|
||||||
nNowDancerFrame = 0;
|
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 5; i++)
|
nNowDancerFrame = (int)(nNowDancerCounter * (this.ar踊り子モーション番号.Length - 1));
|
||||||
|
|
||||||
|
for (int i = 0; i < nDancerCount; i++)
|
||||||
{
|
{
|
||||||
if (this.Dancer[i] != null && this.Dancer[i][this.ar踊り子モーション番号[nNowDancerFrame]] != null)
|
if ((int)TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[0] >= TJAPlayer3.Skin.Game_Dancer_Gauge[i])
|
||||||
{
|
{
|
||||||
if ((int)TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[0] >= TJAPlayer3.Skin.Game_Dancer_Gauge[i])
|
if (DancerStates[i] == 0)
|
||||||
|
{
|
||||||
|
DancerStates[i] = 1;
|
||||||
|
nNowDancerInCounter[i] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (DancerStates[i] == 3)
|
||||||
|
{
|
||||||
|
DancerStates[i] = 2;
|
||||||
|
nNowDancerOutCounter[i] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
switch(DancerStates[i])
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
{
|
||||||
|
if (nDancerInInterval == 0)
|
||||||
|
{
|
||||||
|
DancerStates[i] = 3;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) nNowDancerInCounter[i] += Math.Abs((float)TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] / nDancerInInterval) * (float)TJAPlayer3.FPS.DeltaTime;
|
||||||
|
|
||||||
|
if (nNowDancerInCounter[i] >= 1)
|
||||||
|
{
|
||||||
|
nNowDancerInCounter[i] = 1;
|
||||||
|
DancerStates[i] = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
int frame = (int)(nNowDancerInCounter[i] * (this.arMotionArray_In.Length - 1));
|
||||||
|
if (this.Dancer_In[i] != null && this.Dancer_In[i].Length > 0 && this.Dancer_In[i][this.arMotionArray_In[frame]] != null)
|
||||||
|
{
|
||||||
|
this.Dancer_In[i][this.arMotionArray_In[frame]].t2D中心基準描画(TJAPlayer3.Skin.Game_Dancer_X[i], TJAPlayer3.Skin.Game_Dancer_Y[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
{
|
||||||
|
if (nDancerOutInterval == 0)
|
||||||
|
{
|
||||||
|
DancerStates[i] = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) nNowDancerOutCounter[i] += Math.Abs((float)TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] / nDancerOutInterval) * (float)TJAPlayer3.FPS.DeltaTime;
|
||||||
|
|
||||||
|
if (nNowDancerOutCounter[i] >= 1)
|
||||||
|
{
|
||||||
|
nNowDancerOutCounter[i] = 1;
|
||||||
|
DancerStates[i] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int frame = (int)(nNowDancerOutCounter[i] * (this.arMotionArray_Out.Length - 1));
|
||||||
|
if (this.Dancer_Out[i] != null && this.Dancer_Out[i].Length > 0 && this.Dancer_Out[i][this.arMotionArray_Out[frame]] != null)
|
||||||
|
{
|
||||||
|
this.Dancer_Out[i][this.arMotionArray_Out[frame]].t2D中心基準描画(TJAPlayer3.Skin.Game_Dancer_X[i], TJAPlayer3.Skin.Game_Dancer_Y[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
if (this.Dancer[i] != null && this.Dancer[i].Length > 0 && this.Dancer[i][this.ar踊り子モーション番号[nNowDancerFrame]] != null)
|
||||||
|
{
|
||||||
this.Dancer[i][this.ar踊り子モーション番号[nNowDancerFrame]].t2D中心基準描画(TJAPlayer3.Skin.Game_Dancer_X[i], TJAPlayer3.Skin.Game_Dancer_Y[i]);
|
this.Dancer[i][this.ar踊り子モーション番号[nNowDancerFrame]].t2D中心基準描画(TJAPlayer3.Skin.Game_Dancer_X[i], TJAPlayer3.Skin.Game_Dancer_Y[i]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -129,13 +247,27 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
#region[ private ]
|
#region[ private ]
|
||||||
//-----------------
|
//-----------------
|
||||||
|
private int nDancerCount;
|
||||||
|
private float[] nNowDancerInCounter;
|
||||||
|
private float[] nNowDancerOutCounter;
|
||||||
private float nNowDancerCounter;
|
private float nNowDancerCounter;
|
||||||
private int nNowDancerFrame;
|
private int nNowDancerFrame;
|
||||||
|
private int nDancerInPtn;
|
||||||
|
private int nDancerOutPtn;
|
||||||
private int nDancerPtn;
|
private int nDancerPtn;
|
||||||
private float nDancerBeat;
|
private float nDancerBeat;
|
||||||
|
private float nDancerInInterval;
|
||||||
|
private float nDancerOutInterval;
|
||||||
|
private int[] arMotionArray_In;
|
||||||
|
private int[] arMotionArray_Out;
|
||||||
private int[] ar踊り子モーション番号;
|
private int[] ar踊り子モーション番号;
|
||||||
//public CCounter ct踊り子モーション;
|
//public CCounter ct踊り子モーション;
|
||||||
|
private CTexture[][] Dancer_In;
|
||||||
|
private CTexture[][] Dancer_Out;
|
||||||
private CTexture[][] Dancer;
|
private CTexture[][] Dancer;
|
||||||
|
private int[] DancerStates;
|
||||||
|
private string Game_Dancer_In_Motion;
|
||||||
|
private string Game_Dancer_Out_Motion;
|
||||||
|
|
||||||
private void LoadDancerConifg(string dancerPath)
|
private void LoadDancerConifg(string dancerPath)
|
||||||
{
|
{
|
||||||
@ -147,6 +279,9 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
TJAPlayer3.Skin.Game_Dancer_X = new int[] { 640, 430, 856, 215, 1070 };
|
TJAPlayer3.Skin.Game_Dancer_X = new int[] { 640, 430, 856, 215, 1070 };
|
||||||
TJAPlayer3.Skin.Game_Dancer_Y = new int[] { 500, 500, 500, 500, 500 };
|
TJAPlayer3.Skin.Game_Dancer_Y = new int[] { 500, 500, 500, 500, 500 };
|
||||||
|
nDancerCount = 5;
|
||||||
|
nDancerInInterval = 0;
|
||||||
|
nDancerOutInterval = 0;
|
||||||
|
|
||||||
foreach (string s in strSingleLine)
|
foreach (string s in strSingleLine)
|
||||||
{
|
{
|
||||||
@ -164,10 +299,16 @@ namespace TJAPlayer3
|
|||||||
strCommand = strArray[0].Trim();
|
strCommand = strArray[0].Trim();
|
||||||
strParam = strArray[1].Trim();
|
strParam = strArray[1].Trim();
|
||||||
|
|
||||||
if (strCommand == "Game_Dancer_X")
|
if (strCommand == "Game_Dancer_Count")
|
||||||
|
{
|
||||||
|
nDancerCount = int.Parse(strParam);
|
||||||
|
TJAPlayer3.Skin.Game_Dancer_X = new int[nDancerCount];
|
||||||
|
TJAPlayer3.Skin.Game_Dancer_Y = new int[nDancerCount];
|
||||||
|
}
|
||||||
|
else if (strCommand == "Game_Dancer_X")
|
||||||
{
|
{
|
||||||
string[] strSplit = strParam.Split(',');
|
string[] strSplit = strParam.Split(',');
|
||||||
for (int i = 0; i < 5; i++)
|
for (int i = 0; i < nDancerCount; i++)
|
||||||
{
|
{
|
||||||
TJAPlayer3.Skin.Game_Dancer_X[i] = int.Parse(strSplit[i]);
|
TJAPlayer3.Skin.Game_Dancer_X[i] = int.Parse(strSplit[i]);
|
||||||
}
|
}
|
||||||
@ -175,7 +316,7 @@ namespace TJAPlayer3
|
|||||||
else if (strCommand == "Game_Dancer_Y")
|
else if (strCommand == "Game_Dancer_Y")
|
||||||
{
|
{
|
||||||
string[] strSplit = strParam.Split(',');
|
string[] strSplit = strParam.Split(',');
|
||||||
for (int i = 0; i < 5; i++)
|
for (int i = 0; i < nDancerCount; i++)
|
||||||
{
|
{
|
||||||
TJAPlayer3.Skin.Game_Dancer_Y[i] = int.Parse(strSplit[i]);
|
TJAPlayer3.Skin.Game_Dancer_Y[i] = int.Parse(strSplit[i]);
|
||||||
}
|
}
|
||||||
@ -184,15 +325,30 @@ namespace TJAPlayer3
|
|||||||
{
|
{
|
||||||
TJAPlayer3.Skin.Game_Dancer_Motion = strParam;
|
TJAPlayer3.Skin.Game_Dancer_Motion = strParam;
|
||||||
}
|
}
|
||||||
// Game_Dancer_PtnはTextrueLoader.csで反映されます。
|
else if (strCommand == "Game_Dancer_In_Motion")
|
||||||
|
{
|
||||||
|
Game_Dancer_In_Motion = strParam;
|
||||||
|
}
|
||||||
|
else if (strCommand == "Game_Dancer_Out_Motion")
|
||||||
|
{
|
||||||
|
Game_Dancer_Out_Motion = strParam;
|
||||||
|
}
|
||||||
else if (strCommand == "Game_Dancer_Beat")
|
else if (strCommand == "Game_Dancer_Beat")
|
||||||
{
|
{
|
||||||
nDancerBeat = int.Parse(strParam);
|
nDancerBeat = int.Parse(strParam);
|
||||||
}
|
}
|
||||||
|
else if (strCommand == "Game_Dancer_In_Interval")
|
||||||
|
{
|
||||||
|
nDancerInInterval = int.Parse(strParam);
|
||||||
|
}
|
||||||
|
else if (strCommand == "Game_Dancer_Out_Interval")
|
||||||
|
{
|
||||||
|
nDancerOutInterval = int.Parse(strParam);
|
||||||
|
}
|
||||||
else if (strCommand == "Game_Dancer_Gauge")
|
else if (strCommand == "Game_Dancer_Gauge")
|
||||||
{
|
{
|
||||||
string[] strSplit = strParam.Split(',');
|
string[] strSplit = strParam.Split(',');
|
||||||
for (int i = 0; i < 5; i++)
|
for (int i = 0; i < nDancerCount; i++)
|
||||||
{
|
{
|
||||||
TJAPlayer3.Skin.Game_Dancer_Gauge[i] = int.Parse(strSplit[i]);
|
TJAPlayer3.Skin.Game_Dancer_Gauge[i] = int.Parse(strSplit[i]);
|
||||||
}
|
}
|
||||||
|
@ -26,26 +26,25 @@ namespace TJAPlayer3
|
|||||||
{
|
{
|
||||||
Random random = new Random();
|
Random random = new Random();
|
||||||
|
|
||||||
var upDirs = System.IO.Directory.GetFiles(mobDir);
|
var upDirs = System.IO.Directory.GetDirectories(mobDir);
|
||||||
if (upDirs.Length > 0)
|
if (upDirs.Length > 0)
|
||||||
{
|
{
|
||||||
var _presetPath = (preset != null && preset.MobSet != null) ? $@"{mobDir}" + preset.MobSet[random.Next(0, preset.MobSet.Length)] + ".png" : "";
|
var _presetPath = (preset != null && preset.MobSet != null) ? $@"{mobDir}" + preset.MobSet[random.Next(0, preset.MobSet.Length)] : "";
|
||||||
var path = (preset != null && System.IO.File.Exists(_presetPath))
|
var path = (preset != null && System.IO.Directory.Exists(_presetPath))
|
||||||
? _presetPath
|
? _presetPath
|
||||||
: upDirs[random.Next(0, upDirs.Length)];
|
: upDirs[random.Next(0, upDirs.Length)];
|
||||||
|
|
||||||
Mob = TJAPlayer3.tテクスチャの生成(path);
|
MobScript = new ScriptBG($@"{path}{Path.DirectorySeparatorChar}Script.lua");
|
||||||
|
MobScript.Init();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
nMobBeat = TJAPlayer3.Skin.Game_Mob_Beat;
|
|
||||||
|
|
||||||
base.Activate();
|
base.Activate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void DeActivate()
|
public override void DeActivate()
|
||||||
{
|
{
|
||||||
TJAPlayer3.tテクスチャの解放(ref Mob);
|
MobScript?.Dispose();
|
||||||
|
|
||||||
base.DeActivate();
|
base.DeActivate();
|
||||||
}
|
}
|
||||||
@ -66,6 +65,10 @@ namespace TJAPlayer3
|
|||||||
{
|
{
|
||||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Tower && TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan)
|
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Tower && TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan)
|
||||||
{
|
{
|
||||||
|
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) MobScript?.Update();
|
||||||
|
MobScript?.Draw();
|
||||||
|
|
||||||
|
/*
|
||||||
if (HGaugeMethods.UNSAFE_IsRainbow(0))
|
if (HGaugeMethods.UNSAFE_IsRainbow(0))
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -83,16 +86,14 @@ namespace TJAPlayer3
|
|||||||
Mob.t2D描画(0, (TJAPlayer3.Skin.Resolution[1] - (Mob.szテクスチャサイズ.Height - moveHeight)) + -((float)Math.Sin(nNowMobCounter * (Math.PI / 180)) * moveHeight));
|
Mob.t2D描画(0, (TJAPlayer3.Skin.Resolution[1] - (Mob.szテクスチャサイズ.Height - moveHeight)) + -((float)Math.Sin(nNowMobCounter * (Math.PI / 180)) * moveHeight));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return base.Draw();
|
return base.Draw();
|
||||||
}
|
}
|
||||||
#region[ private ]
|
#region[ private ]
|
||||||
//-----------------
|
//-----------------
|
||||||
public CTexture Mob;
|
private ScriptBG MobScript;
|
||||||
private float nNowMobCounter;
|
|
||||||
private float nMobBeat;
|
|
||||||
//-----------------
|
//-----------------
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
@ -116,6 +116,24 @@ namespace TJAPlayer3
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public double GetTextureWidth(string fileName)
|
||||||
|
{
|
||||||
|
if (Textures[fileName] != null)
|
||||||
|
{
|
||||||
|
return Textures[fileName].szテクスチャサイズ.Width;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double GetTextureHeight(string fileName)
|
||||||
|
{
|
||||||
|
if (Textures[fileName] != null)
|
||||||
|
{
|
||||||
|
return Textures[fileName].szテクスチャサイズ.Height;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
class ScriptBG : IDisposable
|
class ScriptBG : IDisposable
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user