因为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脚本的高级应用需要高超的技巧,这必须在使用中不断积累经验。
新闻热点
疑难解答