This commit is contained in:
2025-05-27 21:24:22 +08:00
parent e1528c41bb
commit d71fc5c822
126 changed files with 11382 additions and 1202 deletions

View File

@@ -62,8 +62,8 @@ class Rindro_Animation {
foreach(FrameObj in FrameList) {
//如果有附加处理 格式化
if (AdditionalOptions && AdditionalOptions.rawin("ImgFormat")) FrameObj.Img_Path = AdditionalOptions["ImgFormat"](FrameObj.Img_Path);
local Png = Rindro_Image.Load(FrameObj.Img_Path).GetPng(FrameObj.Img_Index);
Png.Draw(-500, -500);
local Png = Rindro_Image.Load(FrameObj.Img_Path);
// Png.Draw(-500, -500);
//如果有附加处理 坐标
if (AdditionalOptions && AdditionalOptions.rawin("Pos")) {
@@ -75,7 +75,22 @@ class Rindro_Animation {
PngList.append(Png);
}
} else {
error("创建Ani失败,找不到Ani数据");
AnimationFlag = {};
FrameList.append({
AttackBox = [],
DamageBox = [],
Delay = 800,
Flag = {},
Img_Index = 0,
Img_Path = "",
Pos = {
x = -248,
y = -331
}
})
// print(Data);
// print("创建Ani失败,找不到Ani数据");
}
}
@@ -92,6 +107,7 @@ class Rindro_Animation {
}
function FlushFrame(Index) {
if (PngList.len() <= 0) return;
//同步当前帧
CurrentFrameIndex = Index;
//当前帧更换为本帧
@@ -110,13 +126,12 @@ class Rindro_Animation {
//绘制
function DrawFrame(X, Y) {
// local NowDrawPng = CurrentFrame;
local FrameObj = FrameList[CurrentFrameIndex];
//线性减淡
if ("GRAPHIC_EFFECT_LINEARDODGE" in FrameObj.Flag) {
L_sq_SetDrawImgModel(2, 0);
}
// local NowDrawPng = CurrentFrame;
if (FrameList.len() <= 0) return;
local FrameObj = FrameList[CurrentFrameIndex];
// printT(FrameObj);
//坐标偏移
local XOffset = FrameObj.Pos.x;
@@ -138,8 +153,17 @@ class Rindro_Animation {
YRate = Fbuf.y;
}
if (CurrentFrame) CurrentFrame.DrawEx(X + XOffset, Y + YOffset, Angle, RGBA, XRate, YRate);
L_sq_ReleaseDrawImgModel();
//线性减淡
if ("GRAPHIC_EFFECT_LINEARDODGE" in FrameObj.Flag) {
L_sq_SetDrawImgModel(2, 0);
}
if (CurrentFrame) CurrentFrame.DrawExPng(FrameObj.Img_Index, X + XOffset, Y + YOffset, Angle, RGBA, XRate, YRate);
//线性减淡
if ("GRAPHIC_EFFECT_LINEARDODGE" in FrameObj.Flag) {
L_sq_ReleaseDrawImgModel();
}
}
@@ -172,6 +196,14 @@ class Rindro_Animation {
}
}
}
function DrawIndex(X, Y, Index) {
// return;
if (IsUsability) {
FlushFrame(Index);
DrawFrame(X, Y);
}
}
}
@@ -246,6 +278,65 @@ class Rindro_Draw_Character {
},
];
ENUM_RINDRO_JOB_FACE_HEIGHT = [
//男鬼剑士
{
x = 11,
y = 111
},
//女格斗
{
x = 9,
y = 103
},
//男神枪手
{
x = 13,
y = 131
},
//女魔法师
{
x = 14,
y = 87
},
//男圣职者
{
x = 16,
y = 126
},
//女神枪手
{
x = 11,
y = 119
},
//女暗夜使者
{
x = 12,
y = 115
},
//男格斗家
{
x = 13,
y = 119
},
//男魔法师
{
x = 13,
y = 101
},
//黑暗武士
{
x = -42,
y = -154
},
//缔造者
{
x = -46,
y = -126
},
];
//获取角色AniBy装备
function GetCharacAniByEqu(Job, Equ, AniName) {
@@ -379,8 +470,15 @@ class Rindro_Draw_Character {
L_sq_DrawCode(Name, 44 + X + ENUM_RINDRO_JOB_TITLE_HEIGHT[Job].x - (LenheartTextClass.GetStringLength(Name) / 2), Y + ENUM_RINDRO_JOB_TITLE_HEIGHT[Job].y + 24, sq_RGBA(255, 255, 255, 250), 1, 1);
}
}
}
function DrawFace(X, Y) {
setClip(X, Y, X + 22, Y + 18); //开始裁切
foreach(AniInfo in DrawInfo) {
AniInfo.Ani.DrawIndex(X + ENUM_RINDRO_JOB_FACE_HEIGHT[Job].x, Y + ENUM_RINDRO_JOB_FACE_HEIGHT[Job].y, 0);
}
releaseClip(); //裁切结束
}
}
//鬼剑士
//601580026 101550559
// Sassq <- {};