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