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

 找回密码
 新人加入
查看: 4129|回复: 9

[完整特效] [lun]014_mondaiji_OP [复制链接]

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-1-26 04:20:11 |显示全部楼层
本帖最后由 渣渣疯子 于 2013-1-26 04:21 编辑
  1. from tcaxPy import *



  2. def tcaxPy_Init():
  3.     global _FontFileName          # frame duration, in millisecond
  4.     global _FD                  
  5.     global _Fs
  6.     global _Length
  7.     global _Bd
  8.     global _Br
  9.     global _FaceID
  10.     global _Font
  11.     global _Spacing
  12.     global _ResolutionX
  13.     global _ResolutionY
  14.     _FontFileName = GetVal(val_FontFileName)
  15.     _FD = 1000 / GetVal(val_FXFPS)
  16.     _Fs = GetVal(val_FontSize)
  17.     _Length = GetVal(val_TextLength)
  18.     _Bd = GetVal(val_Bord)
  19.     _Br = GetVal(val_Blur)
  20.     _FaceID = GetVal(val_FaceID)
  21.     _Spacing = GetVal(val_Spacing)
  22.     _ResolutionX = GetVal(val_ResolutionX)
  23.     _ResolutionY = GetVal(val_ResolutionY)
  24.     _Font = InitFont(_FontFileName, _FaceID, _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), 0xFFFFFF, 0, 0)

  25. def fr(x):

  26.     X = randint(-x,x)

  27.     return frx(X)+fry(X)+frz(X)

  28. def tcaxPy_Main(_i, _j, _n, _BT, _ET, _SK, _KT, _X, _Y, _A, _TXT):

  29.     ASS_BUF  = []        # used for saving ASS FX lines
  30.     step = int(_FD/10)
  31.     sakura = ["m 9 23 b 8 22 7 21 5 19 b 4 18 2 16 1 11 b 1 8 2 5 4 3 b 5 2 6 1 7 1 b 8 3 8 4 9 5 b 10 4 10 3 11 1 b 13 2 14 3 14 3 b 16 5 17 8 17 11 b 16 16 14 18 13 19 b 11 21 10 22 9 23 "]
  32.    
  33.    
  34.     if _i == 0:
  35.         if _j < 6:
  36.             ass_main(ASS_BUF,SubL(_BT+_SK-30,_BT+_SK,2),an(5)+pos(_X,_Y)+color1("E9A99C")+blur(1)+bord(1)+color3("E9A99C")+fad(300,0),_TXT)
  37.             ass_main(ASS_BUF,SubL(_BT+_SK-30,_BT+_SK,1),an(5)+pos(_X+4,_Y+4)+color1("9E947C")+blur(1)+bord(1)+color3("9E947C")+alpha1(130)+alpha3(130)+fad(300,0),_TXT)
  38.             ass_main(ASS_BUF,SubL(_ET,_ET+30,2),an(5)+pos(_X,_Y)+color1("E9A99C")+blur(1)+bord(1)+color3("E9A99C")+fad(0,300),_TXT)
  39.             ass_main(ASS_BUF,SubL(_ET,_ET+30,1),an(5)+pos(_X+4,_Y+4)+color1("9E947C")+blur(1)+bord(1)+color3("9E947C")+alpha1(130)+alpha3(130)+fad(0,300),_TXT)
  40.             for i in range(int(_Fs)):
  41.                 Clip = clip(int(_X-_A / 2), int(_Y-_Fs/2+i), int(_X+_A/2), int(_Y-_Fs/2+i+1))
  42.                 for j in range(_BT+_SK,_ET,step):
  43.                     t = j
  44.                     t1 = t + step
  45.                     RAN1 = randint(-2,2)
  46.                     ass_main(ASS_BUF,SubL(t,t1,2),an(5)+pos(_X+RAN1,_Y)+color1("E9A99C")+blur(1)+bord(1)+color3("E9A99C")+Clip,_TXT)
  47.                     ass_main(ASS_BUF,SubL(t,t1,1),an(5)+pos(_X+RAN1+4,_Y+4)+color1("9E947C")+blur(1)+bord(1)+color3("9E947C")+alpha1(130)+alpha3(130)+Clip,_TXT)
  48.         else:
  49.             ass_main(ASS_BUF,SubL(_BT+_SK-30,_BT+_SK,2),an(5)+pos(_X,_Y)+color1("49271F")+blur(1)+bord(1)+color3("49271F")+fad(300,0),_TXT)
  50.             ass_main(ASS_BUF,SubL(_BT+_SK-30,_BT+_SK,1),an(5)+pos(_X+4,_Y+4)+color1("9E947C")+blur(1)+bord(1)+color3("9E947C")+alpha1(130)+alpha3(130)+fad(300,0),_TXT)
  51.             for i in range(int(_Fs)):
  52.                 Clip = clip(int(_X-_A / 2), int(_Y-_Fs/2+i), int(_X+_A/2), int(_Y-_Fs/2+i+1))
  53.                 for j in range(_BT+_SK,_ET,step):
  54.                     t = j
  55.                     t1 = t + step
  56.                     RAN1 = randint(-2,2)
  57.                     ass_main(ASS_BUF,SubL(t,t1,2),an(5)+pos(_X+RAN1,_Y)+color1("49271F")+blur(1)+bord(1)+color3("49271F")+Clip,_TXT)
  58.                     ass_main(ASS_BUF,SubL(t,t1,1),an(5)+pos(_X+RAN1+4,_Y+4)+color1("9E947C")+blur(1)+bord(1)+color3("9E947C")+alpha1(130)+alpha3(130)+Clip,_TXT)
  59.             for k in range(int(_Fs)):
  60.                 Clip = clip(int(_X-_A / 2), int(_Y-_Fs/2+k), int(_X+_A/2), int(_Y-_Fs/2+k+1))
  61.                 for h in range(_ET,_ET+30,step):
  62.                     t = h
  63.                     t1 = t + step
  64.                     RAN1 = randint(-3,3)
  65.                     ass_main(ASS_BUF,SubL(t,t1,2),an(5)+pos(_X+RAN1,_Y)+color1("FFFAF0")+blur(1)+bord(1)+color3("FFFAF0")+Clip,_TXT)
  66.                     ass_main(ASS_BUF,SubL(t,t1,1),an(5)+pos(_X+RAN1+4,_Y+4)+color1("95614C")+blur(1)+bord(1)+color3("95614C")+alpha1(130)+alpha3(130)+Clip,_TXT)
  67.     if _i > 0 and _i < 3:
  68.         for h in range(_BT+_SK,_ET,step):
  69.             t = h
  70.             t1 = t + step
  71.             step2 = int((_ET - _BT - _SK) / step)
  72.             H = int((h - _BT - _SK) / step)
  73.             if H % 2 == 0:
  74.                 MOVE = move(_X + (step2 * 2) - (H * 2),_Y,_X + (step2 * 2) - ((H + 1) * 2),_Y - 2)
  75.                 MOVE2 = move((_X + (step2 * 2) - (H * 2)) + 4,_Y,_X + (step2 * 2) - ((H + 1) * 2),_Y - 2)
  76.                 ass_main(ASS_BUF,SubL(t,t1,2),an(5)+MOVE+color1("C35C22")+blur(1)+bord(1)+color3("C35C22"),_TXT)
  77.                 ass_main(ASS_BUF,SubL(t,t1,1),an(5)+MOVE2+color1("1A013C")+blur(1)+bord(1)+color3("1A013C")+alpha1(130)+alpha3(130),_TXT)
  78.             else:
  79.                 MOVE = move(_X + (step2 * 2) - (H * 2),_Y - 2,_X + (step2 * 2) - ((H + 1) * 2),_Y)
  80.                 MOVE2 = move((_X + (step2 * 2) - (H * 2)) + 4,_Y - 2,_X + (step2 * 2) - ((H + 1) * 2),_Y)
  81.                 ass_main(ASS_BUF,SubL(t,t1,2),an(5)+MOVE+color1("C35C22")+blur(1)+bord(1)+color3("C35C22"),_TXT)
  82.                 ass_main(ASS_BUF,SubL(t,t1,1),an(5)+MOVE2+color1("1A013C")+blur(1)+bord(1)+color3("1A013C")+alpha1(130)+alpha3(130),_TXT)
  83.         for k in range(int(_Fs)):
  84.             Clip = clip(int(_X-_A / 2), int(_Y-_Fs/2+k), int(_X+_A/2), int(_Y-_Fs/2+k+1))
  85.             for h in range(_ET,_ET+30,step):
  86.                 t = h
  87.                 t1 = t + step
  88.                 RAN1 = randint(-3,3)
  89.                 ass_main(ASS_BUF,SubL(t,t1,2),an(5)+pos(_X+RAN1,_Y)+color1("FFFAF0")+blur(1)+bord(1)+color3("FFFAF0")+Clip,_TXT)
  90.                 ass_main(ASS_BUF,SubL(t,t1,1),an(5)+pos(_X+RAN1+4,_Y+4)+color1("95614C")+blur(1)+bord(1)+color3("95614C")+alpha1(130)+alpha3(130)+Clip,_TXT)
  91.     if _i == 3:
  92.         for h in range(_BT+_SK,_ET,step):
  93.             t = h
  94.             t1 = t + step
  95.             step2 = int((_ET - _BT - _SK) / step)
  96.             H = int((h - _BT - _SK) / step)
  97.             if H % 2 == 0:
  98.                 MOVE = move(_X + (step2 * 2) - (H * 2),_Y,_X + (step2 * 2) - ((H + 1) * 2),_Y - 2)
  99.                 MOVE2 = move((_X + (step2 * 2) - (H * 2)) + 4,_Y,_X + (step2 * 2) - ((H + 1) * 2),_Y - 2)
  100.                 ass_main(ASS_BUF,SubL(t,t1,2),an(5)+MOVE+color1("34DADA")+blur(1)+bord(1)+color3("34DADA"),_TXT)
  101.                 ass_main(ASS_BUF,SubL(t,t1,1),an(5)+MOVE2+color1("5D9BA1")+blur(1)+bord(1)+color3("5D9BA1")+alpha1(130)+alpha3(130),_TXT)
  102.             else:
  103.                 MOVE = move(_X + (step2 * 2) - (H * 2),_Y - 2,_X + (step2 * 2) - ((H + 1) * 2),_Y)
  104.                 MOVE2 = move((_X + (step2 * 2) - (H * 2)) + 4,_Y - 2,_X + (step2 * 2) - ((H + 1) * 2),_Y)
  105.                 ass_main(ASS_BUF,SubL(t,t1,2),an(5)+MOVE+color1("34DADA")+blur(1)+bord(1)+color3("34DADA"),_TXT)
  106.                 ass_main(ASS_BUF,SubL(t,t1,1),an(5)+MOVE2+color1("5D9BA1")+blur(1)+bord(1)+color3("5D9BA1")+alpha1(130)+alpha3(130),_TXT)
  107.         for k in range(int(_A)):
  108.             Clip = clip(int(_X-_A / 2+k), int(_Y-_Fs/2), int(_X-_A/2+k+1), int(_Y+_Fs/2))
  109.             for h in range(_ET,_ET+30,step):
  110.                 t = h
  111.                 t1 = t + step
  112.                 RAN1 = randint(-3,3)
  113.                 ass_main(ASS_BUF,SubL(t,t1,2),an(5)+pos(_X+RAN1,_Y)+color1("34DADA")+blur(1)+bord(1)+color3("34DADA")+Clip,_TXT)
  114.                 ass_main(ASS_BUF,SubL(t,t1,1),an(5)+pos(_X+RAN1+4,_Y+4)+color1("5D9BA1")+blur(1)+bord(1)+color3("5D9BA1")+alpha1(130)+alpha3(130)+Clip,_TXT)
  115.     if _i > 3 and _i < 6:
  116.         ass_main(ASS_BUF,SubL(_BT-30,_BT,3),an(5)+move(_X+100,_Y,_X,_Y)+color1("3B08BC")+blur(1)+bord(1)+color3("3B08BC"),_TXT)
  117.         ass_main(ASS_BUF,SubL(_BT-30,_BT,2),an(5)+move(_X+100+1,_Y+1,_X+1,_Y+1)+color1("8660BC")+blur(1)+bord(1)+color3("8660BC")+alpha1(130)+alpha3(130),_TXT)
  118.         ass_main(ASS_BUF,SubL(_BT,_ET,3),an(5)+pos(_X,_Y)+color1("3B08BC")+blur(1)+bord(1)+color3("3B08BC"),_TXT)
  119.         ass_main(ASS_BUF,SubL(_BT,_ET,2),an(5)+pos(_X+1,_Y+1)+color1("8660BC")+blur(1)+bord(1)+color3("8660BC")+alpha1(130)+alpha3(130),_TXT)
  120.         ass_main(ASS_BUF,SubL(_BT+_SK,_ET,1),an(5)+pos(_X,_Y)+color1("441759")+blur(2)+bord(3)+color3("441759")+alpha1(200)+fscx(50)+fscy(50)+frz(45)+animation(fscx(150)+fscy(150)+frz(405)),"{\p1}m 0 0 l 30 0 l 30 30 l 0 30 l 0 0 {\p0}")
  121.         for k in range(int(_Fs)):
  122.             Clip = clip(int(_X-_A / 2), int(_Y-_Fs/2+k), int(_X+_A/2), int(_Y-_Fs/2+k+1))
  123.             for h in range(_ET,_ET+30,step):
  124.                 t = h
  125.                 t1 = t + step
  126.                 RAN1 = randint(-3,3)
  127.                 ass_main(ASS_BUF,SubL(t,t1,2),an(5)+pos(_X+RAN1,_Y)+color1("3B08BC")+blur(1)+bord(1)+color3("3B08BC")+Clip,_TXT)
  128.                 ass_main(ASS_BUF,SubL(t,t1,1),an(5)+pos(_X+RAN1+1,_Y+1)+color1("8660BC")+blur(1)+bord(1)+color3("8660BC")+alpha1(130)+alpha3(130)+Clip,_TXT)
  129.     if _i == 6:
  130.         t1 = getBT(6)
  131.         t2 = getKT(6,4)
  132.         t3 = getSK(6,4)
  133.         t4 = getET(6)
  134.         if _j < 5:
  135.             ass_main(ASS_BUF,SubL(_BT-30,_BT,3),an(5)+move(_X+100,_Y,_X,_Y)+color1("599130")+blur(1)+bord(1)+color3("599130"),_TXT)
  136.             ass_main(ASS_BUF,SubL(_BT-30,_BT,2),an(5)+move(_X+100+1,_Y+1,_X+1,_Y+1)+color1("315D16")+blur(1)+bord(1)+color3("315D16")+alpha1(130)+alpha3(130),_TXT)
  137.             ass_main(ASS_BUF,SubL(_BT,_ET,3),an(5)+pos(_X,_Y)+color1("599130")+blur(1)+bord(1)+color3("599130"),_TXT)
  138.             ass_main(ASS_BUF,SubL(_BT,_ET,2),an(5)+pos(_X+1,_Y+1)+color1("315D16")+blur(1)+bord(1)+color3("315D16")+alpha1(130)+alpha3(130),_TXT)
  139.             ass_main(ASS_BUF,SubL(_BT+_SK,_ET,1),an(5)+pos(_X,_Y)+color1("032C03")+blur(2)+bord(3)+color3("032C03")+alpha1(200)+fscx(50)+fscy(50)+frz(45)+animation(fscx(150)+fscy(150)+frz(405)),"{\p1}m 0 0 l 30 0 l 30 30 l 0 30 l 0 0 {\p0}")
  140.             ass_main(ASS_BUF,SubL(_ET,_ET+20,2),an(5)+pos(_X,_Y)+color1("599130")+blur(1)+bord(1)+color3("599130")+fad(0,200),_TXT)
  141.             ass_main(ASS_BUF,SubL(_ET,_ET+20,1),an(5)+pos(_X+4,_Y+4)+color1("032C03")+blur(1)+bord(1)+color3("032C03")+alpha1(130)+alpha3(130)+fad(0,200),_TXT)
  142.         else:
  143.             for i in range(t1+t2+t3,t4):
  144.                 ass_main(ASS_BUF,SubL(i,i+20,10),an(5)+move(_X,_Y,_X+randint(-8,8),_Y+randint(-8,8))+alpha(170)+bord(1)+color1("FFFFFF")+color3("FFFFFF")+alpha3(150)+blur(1)+fad(0,200),_TXT)
  145.             ass_main(ASS_BUF,SubL(t1+t2+t3,t4+20,10),an(5)+pos(_X,_Y)+bord(1)+blur(1)+color1("FFFFFF")+color3("FFFFFF")+fad(0,200), _TXT)
  146.     if _i == 7:
  147.         ass_main(ASS_BUF,SubL(_BT+_SK-30,_BT+_SK,2),an(5)+move(_X,_Y+70,_X,_Y)+bord(1)+blur(1)+color1("DA95DD")+color3("DA95DD")+fad(300,0), _TXT)
  148.         ass_main(ASS_BUF,SubL(_BT+_SK-30,_BT+_SK,1),an(5)+move(_X+4,_Y+74,_X+4,_Y+4)+bord(1)+blur(1)+color1("A86E99")+color3("A86E99")+alpha1(130)+alpha3(130)+fad(300,0), _TXT)
  149.         ass_main(ASS_BUF,SubL(_BT+_SK,_ET,2),an(5)+pos(_X,_Y)+bord(1)+blur(1)+color1("DA95DD")+color3("DA95DD")+fad(0,300), _TXT)
  150.         ass_main(ASS_BUF,SubL(_BT+_SK,_ET,1),an(5)+pos(_X+4,_Y+4)+bord(1)+blur(1)+color1("A86E99")+color3("A86E99")+alpha1(130)+alpha3(130)+fad(0,300), _TXT)
  151.         for i in range (20):
  152.             RAN1 = randint(150,200)
  153.             RAN2 = randint(30,60)
  154.             ass_main(ASS_BUF,SubL(_BT+_SK,_ET + 20,0),an(5)+move(_X,_Y,_X+randint(-150,150),_Y+randint(0,80))+fscx(RAN1)+fscy(RAN1)+fr(0)+bord(0)+be(1)+blur(1)+color1("FDFCDF")+animation(fr(360)+fscx(RAN2)+fscy(RAN2))+fad(200,300),"{\p1}"+sakura[0]+"{\p0}")
  155.     if _i == 8:
  156.         RAN1 = randint(-10,50)
  157.         RAN2 = randint(0,30)
  158.         RAN3 = randint(-30,0)
  159.         if RAN1 < 20:
  160.             ass_main(ASS_BUF,SubL(_BT,_ET),an(5)+move(_X,_Y+RAN1,_X,_Y+RAN2)+bord(1)+blur(1)+color1("FFFFFF")+color3("FFFFFF")+fad(300,300),_TXT)
  161.         else:
  162.             ass_main(ASS_BUF,SubL(_BT,_ET),an(5)+move(_X,_Y+RAN1,_X,_Y+RAN3)+bord(1)+blur(1)+color1("FFFFFF")+color3("FFFFFF")+fad(300,300),_TXT)
  163.     if _i == 9:
  164.         t1 = getBT(9)      #獲取第i行字幕的開始時間 (以下 i j 之類的均從0開始數)
  165.         t2 = getKT(9,3)    #獲取第i行第j個字(詞)的K時間
  166.         t3 = getSK(9,3)    #獲取第i行第j個字(詞)之前的K時間總和
  167.         t4 = getET(9)      #獲取第i行字幕的結束時間
  168.         if _j < 4:
  169.             ass_main(ASS_BUF,SubL(t1-30,t1+t2+t3,2),an(5)+move(_X+int(_ResolutionX/2),_Y,_X,_Y,0,300)+bord(1)+blur(1)+color1("E0C3A0")+color3("E0C3A0")+fad(300,0)+fscx(150)+fscy(150)+animation(fscx(100)+fscy(100)),_TXT)
  170.             ass_main(ASS_BUF,SubL(t1-30,t1+t2+t3,1),an(5)+move(_X+int(_ResolutionX/2)+4,_Y+4,_X+4,_Y+4,0,300)+bord(1)+blur(1)+color1("887E74")+color3("887E74")+fad(300,0)+fscx(150)+fscy(150)+animation(fscx(100)+fscy(100))+alpha1(130)+alpha3(130),_TXT)
  171.             ass_main(ASS_BUF,SubL(t1+t2+t3,t4,2),an(5)+pos(_X,_Y)+bord(1)+blur(1)+color1("E0C3A0")+color3("E0C3A0"),_TXT)
  172.             ass_main(ASS_BUF,SubL(t1+t2+t3,t4,1),an(5)+pos(_X+4,_Y+4)+bord(1)+blur(1)+color1("887E74")+color3("887E74")+alpha1(130)+alpha3(130),_TXT)
  173.             for k in range(int(_Fs)):
  174.                 Clip = clip(int(_X-_A / 2), int(_Y-_Fs/2+k), int(_X+_A/2), int(_Y-_Fs/2+k+1))
  175.                 for h in range(_ET,_ET+30,step):
  176.                     t5 = h
  177.                     t6 = t5 + step
  178.                     RAN1 = randint(-3,3)
  179.                     ass_main(ASS_BUF,SubL(t5,t6,2),an(5)+pos(_X+RAN1,_Y)+color1("E0C3A0")+blur(1)+bord(1)+color3("E0C3A0")+Clip,_TXT)
  180.                     ass_main(ASS_BUF,SubL(t5,t6,1),an(5)+pos(_X+RAN1+4,_Y+4)+color1("887E74")+blur(1)+bord(1)+color3("887E74")+alpha1(130)+alpha3(130)+Clip,_TXT)
  181.         else:
  182.             ass_main(ASS_BUF,SubL(t1+t2+t3-30,t4,2),an(5)+move(_X-int(_ResolutionX/2),_Y,_X,_Y,0,300)+bord(1)+blur(1)+color1("420087")+color3("420087")+fad(300,0)+fscx(150)+fscy(150)+animation(fscx(100)+fscy(100)),_TXT)
  183.             ass_main(ASS_BUF,SubL(t1+t2+t3-30,t4,1),an(5)+move(_X-int(_ResolutionX/2)+4,_Y+4,_X+4,_Y+4,0,300)+bord(1)+blur(1)+color1("ECBBDF")+color3("ECBBDF")+fad(300,0)+fscx(150)+fscy(150)+animation(fscx(100)+fscy(100))+alpha1(130)+alpha3(130),_TXT)
  184.             for k in range(int(_Fs)):
  185.                 Clip = clip(int(_X-_A / 2), int(_Y-_Fs/2+k), int(_X+_A/2), int(_Y-_Fs/2+k+1))
  186.                 for h in range(_ET,_ET+30,step):
  187.                     t5 = h
  188.                     t6 = t5 + step
  189.                     RAN1 = randint(-3,3)
  190.                     ass_main(ASS_BUF,SubL(t5,t6,2),an(5)+pos(_X+RAN1,_Y)+color1("420087")+blur(1)+bord(1)+color3("420087")+Clip,_TXT)
  191.                     ass_main(ASS_BUF,SubL(t5,t6,1),an(5)+pos(_X+RAN1+4,_Y+4)+color1("ECBBDF")+blur(1)+bord(1)+color3("ECBBDF")+alpha1(130)+alpha3(130)+Clip,_TXT)
  192.     if _i == 10:
  193.         ass_main(ASS_BUF,SubL(_BT+_SK-10,_ET),an(5)+pos(_X,_Y)+bord(0)+frx(25)+frz(50)+frz(-30)+color1("FFFFFF")+fad(200,0)+animation(0,_KT * 10 + 100,frx(0)+frz(0)+fry(0)+bord(1)+color3("FFFFFF")+blur(1)),_TXT)
  194.         for i in range(30):
  195.             R = RandCir2(_X, _Y, 20, 60)
  196.             ass_main(ASS_BUF,SubL(_ET,_ET+30),an(5)+move(_X,_Y,R[0],R[1])+color1("FFFDD")+color3("C91409")+bord(2)+blur(4)+be(10),'{\p1}m 0 0 l 1 0 1 1 0 1{\p0}')
  197.     if _i == 11:
  198.         t1 = getBT(11)      #獲取第i行字幕的開始時間 (以下 i j 之類的均從0開始數)
  199.         t2 = getKT(11,3)    #獲取第i行第j個字(詞)的K時間
  200.         t3 = getSK(11,3)    #獲取第i行第j個字(詞)之前的K時間總和
  201.         t4 = getET(11)      #獲取第i行字幕的結束時間
  202.         if _j < 6:
  203.             ass_main(ASS_BUF,SubL(t1-30,t1+t2+t3,2),an(5)+move(_X+int(_ResolutionX/2),_Y,_X,_Y,0,300)+bord(1)+blur(1)+color1("BD735B")+color3("BD735B")+fad(300,0)+fscx(150)+fscy(150)+animation(fscx(100)+fscy(100)),_TXT)
  204.             ass_main(ASS_BUF,SubL(t1-30,t1+t2+t3,1),an(5)+move(_X+int(_ResolutionX/2)+4,_Y+4,_X+4,_Y+4,0,300)+bord(1)+blur(1)+color1("A49F9B")+color3("A49F9B")+fad(300,0)+fscx(150)+fscy(150)+animation(fscx(100)+fscy(100))+alpha1(130)+alpha3(130),_TXT)
  205.             ass_main(ASS_BUF,SubL(t1+t2+t3,t4,2),an(5)+pos(_X,_Y)+bord(1)+blur(1)+color1("BD735B")+color3("BD735B")+fad(0,300),_TXT)
  206.             ass_main(ASS_BUF,SubL(t1+t2+t3,t4,1),an(5)+pos(_X+4,_Y+4)+bord(1)+blur(1)+color1("A49F9B")+color3("A49F9B")+fad(0,300)+alpha1(130)+alpha3(130),_TXT)
  207.         else:
  208.             ass_main(ASS_BUF,SubL(_BT+_SK-30,_ET,2),an(5)+move(_X+int(_ResolutionX/2),_Y,_X,_Y,0,300)+bord(1)+blur(1)+color1("6C55DC")+color3("6C55DC")+fad(300,0)+fscx(150)+fscy(150)+animation(300,_KT * 10 + 300,fscx(100)+fscy(100))+fad(0,300),_TXT)
  209.     if _i == 12:
  210.         t1 = getBT(12)      #獲取第i行字幕的開始時間 (以下 i j 之類的均從0開始數)
  211.         t2 = getKT(12,2)    #獲取第i行第j個字(詞)的K時間
  212.         t3 = getSK(12,2)    #獲取第i行第j個字(詞)之前的K時間總和
  213.         t4 = getET(12)      #獲取第i行字幕的結束時間
  214.         t5 = getKT(12,6)    #獲取第i行第j個字(詞)的K時間
  215.         t6 = getSK(12,6)    #獲取第i行第j個字(詞)之前的K時間總和
  216.         if _j < 3:
  217.             ass_main(ASS_BUF,SubL(t1-30,t1+t2+t3,2),an(5)+move(_X-int(_ResolutionX/2),_Y,_X,_Y,0,300)+bord(1)+blur(1)+color1("2708C8")+color3("2708C8")+fad(300,0)+fscx(100)+fscy(100)+animation(fscx(150)+fscy(150)),_TXT)
  218.             ass_main(ASS_BUF,SubL(t1-30,t1+t2+t3,1),an(5)+move(_X-int(_ResolutionX/2)+4,_Y+4,_X+4,_Y+4,0,300)+bord(1)+blur(1)+color1("BC9BA7")+color3("BC9BA7")+fad(300,0)+fscx(100)+fscy(100)+animation(fscx(150)+fscy(150))+alpha1(130)+alpha3(130),_TXT)
  219.             ass_main(ASS_BUF,SubL(t1+t2+t3,t4,2),an(5)+pos(_X,_Y)+bord(1)+blur(1)+color1("2708C8")+color3("2708C8")+fad(0,300),_TXT)
  220.             ass_main(ASS_BUF,SubL(t1+t2+t3,t4,1),an(5)+pos(_X+4,_Y+4)+bord(1)+blur(1)+color1("BC9BA7")+color3("BC9BA7")+fad(0,300)+alpha1(130)+alpha3(130),_TXT)
  221.         if _j > 2 and _j < 7:
  222.             ass_main(ASS_BUF,SubL(t1+t2+t3-30,t1+t5+t6,2),an(5)+move(_X+int(_ResolutionX/2),_Y,_X,_Y,0,300)+bord(1)+blur(1)+color1("73EAC0")+color3("73EAC0")+fad(300,0)+fscx(100)+fscy(100)+animation(fscx(150)+fscy(150)),_TXT)
  223.             ass_main(ASS_BUF,SubL(t1+t2+t3-30,t1+t5+t6,1),an(5)+move(_X+int(_ResolutionX/2)+4,_Y+4,_X+4,_Y+4,0,300)+bord(1)+blur(1)+color1("74A98C")+color3("74A98C")+fad(300,0)+fscx(100)+fscy(100)+animation(fscx(150)+fscy(150))+alpha1(130)+alpha3(130),_TXT)
  224.             ass_main(ASS_BUF,SubL(t1+t5+t6,t4,2),an(5)+pos(_X,_Y)+bord(1)+blur(1)+color1("73EAC0")+color3("73EAC0")+fad(0,300),_TXT)
  225.             ass_main(ASS_BUF,SubL(t1+t5+t6,t4,1),an(5)+pos(_X+4,_Y+4)+bord(1)+blur(1)+color1("74A98C")+color3("74A98C")+fad(0,300)+alpha1(130)+alpha3(130),_TXT)
  226.         if _j > 6 and _j < 8:
  227.             ass_main(ASS_BUF,SubL(_BT+_SK,_ET),an(5)+pos(_X,_Y)+bord(2)+color1("000000")+color3("FFFFFF")+fsc(100,100)+animation(0,_KT * 5,fsc(70,70))+animation(_KT * 5,_KT * 10,fsc(100,100)+color1("FFFFFF")+color3("000000"))+fad(0,300),_TXT)
  228.         else:
  229.             ass_main(ASS_BUF,SubL(_BT+_SK,_ET),an(5)+pos(_X,_Y)+bord(2)+color1("FFFFFF")+color3("000000")+fsc(100,100)+animation(0,_KT * 5,fsc(70,70))+animation(_KT * 5,_KT * 10,fsc(100,100)+color1("000000")+color3("FFFFFF"))+fad(0,300),_TXT)
  230.     if _i == 13:
  231.         t1 = getBT(13)      #獲取第i行字幕的開始時間 (以下 i j 之類的均從0開始數)
  232.         t2 = getKT(13,1)    #獲取第i行第j個字(詞)的K時間
  233.         t3 = getSK(13,1)    #獲取第i行第j個字(詞)之前的K時間總和
  234.         t4 = getET(13)      #獲取第i行字幕的結束時間
  235.         t5 = getKT(13,3)    #獲取第i行第j個字(詞)的K時間
  236.         t6 = getSK(13,3)    #獲取第i行第j個字(詞)之前的K時間總和
  237.         if _j < 2:
  238.             ass_main(ASS_BUF,SubL(t1-30,t1+t2+t3,2),an(5)+move(_X-int(_ResolutionX/2),_Y,_X,_Y,0,300)+bord(1)+blur(1)+color1("9D2636")+color3("9D2636")+fad(300,0),_TXT)
  239.             ass_main(ASS_BUF,SubL(t1-30,t1+t2+t3,1),an(5)+move(_X-int(_ResolutionX/2)+4,_Y+4,_X+4,_Y+4,0,300)+bord(1)+blur(1)+color1("51098E")+color3("51098E")+fad(300,0)+alpha1(130)+alpha3(130),_TXT)
  240.             ass_main(ASS_BUF,SubL(t1+t2+t3,t4,2),an(5)+pos(_X,_Y)+bord(1)+blur(1)+color1("9D2636")+color3("9D2636")+fad(0,300),_TXT)
  241.             ass_main(ASS_BUF,SubL(t1+t2+t3,t4,1),an(5)+pos(_X+4,_Y+4)+bord(1)+blur(1)+color1("51098E")+color3("51098E")+fad(0,300)+alpha1(130)+alpha3(130),_TXT)
  242.         if _j > 1 and _j < 4:
  243.             ass_main(ASS_BUF,SubL(_BT+_SK-30,_BT+_SK+_KT,2),an(5)+move(_X-int(_ResolutionX/2),_Y,_X,_Y,0,300)+bord(1)+blur(1)+color1("9D2636")+color3("9D2636")+fad(300,0),_TXT)
  244.             ass_main(ASS_BUF,SubL(_BT+_SK-30,_BT+_SK+_KT,1),an(5)+move(_X-int(_ResolutionX/2)+4,_Y+4,_X+4,_Y+4,0,300)+bord(1)+blur(1)+color1("51098E")+color3("51098E")+fad(300,0)+alpha1(130)+alpha3(130),_TXT)
  245.             ass_main(ASS_BUF,SubL(_BT+_SK+_KT,_ET,2),an(5)+pos(_X,_Y)+bord(1)+blur(1)+color1("9D2636")+color3("9D2636")+fad(0,300),_TXT)
  246.             ass_main(ASS_BUF,SubL(_BT+_SK+_KT,_ET,1),an(5)+pos(_X+4,_Y+4)+bord(1)+blur(1)+color1("51098E")+color3("51098E")+fad(0,300)+alpha1(130)+alpha3(130),_TXT)
  247.         if _j > 3:
  248.             ass_main(ASS_BUF,SubL(t1+t5+t6-30,t4,2),an(5)+move(_X,_Y+50,_X,_Y,0,300)+bord(1)+blur(1)+color1("DAADB1")+color3("DAADB1")+fad(300,300),_TXT)
  249.             ass_main(ASS_BUF,SubL(t1+t5+t6-30,t4,1),an(5)+move(_X+4,_Y+50+4,_X+4,_Y+4,0,300)+bord(1)+blur(1)+color1("912431")+color3("912431")+fad(300,300)+alpha1(130)+alpha3(130),_TXT)
  250.     if _i == 14:
  251.         t1 = getBT(14)      #獲取第i行字幕的開始時間 (以下 i j 之類的均從0開始數)
  252.         t2 = getKT(14,2)    #獲取第i行第j個字(詞)的K時間
  253.         t3 = getSK(14,2)    #獲取第i行第j個字(詞)之前的K時間總和
  254.         t4 = getET(14)      #獲取第i行字幕的結束時間
  255.         if _j < 3:
  256.             ass_main(ASS_BUF,SubL(_BT-30,_ET,2),an(5)+pos(_X,_Y)+bord(1)+blur(1)+color1("DCAAED")+color3("DCAAED")+fad(300,300),_TXT)
  257.         else:
  258.             ass_main(ASS_BUF,SubL(_BT+_SK-30,_ET,2),an(5)+move(_X+int(_ResolutionX/2),_Y,_X,_Y,0,300)+bord(1)+blur(1)+color1("7A7CC7")+color3("7A7CC7")+fad(300,300),_TXT)
  259.     if _i == 15:
  260.         t1 = getBT(15)      #獲取第i行字幕的開始時間 (以下 i j 之類的均從0開始數)
  261.         t2 = getKT(15,5)    #獲取第i行第j個字(詞)的K時間
  262.         t3 = getSK(15,5)    #獲取第i行第j個字(詞)之前的K時間總和
  263.         t4 = getET(15)      #獲取第i行字幕的結束時間
  264.         if _j < 6:
  265.             ass_main(ASS_BUF,SubL(t1-30,t1+(t2+t3)/2,2),an(5)+move(_X-10,_Y,_X-20,_Y-10)+bord(1)+blur(1)+color1("EBC2E4")+color3("EBC2E4")+fad(300,0),_TXT)
  266.             ass_main(ASS_BUF,SubL(t1-30,t1+(t2+t3)/2,1),an(5)+move(_X-10+6,_Y+6,_X+6-20,_Y+6-10)+bord(1)+blur(1)+color1("632390")+color3("632390")+fad(300,0)+alpha1(130)+alpha3(130),_TXT)
  267.             ass_main(ASS_BUF,SubL(t1+(t2+t3)/2,t1+t2+t3,2),an(5)+move(_X-20,_Y-10,_X,_Y)+bord(1)+blur(1)+color1("EBC2E4")+color3("EBC2E4"),_TXT)
  268.             ass_main(ASS_BUF,SubL(t1+(t2+t3)/2,t1+t2+t3,1),an(5)+move(_X-20+6,_Y+6-10,_X+6,_Y+6)+bord(1)+blur(1)+color1("632390")+color3("632390")+alpha1(130)+alpha3(130),_TXT)
  269.             ass_main(ASS_BUF,SubL(t1+t2+t3,t4,2),an(5)+pos(_X,_Y)+bord(1)+blur(1)+color1("EBC2E4")+color3("EBC2E4")+fad(0,300),_TXT)
  270.             ass_main(ASS_BUF,SubL(t1+t2+t3,t4,1),an(5)+pos(_X+6,_Y+6)+bord(1)+blur(1)+color1("632390")+color3("632390")+fad(0,300)+alpha1(130)+alpha3(130),_TXT)
  271.         else:
  272.             ass_main(ASS_BUF, SubL(_BT+_SK-10,_BT+_SK+20),move(_X,0,_X,_Y)+org(_X,_Y)+an(5)+animation(0,100,fscx(130)+fscy(75)+frz(-30))+animation(100,200,fscx(80)+fscy(120)+frz(20))+animation(200,300,fscx(100)+fscy(100)+frz(0))+color1("DC00A2")+color3("FBB9EF")+bord(1)+blur(1), _TXT)
  273.             ass_main(ASS_BUF, SubL(_BT+_SK+20,_ET),an(5)+pos(_X,_Y)+color1("DC00A2")+color3("FBB9EF")+bord(1)+blur(1)+fad(0,300), _TXT)
  274.     if _i == 16:
  275.         if _j < 6:
  276.             ass_main(ASS_BUF,SubL(_BT,_BT+_SK,2),an(5)+pos(_X,_Y-2-(_j * 2))+bord(0)+color1("9A94DC"),_TXT)
  277.             ass_main(ASS_BUF,SubL(_BT,_BT+_SK,1),an(5)+pos(_X+2,_Y-2-(_j * 2)+2)+bord(0)+color1("160C75")+alpha1(130)+alpha3(130),_TXT)
  278.             ass_main(ASS_BUF,SubL(_BT+_SK,_ET,2),an(5)+move(_X,_Y-2-(_j * 2),_X,_Y,0,_KT * 10)+bord(0)+color1("9A94DC")+fad(0,300),_TXT)
  279.             ass_main(ASS_BUF,SubL(_BT+_SK,_ET,1),an(5)+move(_X+2,_Y-2-(_j * 2)+2,_X,_Y,0,_KT * 10)+bord(0)+color1("160C75")+fad(0,300)+alpha1(130)+alpha3(130),_TXT)
  280.         else:
  281.             for j in range(_BT+_SK,_ET,step):
  282.                 t = j
  283.                 t1 = t + step
  284.                 ass_main(ASS_BUF,SubL(t,t1),an(5)+pos(_X+randint(-3,3),_Y+randint(-3,3))+color1("FFFFFF")+color3("FFFFFF")+bord(2)+be(3)+blur(4) ,_TXT)
  285.     if _i == 17:
  286.         ass_main(ASS_BUF,SubL(_BT,_ET,2),an(5)+move(_X+150,_Y,_X-150,_Y)+color1("9B5814")+color3("9B5814")+bord(1)+blur(1)+fsc(100,100)+animation(_SK * 10,(_SK * 10) + (_KT * 5),fsc(130,130))+animation((_SK * 10) + (_KT * 5),(_SK * 10) + (_KT * 10),fsc(100,100)),_TXT)
  287.         ass_main(ASS_BUF,SubL(_BT,_ET,2),an(5)+move(_X+150+3,_Y+3,_X-150+3,_Y+3)+color1("FFFFFF")+color3("FFFFFF")+bord(1)+blur(1)+fsc(100,100)+animation(_SK * 10,(_SK * 10) + (_KT * 5),fsc(130,130))+animation((_SK * 10) + (_KT * 5),(_SK * 10) + (_KT * 10),fsc(100,100))+alpha1(130)+alpha3(130),_TXT)
  288.     if _i == 18:
  289.         ass_main(ASS_BUF,SubL(_BT+_SK-40,_BT+_SK),an(5)+pos(_X,_Y)+color1("F8A8F2")+color3("F8A8F2")+bord(1)+blur(1)+fsc(160,160)+fad(300,0)+animation(fsc(100,100)),_TXT)
  290.         for j in range(_BT+_SK,_ET,step):
  291.             t = j
  292.             t1 = t + step
  293.             RAN1 = randint(-3,3)
  294.             ass_main(ASS_BUF,SubL(t,t1,2),an(5)+pos(_X+RAN1,_Y+RAN1)+color1("F8A8F2")+color3("F8A8F2")+bord(1)+blur(1),_TXT)
  295.             ass_main(ASS_BUF,SubL(t,t1,1),an(5)+pos(_X+RAN1+3,_Y+RAN1+3)+color1("EBE4E5")+color3("EBE4E5")+bord(1)+blur(1)+alpha1(130)+alpha3(130),_TXT)
  296.    

  297.     return (ASS_BUF,None)
