TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua

标题: tcc文件引用非内置特效出错.. [打印本页]

作者: ccx    时间: 2013-10-27 13:43:45     标题: tcc文件引用非内置特效出错..

本帖最后由 ccx 于 2013-11-1 22:41 编辑

楼下!!!! 上图!!!
作者: ccx    时间: 2013-10-27 13:45:29

wubuxiangsuoshenmlecccccccc.jpg

图片附件: wubuxiangsuoshenmlecccccccc.jpg (2013-10-27 13:45:22, 49.38 KB) / 下载次数 1751
http://tcax.org/forum.php?mod=attachment&aid=MTQ4MHwyZjA4NzUwMHwxNzMyMjkwNzg0fDB8MA%3D%3D


作者: ccx    时间: 2013-10-27 13:49:01

# tcc file version

< tcc file version = 1.000 >


# mode configuration

< inherit ass header = false >
< k mode = syllable >
< text layout = horizontal >
< tcaxpy init = true >
< tcaxpy user = false >
< tcaxpy fin = false >


# py settings

< py file = western.py >    < beg line = 1 >    < end line = 6 >


# main settings

< k-timed ass file = testop.ass >
< font file = SIMFANG.TTF >    < font face id = 1 >    < font size = 36 >
< fx width = 1280 >    < fx height = 720 >    < fx fps = 23.976 >
< alignment = 7 >
< x offset = 30 >    < y offset = 15 >
< spacing = 0 >    < space scale = 1.000 >


# style settings

< font face name = "" >
< bord = 1 >    < shad = 0 >
< primary color = FFFFFF >    < secondary color = 000000 >    < outline color = 000000 >    < back color = 000000 >
< primary alpha = 0 >    < secondary alpha = 255 >    < outline alpha = 0 >    < back alpha = 255 >


# additional settings

< blur = 0.000 >






作者: ccx    时间: 2013-10-27 13:49:30

不多解释 大神你懂得
作者: ccx    时间: 2013-10-27 13:50:55

