- UID
- 2546
- 积分
- 159
- 帖子
- 30
- 主题
- 5
- 论坛币
- 868
- 威望
- 0
- EP值
- 134
- MP值
- 0
- 阅读权限
- 50
- 注册时间
- 2015-5-9
- 在线时间
- 52 小时
- 最后登录
- 2024-10-20
|
本帖最后由 Seekladoom 于 2021-8-26 03:35 编辑
注:这5种写法都能生成准确无误的ASS特效字幕。
TCAX的几种ASS特效标签写法.rar
(0 Bytes, 下载次数: 2940)
第1种:an(5)+pos(_X,_Y)+blur(3)+fad(200,200)
- ass_main(ASS_BUF,SubL(_BT,_ET,1),an(5)+pos(_X,_Y)+blur(3)+fad(200,200),_TXT)
复制代码 第2种(混搭写法):'\\an5\\blur3\\fad(200,200)'+pos(_X,_Y)- ass_main(ASS_BUF,SubL(_BT,_ET,1),'\\an5\\blur3\\fad(200,200)'+pos(_X,_Y),_TXT)
复制代码 第3种(混搭写法):r'\an5\blur3\fad(200,200)'+pos(_X,_Y)- ass_main(ASS_BUF,SubL(_BT,_ET,1),r'\an5\blur3\fad(200,200)'+pos(_X,_Y),_TXT)
复制代码 第4种:'\\an5\\blur3\\fad(200,200)\\pos({0},{1})'.format(_X,_Y),_TXT)- ass_main(ASS_BUF,SubL(_BT,_ET,1),'\\an5\\blur3\\fad(200,200)\\pos({0},{1})'.format(_X,_Y),_TXT)
复制代码 第5种:r'\an5\blur3\fad(200,200)\pos({0},{1})'.format(_X,_Y),_TXT)- ass_main(ASS_BUF,SubL(_BT,_ET,1),r'\an5\blur3\fad(200,200)\pos({0},{1})'.format(_X,_Y),_TXT)
复制代码 第6种(此法需要修改TCAX源码才能实现,留作后续开发用):\an5\pos(_X,_Y)\blur3\fad(200,200)
- ass_main(ASS_BUF,SubL(_BT,_ET,1),\an5\pos(_X,_Y)\blur3\fad(200,200),_TXT)
复制代码
另外,第2种写法中 \\an5\\blur3\\fad(200,200) 两边的符号',是将这段ASS特效标签代码变成TCAX可以识别的字符串用的,因此不能省略。也不能换成{},否则会无法生成特效字幕。第3种写法的 r'\an5\blur3\fad(200,200)' 跟第2种一样,也是方便TCAX识别字符串用的。
第2-3种写法之所以会出现在TCAX的各种python特效脚本中,是因为TCAX的自动化特效模块——tcaxPy.py脚本有很长一段时间都没有补上常规ASS特效标签b(即粗体标签)和各种mod标签所需的字符串代码造成的,在没人完善tcaxPy.py脚本的情况下,很多人就只能用'\\an5'、r'\an5\'这样的方法去掩盖tcaxPy.py脚本存在的缺陷。
第4-5种写法是在第2-3种写法的基础之上,在完全不使用tcaxPy.py脚本中的字符串逻辑的情况下,尽可能只用 \ 、单引号和 r 的ASS特效标签编写方式,亲测可以正常跑并计算出相应的结果,但在代码长度上还是比第1种要长一些,有变量的ASS特效标签越多,同一行内的代码越长。。。_(:з」∠)_
这些因在tcaxPy.py脚本中未定义相应的字符串逻辑而被迫用第2-3种写法的ASS特效标签如果碰到需要填写变量(比如Python的randint函数,TCAX的_X、_Y等)时,写在'\\ '或r'\ '内的变量(比如'\\pos(_X,_Y)'和r'\pos(_X,_Y)')在TCAX自动化编译生成ASS特效字幕时,就会出现无法计算这些变量的情况。考虑到长期代码维护的便利性,请使用上述提到的第1种写法。
目前tcaxPy.py脚本已经开始逐渐补上此前缺失的字符串逻辑了,请看如下帖子2楼:
【tcaxPy脚本】tcaxPy Version 0.8.0.2
tcaxPy.py脚本的最新版会在这里持续更新:
【tcaxPy脚本】tcaxPy Version 0.8.0.3(更新中)
|
|