因為director 的lingo 語言是面向對象的事件觸發機制,下面就來看一看director 的基本事件和順序。
事件名稱(handler) 狀態說明
activewindow 當一個窗口開始運行時觸發
closewindow 當關閉一個窗口時觸發
deaactivatewindow 當一個窗口停止運行時觸發
enterframe 進入一幀(frame)時觸發
exitframe 離開一幀時觸發
idle 影片在停滯狀態時觸發
keydown 按下鍵盤按鍵時觸發
keyup 放開鍵盤按鍵時觸發
mousedown 按下鼠標鍵時觸發
mouseup 放開鼠標鍵時觸發
movewindow 當移動窗口時觸發
openwindow 打開一個新窗口時觸發
resizewindow 調整窗口大小時觸發
rightmousedown 按下鼠標右鍵時觸發
rightmouseup 放開鼠標右鍵時觸發
startmovie 影片開始播放時觸發
stepmovie 分格播放影片時觸發
stopmovie 停止播放影片時觸發
timeout 超過設置的時間時觸發
zoomwindow 放大窗口時觸發
如果需要影片響應某類事件,只需在該事件中寫腳本即可。
現在再來看看腳本的優先權:
如果同時存在幾種腳本,將執行優先級別較高的腳本,一般地,優先級高的腳本覆蓋優先級低的腳本。比如同一精靈既有精靈腳本又有劇組成員腳本,將執行優先級較高的精靈腳本,并屏蔽優先級較低的劇組成員腳本。
腳本的位置安排相當重要,稍有不慎就可能出現漏洞。比如在幀腳本中對某一精靈木偶化,并操縱它的行為,如果將該幀腳本放在電影腳本中,那么無論在什么地方,只要該精靈所在的通道不為空,該通道上的精靈就會作出相同的動作。 同樣,不同的事件必須有對應的判斷條件,比如在mousedown事件中用the mouseup作判斷條件,注定不會有什么反應;同樣在mouseup事件中判斷the stilldown 或the mousedown,別生氣,還是沒有反應。
一般來講,凡是能夠用總譜實現的動作都可以用腳本來實現,有時候用腳本實現要簡單得多。比如在一個游戲中,兩個精靈的幾次對話可以用總譜來控制,也可以用腳本實現。用總譜實現是恰當地安排精靈的位置和講話內容,根據情節順序進行。如果用腳本來控制,不僅總譜要簡單得多,實現起來也較方便,而且影片要小得多:通過腳本控制精靈的移動和對話框的位置,根據情節設置計數器來控制講話內容和時間長短。
還有兩個相當重要的窗口:debugger(調試) 和message(消息)窗口。在調試時結合這兩個窗口可以無往而不勝。
影片的最終效果靠舞臺、總譜和lingo腳本來實現。總譜的編排和lingo腳本的高級應用需要高超的技巧,這必須在使用中不斷積累經驗。
新聞熱點
疑難解答