from tcaxPy import *
    from gdiFont import *

    def tcaxPy_Init():

        global _FontFileName
        global _FaceID
        global _Fs
        global _TextWidth
        global _TextHeight
        global _TextLength
        global _TextAdvDiff
        global _ResolutionX
        global _FD
        global GdiFont   #GDIfont


        _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)
        _FD           = 1000 / GetVal(val_FXFPS)
        GdiFont = gfInitFont(GetVal(val_FontFaceName), _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), 0, False)    #GDIfont

    def tcaxPy_Fin():
        gfFinFont(GdiFont)    #GDIfont



    def tcaxPy_Main(_i, _j, _n, _BT, _ET, _SK, _KT, _x, _y, _a, _txt):
        ASS_BUF = []

      


    #    ts = _BT + _SK                                  # start time, in semi-second
    #    te = _BT + _SK + _KT                              # end time, in semi-second
    #    SUIJ0 = randint(-20,20)
    #    CIR = Circle(12, _x+SUIJ0, _y+SUIJ0, 20)
    #    for h in range(12):
    #        SUIJ1 = randint(0,20)
    #        SUIJ2 = randint(-60,60)
    #        R1 = RandCir2(_x+SUIJ0, _y+SUIJ0, 18, 18)
    #        MOV = mov(_x+SUIJ0,_y+SUIJ0,R1[0],R1[1])
    #        MOV = mov(_x+SUIJ0,_y+SUIJ0,CIR[h][0], CIR[h][1])
    #        EFT = MOV+fad(50,0)+bord(0)
    #        ass_main(ASS_BUF,SubL(ts,ts+50+SUIJ1,1), EFT, PixPt())
            
    #        CIR2 = Circle(12, CIR[h][0], CIR[h][1], 20)
    #        for b in range(12):
    #            R2 = RandCir2(R1[0],R1[1], 22, 22)
    #            MOV = mov(R1[0],R1[1],R2[0],R2[1])
    #            MOV = mov(CIR[h][0], CIR[h][1],CIR2[b][0], CIR2[b][1])
    #            EFT = MOV+fad(0,200)+bord(0)
    #            ass_main(ASS_BUF,SubL(ts+50+SUIJ1,ts+200+SUIJ2,1), EFT, PixPt())



        if _i ==0 or  _i ==1 or _i>2 and _i<7 or _i ==8 or _i ==10 or _i ==12 or _i ==14:
            for a in range(16):
                R = randint(0,15)
                dx = _x - int(_a  / 2 + 0.5)
                dy = _y - int(_Fs / 2 + 0.5)
               
                mask1 = gfGetOutline(GdiFont, _txt, dx+1, dy+1)    #GDIfont
               
                ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,1),an(7) + pos(_x, _y)+color1("857A81")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask1)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
               
                mask2 = gfGetOutline(GdiFont, _txt, dx, dy)    #GDIfont
               
                ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,3),an(7) + pos(_x, _y)+color1("FFFFFF")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask2)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
            
        if _i ==6 or _i ==8 or _i ==10 or _i ==12 or _i ==14:
            ts1 = _BT+_SK
            SUIJ0 = randint(-20,20)
            CIR = Circle(12, _x+SUIJ0, _y+SUIJ0, 20)
            for h in range(12):
                SUIJ1 = randint(0,20)
                MOV = mov(_x+SUIJ0,_y+SUIJ0,CIR[h][0], CIR[h][1])
                EFT = MOV+fad(50,0)+bord(0)
                ass_main(ASS_BUF,SubL(ts1,ts1+50+SUIJ1,1), EFT, PixPt())
               
                CIR2 = Circle(12, CIR[h][0], CIR[h][1], 20)
                for b in range(12):
                    SUIJ2 = randint(-60,60)
                    MOV = mov(CIR[h][0], CIR[h][1],CIR2[b][0], CIR2[b][1])
                    EFT = MOV+fad(0,200)+bord(0)
                    ass_main(ASS_BUF,SubL(ts1+50+SUIJ1,ts1+200+SUIJ2,1), EFT, PixPt())
            
            
            
        if _i ==2 or _i ==7 or _i ==9 or _i ==11 or _i ==13:
            for a in range(16):
                R = randint(0,15)
                dx = _x - int(_a  / 2 + 0.5)
                dy = _y - int(_Fs / 2 + 0.5)
               
                mask1 = gfGetOutline(GdiFont, _txt, dx-_ResolutionX+_TextLength[_i]+25+1, dy+1)    #GDIfont _ResolutionX
               
                ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,1),an(7) + pos(_x-_ResolutionX+_TextLength[_i]+25, _y)+color1("857A81")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask1)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
               
                mask2 = gfGetOutline(GdiFont, _txt, dx-_ResolutionX+_TextLength[_i]+25, dy)    #GDIfont
               
                ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,3),an(7) + pos(_x-_ResolutionX+_TextLength[_i]+25, _y)+color1("FFFFFF")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask2)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
      
      
        if _i ==7 or _i ==9 or _i ==11 or _i ==13:
            ts2 = _BT+_SK
            SUIJ0 = randint(-20,20)
            CIR = Circle(12, _x-_ResolutionX+_TextLength[_i]+25+SUIJ0, _y+SUIJ0, 20)
            for h in range(12):
                SUIJ1 = randint(0,20)
                MOV = mov(_x-_ResolutionX+_TextLength[_i]+25+SUIJ0,_y+SUIJ0,CIR[h][0], CIR[h][1])
                EFT = MOV+fad(50,0)+bord(0)
                ass_main(ASS_BUF,SubL(ts2,ts2+50+SUIJ1,1), EFT, PixPt())
               
                CIR2 = Circle(12, CIR[h][0], CIR[h][1], 20)
                for b in range(12):
                    SUIJ2 = randint(-60,60)
                    MOV = mov(CIR[h][0], CIR[h][1],CIR2[b][0], CIR2[b][1])
                    EFT = MOV+fad(0,200)+bord(0)
                    ass_main(ASS_BUF,SubL(ts2+50+SUIJ1,ts2+200+SUIJ2,1), EFT, PixPt())
      
      
        return (ASS_BUF, None)
作者: milkyjing    时间: 2013-10-27 16:38:10

请修改标题.
作者: ccx    时间: 2013-10-27 17:19:06

milkyjing 发表于 2013-10-27 16:38
请修改标题.

好的
作者: ccx    时间: 2013-10-27 17:23:37

ccx 发表于 2013-10-27 13:50
from tcaxPy import *
    from gdiFont import *

ps:是对其了的 可能发的时候出错了
作者: milkyjing    时间: 2013-10-28 23:10:43

ccx 发表于 2013-10-27 17:23
ps:是对其了的 可能发的时候出错了

你把.py, .tcc文件以附件形式发上来吧
作者: ccx    时间: 2013-10-29 20:23:45

tcc文件 格式不支持无法上传.....

附件: western.py (2013-10-29 20:22:42, 5.75 KB) / 下载次数 3081
http://tcax.org/forum.php?mod=attachment&aid=MTQ4MXxiMWJlNzkxZHwxNzMyMjkwNzg0fDB8MA%3D%3D
作者: ccx    时间: 2013-10-29 20:24:12

milkyjing 发表于 2013-10-28 23:10
你把.py, .tcc文件以附件形式发上来吧


