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

 找回密码
 新人加入
查看: 6076|回复: 13

[完整特效] [lun]002_c3_op [复制链接]

Moderator

疯子

Rank: 5Rank: 5

发表于 2012-3-2 21:51:25 |显示全部楼层
  1. from tcaxPy import *
  2.    
  3. def fr(x):

  4.     X = randint(-x,x)

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


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

  7.     ASS_BUF = []                # 用于保存ASS特效

  8.             ########文字效果########
  9.     ass_main(ASS_BUF,SubL(_BT-40,_BT+_SK-15),an(5)+color3("8C2125")+fry(-180)+t(fry(0))+move(_X,_Y-50,_X,_Y) ,_TXT)
  10.     ass_main(ASS_BUF,SubL(_BT+_SK-15,_BT+_SK+_KT/2),blur(5)+move(_X,_Y,_X,_Y+5)+color3("CCCCCC") ,_TXT)
  11.     ass_main(ASS_BUF,SubL(_BT+_SK+_KT/2,_BT+_SK+_KT),blur(5)+move(_X,_Y+5,_X,_Y)+alpha3(255)+color3("CA80FF")+be(15)+bord(3)+color1("CA80FF") ,_TXT)
  12.              #########水波纹效果########
  13.     ass_main(ASS_BUF,SubL(_BT+_SK+_KT/2,_BT+_SK+_KT),an(7)+pos(_X,_Y+30)+frx(78)+alpha1(255)+alpha3(0)+be(1)+color3("CCCCCC")+bord(2)+fscx(0)+fscy(0)+t(0,_KT*10,fscx(100)+fscy(100)+bord(6))+fad(0,400),"{\p2}m 59 0 b 59 -79 -59 -79 -59 0 -59 79 59 79 59 0{\p0}")
  14.     ass_main(ASS_BUF,SubL(_BT+_SK+_KT/2+20,_BT+_SK+_KT+20),an(7)+pos(_X,_Y+30)+frx(78)+alpha1(255)+alpha3(0)+be(1)+color3("CCCCCC")+bord(2)+fscx(0)+fscy(0)+t1(0,_KT*10,fscx(100)+fscy(100)+bord(6))+fad(0,400),"{\p2}m 59 0 b 59 -79 -59 -79 -59 0 -59 79 59 79 59 0{\p0}")
  15.              ###########樱花效果###########
  16.     for j in range(0,10):
  17.         ass_main(ASS_BUF,SubL(_BT+_SK+_KT+10,_ET+50),fsc(50,50)+frz(randint(0,360))+fry(randint(0,360))+frx(randint(0,360))+t(fr(720))+shad(0)+bord(0)+color1("F0E7FB")+color3("D970C3")+alpha3(150)+move(_X,_Y,_X-randint(0,400),_Y-randint(-100,50))+bord(1.5)+be(1)+blur(3)+fad(20,500),"{\p1}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 {\p0}")
  18.     for j in range(10,15):
  19.         ass_main(ASS_BUF,SubL(_BT+_SK+_KT+10,_ET+50),fsc(50,50)+frz(randint(0,360))+fry(randint(0,360))+frx(randint(0,360))
  20. +t(fr(720))+shad(0)+bord(0)+color1("F0E7FB")+color3("D970C3")+alpha3(150)+move(_X,_Y,_X-randint(-900,900),_Y-randint(-400,400))+bord(1.5)+be(1)+blur(3)+fad(20,500),"{\p1}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 {\p0}")







  21.     return (ASS_BUF, None)
复制代码
1

查看全部评分

Rank: 5Rank: 5

发表于 2012-3-3 01:14:27 |显示全部楼层
前排支持...
膜拜各位大大...
现在咱在学习py...

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2012-3-3 11:00:11 |显示全部楼层
忘却の小伊 发表于 2012-3-3 01:14
前排支持...
膜拜各位大大...
现在咱在学习py...

加油, 学习py才是王道啊

VIP

Rank: 5Rank: 5

发表于 2012-7-30 21:22:47 |显示全部楼层
已经用在白金disco上了,感谢轴神!

Moderator

疯子

Rank: 5Rank: 5

发表于 2012-7-30 23:16:49 |显示全部楼层
xiaowan3 发表于 2012-7-30 21:22
已经用在白金disco上了,感谢轴神!

别这么说,承受不起啊

Rank: 4

