1
0
mirror of synced 2024-11-28 09:20:53 +01:00

Implement #446 (Diagonal/Vertical rolls)

Remaining are the cool looking SENotes
This commit is contained in:
0auBSQ 2023-05-04 15:32:22 +09:00
parent 91df1fedae
commit 192b49c4e9

View File

@ -393,8 +393,12 @@ namespace TJAPlayer3
int rollOrigin = (TJAPlayer3.Skin.Game_Notes_Size[0] * 5);
var theta = 0;// -Math.Atan2(chip.dbSCROLL_Y, chip.dbSCROLL);
var dist = Math.Sqrt(Math.Pow(x末端 - x, 2) + Math.Pow(y末端 - y, 2));
var theta = -Math.Atan2(chip.dbSCROLL_Y, chip.dbSCROLL);
// Temporary patch for odd math bug, to fix later
if (theta == 0)
theta = 0.00000000001;
var dist = Math.Sqrt(Math.Pow(x末端 - x, 2) + Math.Pow(y末端 - y, 2)) + 1;
var div = dist / image_size;
var odiv = (index - _adjust + _adjust + 1) / TJAPlayer3.Skin.Game_Notes_Size[0];
@ -406,20 +410,29 @@ namespace TJAPlayer3
// Body
TJAPlayer3.Tx.Notes[(int)_gt].vc拡大縮小倍率.X = (float)div;
TJAPlayer3.Tx.Notes[(int)_gt].fZ軸中心回転 = (float)theta;
var _x0 = x + _adjust;
var _y0 = y + 0f;
//var _x0 = x + _adjust;
//var _y0 = y + 0f;
//var _center_x = x + image_size;
//var _center_y = _adjust + (y + y末端) / 2;
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画(TJAPlayer3.app.Device, _x0, _y0, new Rectangle(rollOrigin + TJAPlayer3.Skin.Game_Notes_Size[0] + _offset, 0, TJAPlayer3.Skin.Game_Notes_Size[0], TJAPlayer3.Skin.Game_Notes_Size[1]));
//TJAPlayer3.Tx.Notes[(int)_gt].t2D中心基準描画(TJAPlayer3.app.Device, (int)_center_x, (int)_center_y, new Rectangle(rollOrigin + TJAPlayer3.Skin.Game_Notes_Size[0] + _offset, 0, TJAPlayer3.Skin.Game_Notes_Size[0], TJAPlayer3.Skin.Game_Notes_Size[1]));
var _center_x = (x + x末端 + image_size) / 2;
var _center_y = _adjust + (y + y末端) / 2;
//TJAPlayer3.Tx.Notes[(int)_gt].t2D描画(TJAPlayer3.app.Device, _x0, _y0, new Rectangle(rollOrigin + TJAPlayer3.Skin.Game_Notes_Size[0] + _offset, 0, TJAPlayer3.Skin.Game_Notes_Size[0], TJAPlayer3.Skin.Game_Notes_Size[1]));
TJAPlayer3.Tx.Notes[(int)_gt].t2D中心基準描画(TJAPlayer3.app.Device, (int)_center_x, (int)_center_y, new Rectangle(rollOrigin + TJAPlayer3.Skin.Game_Notes_Size[0] + _offset, 0, TJAPlayer3.Skin.Game_Notes_Size[0], TJAPlayer3.Skin.Game_Notes_Size[1]));
//t2D拡大率考慮中央基準描画 t2D中心基準描画
// Tail
TJAPlayer3.Tx.Notes[(int)_gt].vc拡大縮小倍率.X = 1.0f;
_x0 = x末端 + _adjust;
_y0 = y末端 + 0f;
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画(TJAPlayer3.app.Device, (int)_x0, (int)_y0, 0, new Rectangle(rollOrigin + (TJAPlayer3.Skin.Game_Notes_Size[0] * 2) + _offset, frame, TJAPlayer3.Skin.Game_Notes_Size[0], TJAPlayer3.Skin.Game_Notes_Size[1]));
//var _x0 = x末端 + _adjust;
//var _y0 = y末端 + 0f;
var _d = _adjust;
var x1 = x + _adjust;
var y1 = y + _adjust;
var x2 = x末端 + _adjust;
var y2 = y末端 + _adjust;
var _xc = x2 + (x2 - x1) * _d / dist;
var _yc = y2 + (y2 - y1) * _d / dist;
//TJAPlayer3.Tx.Notes[(int)_gt].t2D描画(TJAPlayer3.app.Device, (int)_x0, (int)_y0, 0, new Rectangle(rollOrigin + (TJAPlayer3.Skin.Game_Notes_Size[0] * 2) + _offset, frame, TJAPlayer3.Skin.Game_Notes_Size[0], TJAPlayer3.Skin.Game_Notes_Size[1]));
TJAPlayer3.Tx.Notes[(int)_gt].t2D中心基準描画(TJAPlayer3.app.Device, (int)_xc, (int)_yc, 0, new Rectangle(rollOrigin + (TJAPlayer3.Skin.Game_Notes_Size[0] * 2) + _offset, frame, TJAPlayer3.Skin.Game_Notes_Size[0], TJAPlayer3.Skin.Game_Notes_Size[1]));
TJAPlayer3.Tx.Notes[(int)_gt].fZ軸中心回転 = 0;