| 
UID2积分8682帖子2905主题199论坛币13044 威望16 EP值2349 MP值15 阅读权限200注册时间2011-8-3在线时间2597 小时最后登录2024-8-28
 
   
 | 
| 说明 
 本系列教程旨在更好的引导大家使用TCAX制作一些特效, 有空我会逐渐补上我所了解的一些特效的制作.
 为加深大家对教程代码的理解, 附上了可以直接执行的完整工程, 建议下载并实际操作一下.
 后记复制代码from tcaxPy import *
def tcaxPy_Init():              # 主要作用是初始化一个字体
    global _Fs                  # 字体大小
    global _Font                # 我们将要创建的字体
    _Fs = GetVal(val_FontSize)  # 获取字体大小
    fontFileName = GetVal(val_FontFileName)     # 获取字体文件名
    faceID = GetVal(val_FaceID)                 # 获取字体Face序号
    spacing = GetVal(val_Spacing)               # 获取文字间隔
    spaceScale = GetVal(val_SpaceScale)         # 获取空格缩放比率
    color = MakeRGB(255, 255, 255)              # 字体颜色
    bord = 0                    # 字体边框厚度
    isOutline = False           # 只有边框
    _Font = InitFont(fontFileName, faceID, _Fs, spacing, spaceScale, color, bord, isOutline)        # 创建字体
def tcaxPy_Fin():
    FinFont(_Font)   # 销毁字体 释放内存
def tcaxPy_Main(_i, _j, _n, _start, _end, _elapk, _k, _x, _y, _a, _txt):
    ASS_BUF  = []        # 保存ASS特效
    TCAS_BUF = []        # 保存TCAS特效
    ##### 主要特效编写操作 #####
    # 像素字特效固定代码框架 开始
    PIX = TextPix(_Font, _txt)      # 获取当前文字的PIX结构
    initPosX = _x - int(_a / 2 + 0.5) + PIX[0][0]        # 第一个像素的X轴坐标
    initPosY = _y - int(_Fs / 2 + 0.5) + PIX[0][1]       # 第一个像素的Y轴坐标
    for h in range(PIX[1][1]):                           # 开始纵向扫描
        posY = initPosY + h                               # 当前像素Y轴坐标
        for w in range(PIX[1][0]):                       # 开始横向扫描
            posX = initPosX + w                           # 当前像素X轴坐标
            idx  = 4 * (h * PIX[1][0] + w)                # 脚标
            pixR = PIX[2][idx + 0]                        # 当前像素的红色分量
            pixG = PIX[2][idx + 1]                        # 当前像素的绿色分量
            pixB = PIX[2][idx + 2]                        # 当前像素的蓝色分量
            pixA = PIX[2][idx + 3]                        # 当前像素的透明度
            if pixA != 0:                                # 如果当前像素不为透明则进行如下操作
                # 增加你的效果, 注意Style使用Pix_Style
                ass_main(ASS_BUF, SubL(_start, _end, 0, Pix_Style), pos(posX, posY) + color1(FmtRGB(pixR, pixG, pixB)) + alpha1(255 - pixA), 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. 如有疑问, 请直接跟帖...
 
 
 
 | 
 |