本文章最後由 羽hane 於 2012-5-9 14:04 編輯
會寫本篇文章只是無聊寫的
Aegisub的功能很多 有些真得很難發覺~所以常常繞遠路
之前看到
水姬的一個隨機顏色寫法 還不錯~
其實寫隨機顏色另一種方法可以直接使用Aegisub的內件函數
就不必大費周章再一堆lua code
這篇算是我教學中寫最短的文章吧...
當然Aegisub的內建函數也可以寫出彩虹出來 (例如我的簽名中那爸爸的ED 在此不透露怎麼寫)
彩虹顏色再搭配\1vc(MOD的語法)就變得更好看了(但我懶得用)
彩虹的事到此為止~先進入正題吧
因為ASS語法的顏色和透明度設定都是用16進位運算 所以必須要用函數作轉換
這部分Aegisub已經為我們想到了
1.顏色 R G B 轉換成 ASS代碼 [ass_color(r, g, b)]
ass_color(r, g, b)
r(紅).g(綠).b(藍)皆為0~255
例如:白色為 ass_color(255, 255, 255)
根據此函數再搭配math.random就成了隨機顏色的效果
範例如下
- \1c!_G.ass_color(math.random(255),math.random(255),math.random(255))!
複製代碼如果有多行字幕想用同樣產生出來的隨機顏色 就用set_temp吧 詳細請看上一篇
當然覺得太長 也可以寫成函數
效果:code once
- function rand_color() return _G.ass_color(math.random(255),math.random(255),math.random(255)) end
複製代碼之後可以寫成這樣
2.透明度 (0~255) 轉換成 ASS代碼 [ass_alpha(a)]
ass_alpha(a)
a為10進位的透明度 範圍 (0~255)
完全透明
\alpha!_G.ass_alpha(255)!
完全不透明
\alpha!_G.ass_alpha(0)!
隨機透明度
\alpha!_G.ass_alpha(math.random(255))!
隨機顏色範例
想要讓一行文字顏色都隨機時
效果:template char
- {\pos($x,$y)\1c!_G.ass_color(math.random(255),math.random(255),math.random(255))!}
複製代碼效果:karaoke
然後自動化處理~就會出現隨機顏色的文字了
教學3結束~