发表于 2013-2-4 19:08:13 |显示全部楼层
(_BT-40,_BT+_SK-15 )    啊呜    。。请问这里为什么用SK呢0.0?。。。如果用KT就不是一个字一个字移动了吗
(_BT+_SK-15,_BT+_SK+_KT/2),呜咕。。SK是K值的总和再加KT/2是做什么呢0.0?
(_BT+_SK+_KT/2,_BT+_SK+_KT),啊呜。。_BT+_SK+_KT就是时间轴上定义的时间吗?

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-2-4 19:12:46 |显示全部楼层
爱雪音MiKu 发表于 2013-2-4 19:08
(_BT-40,_BT+_SK-15 )    啊呜    。。请问这里为什么用SK呢0.0?。。。如果用KT就不是一个字一个字移动了 ...

第一段是开始时间-40至开始时间+开始至K开始前时间-15
第二段是开始至K开始前时间-15,开始时间+开始至K开始前时间+K执行时间的一半
第三段是开始时间+开始至K开始前时间+K执行时间的一半,开始时间+开始至K开始前时间+K执行时间

Rank: 4

发表于 2013-2-4 19:19:54 |显示全部楼层
渣渣疯子 发表于 2013-2-4 19:12
第一段是开始时间-40至开始时间+开始至K开始前时间-15
第二段是开始至K开始前时间-15,开始时间+开始至K ...

嘎哦。。V。。明白了。。谢谢轴神大人。。。偶又看懂一个脚本了。。继续加油的说

Rank: 4

发表于 2013-2-6 17:22:57 |显示全部楼层
呜咕。。再请教大大一个问题。。。偶要做一个字幕一共是28行字幕  偶要前7句做一个特效那么if  _i >=7   这样写
第14句到21句一个特效那么if 14 <= _i <=21
而第8句到第13句和第22句到第28句偶要做同一个特效所以判断行数是if  8 <= _j <= 13   and  22 <= _i <= 28   这样写吗0.0?

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2013-2-6 19:28:47 |显示全部楼层
爱雪音MiKu 发表于 2013-2-6 17:22
呜咕。。再请教大大一个问题。。。偶要做一个字幕一共是28行字幕  偶要前7句做一个特效那么if  _i >=7   这 ...


前7, if _i < 7

14到21, if 14 - 1 <= _i and _i < 21 - 1

之所以要-1是因為, 程序中, 下標多數都是從0開始的, (而我們計數一般從1開始). 這點必須要理解清楚.
另外, 你必須要再好好看看python基本語法, 在python中, 是沒有14 <= _i <=21 這種用法的, 可以用and or 等進行邏輯的組合.

8到13 與 22到28 應該用 or 而不是 and, (自然語言的 "和" "與" "或" 等, 與其在邏輯中的含義是有一定差別的... 我相信課本上肯定提到過)

p.s. 我再嘮叨下, 這些代碼, 你在問之前, 為什麼不先自己試驗一下呢...

Rank: 4

发表于 2013-2-6 20:07:21 |显示全部楼层
milkyjing 发表于 2013-2-6 19:28
前7, if _i < 7

14到21, if 14 - 1

呜咕。。V。。明白了。。从0开始这个偶知道的只是不确定行数也要的说0.0。。。偶继续研究。。那么应该这样写咯0.0?if  8 - 1 <=_i   and _i < 13- 1  or  22 - <= _i and _i < 28 - 1      

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2013-2-6 20:32:50 |显示全部楼层
爱雪音MiKu 发表于 2013-2-6 20:07
呜咕。。V。。明白了。。从0开始这个偶知道的只是不确定行数也要的说0.0。。。偶继续研究。。那么应该这 ...

在你不確定運算符優先級的情況下, 最好加括號...

Rank: 4

发表于 2013-2-6 20:47:12 |显示全部楼层
milkyjing 发表于 2013-2-6 20:32
在你不確定運算符優先級的情況下, 最好加括號...

呜咕。。这个偶知道。。一般情况下算数的优先级。。比。。比较的高。。。。偶继续去看教程

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2013-2-7 00:16:16 |显示全部楼层
爱雪音MiKu 发表于 2013-2-6 20:47
呜咕。。这个偶知道。。一般情况下算数的优先级。。比。。比较的高。。。。偶继续去看教程 ...

if  (8 - 1 <=_i   and _i < 13- 1)  or  (22 - <= _i and _i < 28 - 1)
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-7-18 15:16

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH