| 
UID2积分8682帖子2905主题199论坛币13045 威望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. 如有疑问, 请直接跟帖...
 
 
 
 | 
 |