- UID
- 2
- 积分
- 8682
- 帖子
- 2905
- 主题
- 199
- 论坛币
- 11739
- 威望
- 16
- EP值
- 2349
- MP值
- 15
- 阅读权限
- 200
- 注册时间
- 2011-8-3
- 在线时间
- 2597 小时
- 最后登录
- 2024-8-28
|
说明
本系列教程旨在更好的引导大家使用TCAX制作一些特效, 有空我会逐渐补上我所了解的一些特效的制作.
为加深大家对教程代码的理解, 附上了可以直接执行的完整工程, 建议下载并实际操作一下.- from tcaxPy import *
- def tcaxPy_Main(_i, _j, _n, _start, _end, _elapk, _k, _x, _y, _a, _txt):
- ASS_BUF = [] # 保存ASS特效
- TCAS_BUF = [] # 保存TCAS特效
- ##### 主要特效编写操作 #####
- ts = _start + _elapk - 20 # 效果开始时间
- _Fs = GetVal(val_FontSize) # 字体大小
- EFT1 = alpha1(HexToDec('AA')) + alpha3(HexToDec('AA')) + color1('FFFFFF') + \
- bord(5) + blur(5) + t(0, 100, bord(3) + blur(3)) + fad(0, 200)
- EFT2 = alpha1(HexToDec('AA')) + alpha3(HexToDec('00')) + color1('FFFFFF') + color3('FFFFFF') + \
- bord(3) + blur(3) + t(0, 100, bord(1) + blur(1) + alpha3(HexToDec('44'))) + fad(0, 200)
- num = 60 # 曲线上点的个数
- xs = _x + randint(-100, 100) # 开始点
- ys = _y + randint(-60, 20)
- xc1 = xs + randint(-50, 50) # 控制点1
- yc1 = ys + randint(-50, 50)
- xc2 = xc1 + randint(-40, 40) # 控制点2
- yc2 = yc1 + randint(-40, 40)
- xe = _x # 结束点
- ye = _y
- points = Bezier3(num, xs, ys, xe, ye, xc1, yc1, xc2, yc2) # 3阶贝塞尔曲线, 控制点的生成是重点以及难点
- for i in range(num):
- POS = pos(points[i][0], points[i][1]) # 获取曲线上点坐标
- EFT = POS + EFT1 + color3('5A3AFF')
- ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
- EFT = POS + EFT2
- ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
- ##### 将结果返回给tcax进行处理 #####
- return (ASS_BUF, TCAS_BUF)
复制代码 后记
在理解了上述代码的基础上, 可以进一步学习具体的使用方法.
saiyaku写了不少具体效果, 可以对着预览视频, 找到相应的脚本.
视频 http://www.tcax.org/forum.php?mod=viewthread&tid=44
代码 http://www.tcax.org/forum.php?mo ... typeid&typeid=3
p.s. 如有疑问, 请直接跟帖...
|
|