Releases: jyanf/Custom_SL
Releases · jyanf/Custom_SL
v2.9.1b
shady-packer 2.9 更新日志
Loader
- 修复了文件夹内文件变更时的自动重载问题
- 调整了加载顺序以支持更多自定义情况
Lua 相关
- 修复了createObject偶然崩溃的 bug
- 新增
memory.new(size)和memory.delete(ptr)内存管理函数 - 修复了custom hook的竞态条件问题
-
开放更多功能:
-
battle.ObjectBase
.center -- Vector2f(中心点坐标).isGui -- boolean(是否作为GUI绘制).skillIndex -- integer(必杀索引).shadowOn -- boolean(阴影开关).shadowOffset -- number(阴影纵向偏移量)
-
battle.Object
.layer -- integer(±1)(图层).gpShort -- integer[6]数组(短整型通用参数).gpFloat -- number[3]数组(浮点型通用参数).customData -- number[?]不定长数组(自定义数据)
-
battle.Player
.gpShort -- integer[6]数组(短整型通用参数).gpFloat -- number[6]数组(浮点型通用参数).teamId/isRight -- integer(1P=0, 2P=1)(左右标识).paletteId -- integer(配色ID).input -- gui.KeyInputLight(实时输入).inputBuffered -- gui.KeyInputLight(缓冲输入)
-
gui.Cursor
.isVisible -- boolean(光标可见性).sfxId -- integer, no_sfx=-1(音效ID,-1表示无音效).max -- integer, const(最大项数,常量).page -- integer, const(当前页码,常量):getPosition(index) -> integer, integer(获取位置坐标):setPageRows(rows) -> void(设置每页行数):pgUp():pgDn()
-
soku.playBGM(path, fadeOut, fadeIn)
- 播放背景音乐,支持淡入淡出效果
- 参数:
路径|nil, 淡出时间(帧), 淡入时间(帧)
-
soku.Vector2f 新增函数
:length() -> number(向量长度):angle() -> number(角度值,范围-180~180):cross(other) -> number(向量叉积):dot(other) -> number(向量点积)
-
-
新增 soku.Vector2f 元方法,支持表达式操作:
__add加法,例如:1+vec,vec+1,vec1+vec2__sub减法,例如:1-vec,vec-1,vec1-vec2__mul乘法,例如:vec*2,2*vec__div除法,例如:vec/2__unm取负,例如:-vec__eq相等判断,例如:vec1==vec2__tostring转换为字符串输出,例如:print(vec)
-
createObject 参数优化:
-
参数
customData现在可以自动转换为浮点数组:- 数字
1→ 转换为{0,0,1} nil→ 转换为{0,0,0}- 表格 → 保持原样
{table[1], table[2],...} - 不再需要手动调用
string.pack()!
- 数字
-
参数
direction默认继承创建者的方向 -
参数
x, y默认继承创建者位置,支持用一个soku.Vector2f变量代替 -
示例:
-- 新写法 player:createObject(800, player.position+soku.Vector2f(50,100), nil, 1, {0,0,1,2}) -- 等效旧写法 player:createObject(800, player.position.x+50, player.position.y+100, player.direction, 1, string.pack("<ffff",0,0,1,2))
-
同样适用于
Object.createChild,Object.createObject
-
-
新增 GUI 弹窗支持 (实验性功能):
-
gui.Renderer 新增属性:
.MSG_CLOSED = -1 -- 消息窗口未打开 .MSG_WAIT = 0 -- 等待用户响应 .MSG_OK = 1 -- 用户选择确定 .MSG_CANCEL = 2 -- 用户选择取消 .MSG_YES = 3 -- 用户选择是 .MSG_NO = 4 -- 用户选择否 .showResult -- 显示结果状态枚举
-
新增方法:
:ShowMessage(text) -> boolean(显示对话框):ShowChoice(text, defaultYes) -> boolean(显示带选择的对话框):RemoveMessage() -> boolean(移除消息)
-