- UID
- 2546
- 积分
- 159
- 帖子
- 30
- 主题
- 5
- 论坛币
- 868
- 威望
- 0
- EP值
- 134
- MP值
- 0
- 阅读权限
- 50
- 注册时间
- 2015-5-9
- 在线时间
- 52 小时
- 最后登录
- 2024-10-20
|
本帖最后由 Seekladoom 于 2022-5-1 03:15 编辑
NyuFX的syl.xxx如果没有事先赋值给别的变量(比如写成 _send = syl.end_time 这样)的话,就必须时刻跟一个for si, syl这样的for循环代码写在一起,否则无法使用。示例代码如下:
- io.load_ass( "templates\\单句测试文本\\CN_K.ass")
- function CN(line, l)
- --下面的syl.xxx如不事先赋值给别的变量(比如写成 _send = syl.end_time 这样)的话,就必须跟左边这行for si, syl循环写在一起,否则会立马报错。
- for si, syl in ipairs(line.syls) do
- if syl.text ~= "" then
- l.layer = 0
- l.start_time = line.start_time + syl.end_time - syl.duration
- l.end_time = line.end_time + syl.i * 30 + 200
- l.text = string.format("{\\an5\\pos(%.f,%.f)\\blur2\\shad0\\fad(200,200)}%s", syl.center, syl.middle, syl.text)
- io.write_line(l)
- end
- end
- end
- for li, line in ipairs(lines) do
- if line.styleref.alignment == 2 then
- CN(line, table.copy(line))
- end
- io.progressbar(li / #lines)
- end
复制代码
而PyonFX的syl.xxx不像NyuFX那样必须跟着for si, syl在几行内捆绑出现,示例代码如下:- from pyonfx import *
- io = Ass("CN_K.ass", "CN_FX.ass")
- meta, styles, lines = io.get_data()
- def CN(line, l):
- l.layer = 0
- l.start_time = line.start_time + syl.end_time - syl.duration
- l.end_time = line.end_time + syl.i * 30 + 200
- l.text = "{\\an5\\pos(%.f,%.f)\\blur2\\shad0\\fad(200,200)}%s" % ( syl.center, syl.middle, syl.text )
- io.write_line(l)
-
- for line in lines:
- for syl in line.syls: # PyonFX的syl.xxx不像NyuFX那样必须跟着for si, syl在几行内捆绑出现
- if line.styleref.alignment == 2:
- CN(line, line.copy())
-
- io.save()
- io.open_aegisub()
复制代码
|
|