- UID
- 2
- 积分
- 8682
- 帖子
- 2905
- 主题
- 199
- 论坛币
- 11739
- 威望
- 16
- EP值
- 2349
- MP值
- 15
- 阅读权限
- 200
- 注册时间
- 2011-8-3
- 在线时间
- 2597 小时
- 最后登录
- 2024-8-28
|
一个效果有三种作用域, 或者说生存周期, 分别是 全局, 整句, 单字.
tcaxPy_Init函数及tcaxPy_Fin函数提供了全局特效支持, 不过通常全局有效的效果是比较少使用的, 所以对应的, 在这两个函数里, 我们基本上只做初始化及销毁工作.
tcaxPy_Line函数提供了整句特效支持, 在这个函数里写的特效是整句歌词适用的.
tcaxPy_Main函数提供了单字特效支持, 在这个函数里写的特效是对一个文字有效的.
tcaxPy_Line函数实际上是tcaxPy_Main函数的一个衍生物, 依靠IsLineChanged函数来实现.
(参考 http://www.tcax.org/forum.php?mod=viewthread&tid=127)
具体写法如下- from tcaxPy import *
- def tcaxPy_Line(_i, _start, _end, _initX, _initY, _length, ASS_BUF, TCAS_BUF):
- pass
- def tcaxPy_Main(_i, _j, _n, _start, _end, _elapk, _k, _x, _y, _a, _txt):
- ASS_BUF = [] # 保存ASS特效
- TCAS_BUF = [] # 保存TCAS特效
- ##### 主要特效编写操作 #####
- ### begin of line scope, do not change the code ###
- lineChanged = IsLineChanged(_i)
- if lineChanged:
- _initX = _x - int(_a / 2 + 0.5)
- _initY = _y - int(GetVal(val_FontSize) / 2 + 0.5)
- _length = GetVal(val_TextLength)[_i]
- tcaxPy_Line(_i, _start, _end, _initX, _initY, _length, ASS_BUF, TCAS_BUF)
- ### end of line scope, do not change the code ###
- ##### 将结果返回给tcax进行处理 #####
- return (ASS_BUF, TCAS_BUF)
复制代码 |
|