| 
UID3积分8169帖子259主题68论坛币5016 威望54 EP值2533 MP值20 阅读权限200注册时间2011-8-3在线时间1097 小时最后登录2022-10-8
 
   
 | 
| 使用tcax 1.1.8或更新版本,如果是舊版本,運行此腳本之前 請先升級一次 覆蓋即可 
  tcaxLib.zip
(314.96 KB, 下载次数: 5978) 
 完整工程包
  test.7z
(0 Bytes, 下载次数: 6325) 
 預覽時請加載tcasfilter.dll 在tcax主目錄里有
 腳本如下
 复制代码from tcaxPy import *
##### 额外的一些库 #####
from collections import deque
##### 初始化函数, 用于设定一些全局变量 #####
def tcaxPy_Init():
    ##### 声明全局变量 #####
    global _FontFileName        # 字体文件名
    global _FaceID                # 字体Face序号
    global _Fs                        # 字体大小
    global _TextWidth                # 文字宽度
    global _TextHeight                # 文字高度
    global _TextLength
    global _TextAdvDiff
    global _ResolutionX
    global _ResolutionY
    global _OffsetX
    global _OffsetY
    global _FD                        # 一帧的持续时间, 40毫秒
    global Font                        # 首要字体
    global FontOut                # 字体边框
    ##### 获取预定义的值 #####
    _FontFileName = GetVal(val_FontFileName)
    _FaceID       = GetVal(val_FaceID)
    _Fs           = GetVal(val_FontSize)
    _TextHeight   = GetVal(val_TextHeight)
    _TextWidth    = GetVal(val_TextWidth)
    _TextLength   = GetVal(val_TextLength)
    _TextAdvDiff  = GetVal(val_TextAdvanceDiff)
    _ResolutionX  = GetVal(val_ResolutionX)
    _ResolutionY  = GetVal(val_ResolutionY)
    _OffsetX      = GetVal(val_OffsetX)
    _OffsetY      = GetVal(val_OffsetY)
    _FD           = 1000 / GetVal(val_FXFPS)
    ##### 设置自定义变量的值 #####
    Font    = InitFont(_FontFileName, _FaceID, _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), 0xFFFFFF, 0, 0)        # 0xFFFFFF为16进制表示的白色
    FontOut = InitFont(_FontFileName, _FaceID, _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), 0xFFFFFF, 4, 1)        # 最后一个参数置为1表示只提取边框
##### 结束函数, 用于一些收尾工作 #####
def tcaxPy_Fin():
    ##### 清理一些全局变量 #####
    FinFont(Font)
    FinFont(FontOut)
def tcaxPy_Main(_i, _j, _n, _BT, _ET, _SK, _KT, _X, _Y, _A, _TXT,):
    TCAS_BUF = []
    texture = ImagePix(abspath('x.png'))
    dx = _X - int(_A / 2 + 0.5)         # 一个固定操作, 将an5的坐标转换为an7
    dy = _Y - int(_Fs / 2 + 0.5)        # ASS特效默认采用an5坐标, TCAS特效则采用an7坐标
    PIX  = TextPix(Font, _TXT)
    PIX2 = TextPix(Font, "●")
    PIX2  = PixTexture(PIX2,texture)
    PIX2 = PixBlur(PIX2, 8)
    width = 2                  #原大小
    height =2
    inc_w = _A*3                 #目標大小
    inc_h = _Fs*3
    num = int(10 * (_KT) /_FD)
    for i in range(num):
        x = PIX2[0][0] +randint(-int(_A / 2),int(_A / 2))
        y = PIX2[0][1] +randint(-int(_A / 2),int(_A / 2))
        PIX3 = ((x,y),PIX2[1],PIX2[2])
        f_w = width + inc_w * i / num
        f_h = height + inc_h * i / num
        i_w = int(f_w)
        i_h = int(f_h)
        PIX1 = PixResize(PIX3, i_w, i_h)
        PIX1 = PixMask(PIX1, PIX)           
        t1 = 10 * (_BT+_SK) + _FD * i
        t2 = t1 + _FD
        tcas_main(TCAS_BUF, PIX1, t1, t2, dx, dy, 0)
    num2 = int(10 * (_ET-_BT-_SK-_KT) / _FD)
    for j in range(num2):
        x = PIX2[0][0] +randint(-int(_A / 2),int(_A / 2))
        y = PIX2[0][1] +randint(-int(_A / 2),int(_A / 2))
        PIX4 = ((x,y),PIX2[1],PIX2[2])
        PIX4 = PixResize(PIX4,_A*3, _Fs*3)
        PIX4 = PixMask(PIX4, PIX) 
        t3 = 10 * (_BT+_SK+_KT) + _FD * j
        t4 = t3 + _FD    
        tcas_main(TCAS_BUF, PIX4, t3, t4, dx, dy, 0)
    return (None, TCAS_BUF)
 | 
 |