作者: ccx    时间: 2013-10-29 20:27:59

tcc文件我只能改成py上传了

附件: tcc.py (2013-10-29 20:27:27, 985 Bytes) / 下载次数 3090
http://tcax.org/forum.php?mod=attachment&aid=MTQ4MnwxZGE2YzExM3wxNzMyMjkwNzg0fDB8MA%3D%3D
作者: milkyjing    时间: 2013-11-1 20:23:53

ccx 发表于 2013-10-29 20:23
tcc文件 格式不支持无法上传.....

整体向左缩进4个空格试试 (如果你用Notepad+, 或者Notepad2的话, 可以全选, 然后按 shift+tab)
作者: ccx    时间: 2013-11-1 21:51:22

milkyjing 发表于 2013-11-1 20:23
整体向左缩进4个空格试试 (如果你用Notepad+, 或者Notepad2的话, 可以全选, 然后按 shift+tab) ...

你用这个方法好使吗? 我用notepad .....
作者: ccx    时间: 2013-11-1 22:07:58

ccx 发表于 2013-11-1 21:51
你用这个方法好使吗? 我用notepad .....

不过这次好像 是因为第二行
作者: ccx    时间: 2013-11-1 22:17:40

modu;e.jpg

图片附件: modu;e.jpg (2013-11-1 22:17:34, 51.57 KB) / 下载次数 1736
http://tcax.org/forum.php?mod=attachment&aid=MTQ4N3w4YjI2NzNiNnwxNzMyMjkwNzg0fDB8MA%3D%3D