复制代码
视频下载地址
没啥新鲜东西,就是写的细了点...模仿视频里的原效果了
3

查看全部评分

Rank: 5Rank: 5

发表于 2013-1-26 04:27:38 |显示全部楼层
深夜顶一个

Rank: 4

发表于 2013-1-26 06:02:17 |显示全部楼层
早晨顶个

Rank: 5Rank: 5

发表于 2013-1-26 09:45:01 |显示全部楼层
一大早来支持个

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2013-1-26 19:33:39 |显示全部楼层
這個必須頂, 堪稱經典.

瘋子爆肝辛苦了

Rank: 4

发表于 2013-1-26 22:39:04 |显示全部楼层
我跪了。。。= =又是如此长长长~~~

Rank: 4

发表于 2013-1-29 20:44:07 |显示全部楼层
读书破万卷,下笔如有神,围观之

Rank: 4

发表于 2013-2-4 11:02:44 |显示全部楼层
我终于能明白一点tcax 为啥能做ASS的特效代码添加的活了,因为那些内置特效 里面写入了ASS代码 原来如此我这个脑残的小孩(笑)

Rank: 4

发表于 2013-5-12 15:49:01 |显示全部楼层
追随菊苣的脚步。。。

Rank: 4

发表于 2013-12-26 22:44:42 |显示全部楼层
这么长?!
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-3-29 18:43

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH