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

标题: 表示想实现一个雪花在1080*720随机飘落的效果... [打印本页]

作者: ccx    时间: 2014-1-6 19:45:00     标题: 表示想实现一个雪花在1080*720随机飘落的效果...

本帖最后由 ccx 于 2014-1-7 21:49 编辑
  1. from tcaxPy import *
  2. from s import *

  3. def tcaxPy_Init():
  4.     global _FD                              # frame duration, in millisecond
  5.     global _Fs
  6.    
  7.     _FD = 1000 / GetVal(val_FXFPS)
  8.     _Fs = GetVal(val_FontSize)
  9.    
  10. def tcaxPy_User():
  11.     pass


  12. def tcaxPy_Fin():
  13.     pass
  14. def tcaxPy_Main(_i, _j, _n, _start, _end, _elapk, _k, _x, _y, _a, _txt):

  15.     ASS_BUF  = []        # used for saving ASS FX lines
  16.     TCAS_BUF = []        # used for saving TCAS FX raw data

  17.     #############################
  18.     # TODO: write your codes here #
  19.     MOV = mover(randint(0,1080),0,randint(0,1080),720,randint(-90,90),0,150,150)
  20.     for i in range(5):
  21.        ass_main(ASS_BUF, SubL(_start, _end), MOV+t(frz(randint(-180,180))),"{\p3}m 77 67 l 77 67 l 77 67 l 78 63 l 77 59 l 79 56 l 81 58 l 85 49 l 83 48 l 85 44 l 87 43 l 80 34 l 75 21 l 75 17 l 80 19 l 87 29 l 91 40 l 98 28 l 95 23 l 94 16 l 97 15 l 100 19 l 101 25 l 107 14 l 115 5 l 112 16 l 107 26 l 111 26 l 115 28 l 111 31 l 105 30 l 97 43 l 107 42 l 119 45 l 115 49 l 104 49 l 97 48 l 96 50 l 94 53 l 92 52 l 82 68 l 85 69 l 99 68 l 99 66 l 106 66 l 108 67 l 110 58 l 121 48 l 124 51 l 123 56 l 117 63 l 112 68 l 127 68 l 128 64 l 133 60 l 135 62 l 134 67 l 131 69 l 144 69 l 153 72 l 150 73 l 142 74 l 131 74 l 135 79 l 135 83 l 131 82 l 128 79 l 127 74 l 112 75 l 118 84 l 121 84 l 122 86 l 121 86 l 124 95 l 124 100 l 119 97 l 114 91 l 107 78 l 103 78 l 101 75 l 82 75 l 92 91 l 93 90 l 96 94 l 96 96 l 97 94 l 109 95 l 112 96 l 113 98 l 111 102 l 108 104 l 106 104 l 105 103 l 95 101 l 103 113 l 109 113 l 110 115 l 110 116 l 105 116 l 110 126 l 112 131 l 112 134 l 109 131 l 101 119 l 98 123 l 95 122 l 97 117 l 99 116 l 92 104 l 89 112 l 90 114 l 88 117 l 79 119 l 78 114 l 85 102 l 88 101 l 84 95 l 86 94 l 77 79 l 75 82 l 77 85 l 74 90 l 71 88 l 68 92 l 69 96 l 66 101 l 64 100 l 67 102 l 72 109 l 76 117 l 76 123 l 72 122 l 69 119 l 66 119 l 64 116 l 66 114 l 62 104 l 59 110 l 56 116 l 54 118 l 57 120 l 58 124 l 58 126 l 55 125 l 52 122 l 47 129 l 45 134 l 40 136 l 41 131 l 42 127 l 48 119 l 43 119 l 41 117 l 42 116 l 46 115 l 49 116 l 57 102 l 47 103 l 45 106 l 43 106 l 41 105 l 41 103 l 37 101 l 35 99 l 39 96 l 44 96 l 54 96 l 56 98 l 58 98 l 58 96 l 61 92 l 63 92 l 65 86 l 63 84 l 67 80 l 69 80 l 74 74 l 68 75 l 65 78 l 62 78 l 60 77 l 60 75 l 52 75 l 53 76 l 52 77 l 47 77 l 41 89 l 38 93 l 33 95 l 31 92 l 31 88 l 30 85 l 32 83 l 36 83 l 42 75 l 27 75 l 27 76 l 24 81 l 21 82 l 19 80 l 20 77 l 23 74 l 11 74 l 2 72 l 7 70 l 23 70 l 20 67 l 19 64 l 20 61 l 23 62 l 25 65 l 27 68 l 26 69 l 42 70 l 36 62 l 32 62 l 30 60 l 32 56 l 31 52 l 33 49 l 35 49 l 40 53 l 46 65 l 46 67 l 51 68 l 60 69 l 60 67 l 61 65 l 65 66 l 67 68 l 72 69 l 69 66 l 65 64 l 64 58 l 61 52 l 59 53 l 57 50 l 57 49 l 52 50 l 43 50 l 35 47 l 38 42 l 41 41 l 43 39 l 46 39 l 47 42 l 51 42 l 56 43 l 50 31 l 49 32 l 43 32 l 40 30 l 42 27 l 46 27 l 49 28 l 43 20 l 40 12 l 39 6 l 43 10 l 48 16 l 52 24 l 54 20 l 57 19 l 58 23 l 56 27 l 54 27 l 62 40 l 64 32 l 63 29 l 65 27 l 67 26 l 69 24 l 73 25 l 75 28 l 71 39 l 68 43 l 66 43 l 69 50 l 68 51 l 73 58 l 74 56 l 76 56 l 76 60 l 75 62")
  22.     #############################

  23.     return (ASS_BUF, TCAS_BUF)
复制代码
可是否还有别的办法,实现的并不理想,难道要蛋疼的写很多行ass(毕竟重点在飘落,而不是字幕),不写很多行ass,randint就是一个值...
作者: jijidata    时间: 2014-1-6 23:14:37

for j in range(循环次数):  可以用这个语句产生循环,可以参考别人写的py,看看如何使用
再加些随机旋转,随机移动或贝塞尔轨迹什么的(这个用mod比较方便)

作者: ccx    时间: 2014-1-7 10:27:46

jijidata 发表于 2014-1-6 23:14
for j in range(循环次数):  可以用这个语句产生循环,可以参考别人写的py,看看如何使用
再加些随机旋转, ...

这个....for j range循环,可循环出来的,假如第一个循环出mover(895,0,879,720,-10,0,150,150)后面的五个也是一样的数值...循环的木有用啊...贝塞尔轨迹?Bezier3那个?好吧我去看看...
作者: zxdfcgv    时间: 2014-1-7 13:38:14

py和auto4应该不差

先定随机 再取值 那循环的再多也都是同一个值

如果把随机都写到main里 应该就行吧....大概
作者: ccx    时间: 2014-1-7 15:28:31

zxdfcgv 发表于 2014-1-7 13:38
py和auto4应该不差

先定随机 再取值 那循环的再多也都是同一个值

用math.randomseed神马的射几个种子?!
作者: saiyaku    时间: 2014-1-7 19:15:38

ccx 发表于 2014-1-7 10:27
这个....for j range循环,可循环出来的,假如第一个循环出mover(895,0,879,720,-10,0,150,150)后面的五 ...

你那個MOV 得放到 for 裡面去
作者: ccx    时间: 2014-1-7 21:47:07

saiyaku 发表于 2014-1-7 19:15
你那個MOV 得放到 for 裡面去

啊 这样应该就好使了~




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