作者: ccx    时间: 2013-11-1 22:18:43

  1. from tcaxPy import *
  2. from gdiFont import *

  3. def tcaxPy_Init():

  4.         global _FontFileName
  5.         global _FaceID
  6.         global _Fs
  7.         global _TextWidth
  8.         global _TextHeight
  9.         global _TextLength
  10.         global _TextAdvDiff
  11.         global _ResolutionX
  12.         global _FD
  13.         global GdiFont   #GDIfont


  14.         _FontFileName = GetVal(val_FontFileName)
  15.         _FaceID       = GetVal(val_FaceID)
  16.         _Fs           = GetVal(val_FontSize)
  17.         _TextHeight   = GetVal(val_TextHeight)
  18.         _TextWidth    = GetVal(val_TextWidth)
  19.         _TextLength   = GetVal(val_TextLength)
  20.         _TextAdvDiff  = GetVal(val_TextAdvanceDiff)
  21.         _ResolutionX  = GetVal(val_ResolutionX)
  22.         _FD           = 1000 / GetVal(val_FXFPS)
  23.         GdiFont = gfInitFont(GetVal(val_FontFaceName), _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), 0, False)    #GDIfont

  24. def tcaxPy_Fin():
  25.         gfFinFont(GdiFont)    #GDIfont



  26. def tcaxPy_Main(_i, _j, _n, _BT, _ET, _SK, _KT, _x, _y, _a, _txt):
  27.         ASS_BUF = []

  28.    


  29. #    ts = _BT + _SK                                  # start time, in semi-second
  30. #    te = _BT + _SK + _KT                              # end time, in semi-second
  31. #    SUIJ0 = randint(-20,20)
  32. #    CIR = Circle(12, _x+SUIJ0, _y+SUIJ0, 20)
  33. #    for h in range(12):
  34. #        SUIJ1 = randint(0,20)
  35. #        SUIJ2 = randint(-60,60)
  36. #        R1 = RandCir2(_x+SUIJ0, _y+SUIJ0, 18, 18)
  37. #        MOV = mov(_x+SUIJ0,_y+SUIJ0,R1[0],R1[1])
  38. #        MOV = mov(_x+SUIJ0,_y+SUIJ0,CIR[h][0], CIR[h][1])
  39. #        EFT = MOV+fad(50,0)+bord(0)
  40. #        ass_main(ASS_BUF,SubL(ts,ts+50+SUIJ1,1), EFT, PixPt())
  41.                
  42. #        CIR2 = Circle(12, CIR[h][0], CIR[h][1], 20)
  43. #        for b in range(12):
  44. #            R2 = RandCir2(R1[0],R1[1], 22, 22)
  45. #            MOV = mov(R1[0],R1[1],R2[0],R2[1])
  46. #            MOV = mov(CIR[h][0], CIR[h][1],CIR2[b][0], CIR2[b][1])
  47. #            EFT = MOV+fad(0,200)+bord(0)
  48. #            ass_main(ASS_BUF,SubL(ts+50+SUIJ1,ts+200+SUIJ2,1), EFT, PixPt())



  49.         if _i ==0 or  _i ==1 or _i>2 and _i<7 or _i ==8 or _i ==10 or _i ==12 or _i ==14:
  50.                 for a in range(16):
  51.                         R = randint(0,15)
  52.                         dx = _x - int(_a  / 2 + 0.5)
  53.                         dy = _y - int(_Fs / 2 + 0.5)
  54.                        
  55.                         mask1 = gfGetOutline(GdiFont, _txt, dx+1, dy+1)    #GDIfont
  56.                        
  57.                         ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,1),an(7) + pos(_x, _y)+color1("857A81")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask1)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
  58.                        
  59.                         mask2 = gfGetOutline(GdiFont, _txt, dx, dy)    #GDIfont
  60.                        
  61.                         ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,3),an(7) + pos(_x, _y)+color1("FFFFFF")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask2)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
  62.                
  63.         if _i ==6 or _i ==8 or _i ==10 or _i ==12 or _i ==14:
  64.                 ts1 = _BT+_SK
  65.                 SUIJ0 = randint(-20,20)
  66.                 CIR = Circle(12, _x+SUIJ0, _y+SUIJ0, 20)
  67.                 for h in range(12):
  68.                         SUIJ1 = randint(0,20)
  69.                         MOV = mov(_x+SUIJ0,_y+SUIJ0,CIR[h][0], CIR[h][1])
  70.                         EFT = MOV+fad(50,0)+bord(0)
  71.                         ass_main(ASS_BUF,SubL(ts1,ts1+50+SUIJ1,1), EFT, PixPt())
  72.                        
  73.                         CIR2 = Circle(12, CIR[h][0], CIR[h][1], 20)
  74.                         for b in range(12):
  75.                                 SUIJ2 = randint(-60,60)
  76.                                 MOV = mov(CIR[h][0], CIR[h][1],CIR2[b][0], CIR2[b][1])
  77.                                 EFT = MOV+fad(0,200)+bord(0)
  78.                                 ass_main(ASS_BUF,SubL(ts1+50+SUIJ1,ts1+200+SUIJ2,1), EFT, PixPt())
  79.                
  80.                
  81.                
  82.         if _i ==2 or _i ==7 or _i ==9 or _i ==11 or _i ==13:
  83.                 for a in range(16):
  84.                         R = randint(0,15)
  85.                         dx = _x - int(_a  / 2 + 0.5)
  86.                         dy = _y - int(_Fs / 2 + 0.5)
  87.                        
  88.                         mask1 = gfGetOutline(GdiFont, _txt, dx-_ResolutionX+_TextLength[_i]+25+1, dy+1)    #GDIfont _ResolutionX
  89.                        
  90.                         ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,1),an(7) + pos(_x-_ResolutionX+_TextLength[_i]+25, _y)+color1("857A81")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask1)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
  91.                        
  92.                         mask2 = gfGetOutline(GdiFont, _txt, dx-_ResolutionX+_TextLength[_i]+25, dy)    #GDIfont
  93.                        
  94.                         ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,3),an(7) + pos(_x-_ResolutionX+_TextLength[_i]+25, _y)+color1("FFFFFF")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask2)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
  95.    
  96.    
  97.         if _i ==7 or _i ==9 or _i ==11 or _i ==13:
  98.                 ts2 = _BT+_SK
  99.                 SUIJ0 = randint(-20,20)
  100.                 CIR = Circle(12, _x-_ResolutionX+_TextLength[_i]+25+SUIJ0, _y+SUIJ0, 20)
  101.                 for h in range(12):
  102.                         SUIJ1 = randint(0,20)
  103.                         MOV = mov(_x-_ResolutionX+_TextLength[_i]+25+SUIJ0,_y+SUIJ0,CIR[h][0], CIR[h][1])
  104.                         EFT = MOV+fad(50,0)+bord(0)
  105.                         ass_main(ASS_BUF,SubL(ts2,ts2+50+SUIJ1,1), EFT, PixPt())
  106.                        
  107.                         CIR2 = Circle(12, CIR[h][0], CIR[h][1], 20)
  108.                         for b in range(12):
  109.                                 SUIJ2 = randint(-60,60)
  110.                                 MOV = mov(CIR[h][0], CIR[h][1],CIR2[b][0], CIR2[b][1])
  111.                                 EFT = MOV+fad(0,200)+bord(0)
  112.                                 ass_main(ASS_BUF,SubL(ts2+50+SUIJ1,ts2+200+SUIJ2,1), EFT, PixPt())
  113.    
  114.    
  115.         return (ASS_BUF, None)
复制代码

作者: milkyjing    时间: 2013-11-1 22:19:59

原始脚本在哪里? 让LZ发你一个py文件吧... 省得这么折腾




欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://tcax.org/) Powered by Discuz! X2