- UID
 - 2546
 - 积分
 - 161
 - 帖子
 - 30
 - 主题
 - 5
 - 论坛币
 - 888 
 - 威望
 - 0 
 - EP值
 - 138 
 - MP值
 - 0 
 - 阅读权限
 - 50
 - 注册时间
 - 2015-5-9
 - 在线时间
 - 52 小时
 - 最后登录
 - 2025-10-25
  
 
 
 
  
 | 
 本帖最后由 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()
 
  复制代码 
 |   
 
  
 |