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

标题: 函数 IsLineChanged() 的用法 [打印本页]

作者: milkyjing    时间: 2011-10-15 19:02:42     标题: 函数 IsLineChanged() 的用法

因为tcaxPy_Main函数会对每个字符都执行一遍, 所以如果想要对整体一句歌词制作一个特效, 或者是一个效果生存期是整句歌词时间跨度, 那么操作起来就要绕点弯子.
早先是使用判断

if _j == 0:
    do something

在do something中执行整句歌词特效的编写, 因为对于一句歌词_j为0的次数只有一次.
但由于某些特殊情况下_j不一定从0开始, (如果第一个字符是空字符, 或者是空格等, tcaxPy_Main函数就会跳过), 所以从Beta3开始, 引入了一个新函数IsLineChanged来专门应对这个需求, 但要注意IsLineChanged函数只能被调用一次. 所以最好使用一个变量来保存它的返回值, 以便之后继续使用.

bLineChanged = IsLineChanged(_i)
if bLineChanged:
    do something





作者: oloroso    时间: 2013-1-29 20:48:24

还是if _j == 0 比较容易理解。。
那个bLineChanged = IsLineChanged(_i)刚才试了下貌似还行,不过窝还是用_j == 0 好了。。。
作者: milkyjing    时间: 2013-1-29 21:57:38

oloroso 发表于 2013-1-29 20:48
还是if _j == 0 比较容易理解。。
那个bLineChanged = IsLineChanged(_i)刚才试了下貌似还行,不过窝还是用 ...

一般情況下, 用if _j == 0 就足夠了...

p.s. 整行特效的操作, 用tcaxPy_User會更順手一點. 畢竟 tcaxPy_Main函數的設計就是針對"逐字"效果的..

參考: http://www.tcax.org/forum.php?mod=viewthread&tid=278




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