原始視頻或動畫沒有字幕,.在將它們引入到authorware中以后,如何簡單、快速地給它們增加一個同步性好的字幕呢?本文介紹一個設置永久性移動圖標,使用系統變量mediaposition,控制移動圖標的移動目標位置,從而實現動畫和文字嚴格同步的程序控制方法。
圖1為主程序段。前面三個顯示圖標是對同步字幕的一些定義,.包括背景擋板、文字框和文字等。
圖1 同步字幕的程序流程
數字電影圖標“tom edison”屬性設置“timing”區的【concurrency】域,設置為“concurrent”同步運動方式,即動畫播放一啟動便進入下面的移動圖標,實現動畫和文字移動同時進行的程序效果。
移動圖標“move text”的移動類型是“path to point”,屬性設置“motion”區【concurrency】的同步方式是“perpetual”,這一點很重要,有了它才能保證讓文字產生連續的移動效果。
再看“layout”區,這是程序的核心部分,.如圖2所示。
圖2 “move text”圖標“layout”區設置
對象“text string”定義起點刻度【base】域為0,.終點刻度【end】域為medialength@“tom edison"(動畫“tom edison”的總幀數)沿路徑方向的移動。定義的方法是:鼠標在【base】域中單擊,輸入數字0,拖動使文字對象的起始端顯示在文本框的中間位置;鼠標在【end】域中單擊,輸入表達式“medialength@”tomedison,拖動使文字對象的最末端顯示在文本框的中間位置。移動的當前目標位置【destination】域為mediaposition@“tomedison”(該系統變量返回動畫“tom edison”播放的當前幀數)。這種設置情況下,程序的執行順序是:啟動數字電影圖標“tom edison”后,馬上啟動移動圖標“move text”,然后程序繼續向下執行(退出當前模塊),由于數字電影圖標“tom edison”的播放同步方式是“concurrent”,動畫繼續播放,而移動圖標“move text”的同步方式是“perpetual”永久方式,從而保證了移動能不停地在【destination】域中表達式所指定的位置持續移動,實現了動畫播放到哪兒,字幕播放到哪兒。動畫播放結束,字幕也同時走到最末位置。
由于movielength和moveposition兩個系統函數只與圖標名稱有關,而與圖標內容無關,可以保證不增刪流程中的圖標,只是重新置入動畫,修改與之對應的文字信息,就可以實現其它同步字幕的控制了。
新聞熱點
疑難解答