首页 > 网站 > 媒体动画 > 正文

Director基础教程:Director 8.0学习过程之入门到精通三

2024-09-08 19:27:10
字体:
来源:转载
供稿:网友

   因为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 放大窗口时触发

   如果需要影片响应某类事件,只需在该事件中写脚本即可。

  
   现在再来看看脚本的优先权:

      

  1. 事件脚本(event script),是指以下五种事件:mouseupscript,mousedownscript,keyupscript,keydownscript,timeout;

      

  2. 精灵脚本(sprite script),是直接赋给精灵的动作;

      

  3. 剧组成员脚本(cast member script),是赋给演员的动作,如果由该演员产生的精灵在同类事件中没有写脚本,那么所有精灵都将执行该演员的动作;

      

  4. 帧脚本(frame script),通过双击脚本通道写入的脚本,或者将演员表中的脚本成员拖到脚本通道上,也成为帧脚本,用来控制在某些帧应执行的动作;

      

  5. 电影脚本(movie script),起全局作用,一般初始化工作和全局变量、用户自定义事件都在这里完成。

   如果同时存在几种脚本,将执行优先级别较高的脚本,一般地,优先级高的脚本覆盖优先级低的脚本。比如同一精灵既有精灵脚本又有剧组成员脚本,将执行优先级较高的精灵脚本,并屏蔽优先级较低的剧组成员脚本。

   脚本的位置安排相当重要,稍有不慎就可能出现漏洞。比如在帧脚本中对某一精灵木偶化,并操纵它的行为,如果将该帧脚本放在电影脚本中,那么无论在什么地方,只要该精灵所在的通道不为空,该通道上的精灵就会作出相同的动作。 同样,不同的事件必须有对应的判断条件,比如在mousedown事件中用the mouseup作判断条件,注定不会有什么反应;同样在mouseup事件中判断the stilldown 或the mousedown,别生气,还是没有反应。

   一般来讲,凡是能够用总谱实现的动作都可以用脚本来实现,有时候用脚本实现要简单得多。比如在一个游戏中,两个精灵的几次对话可以用总谱来控制,也可以用脚本实现。用总谱实现是恰当地安排精灵的位置和讲话内容,根据情节顺序进行。如果用脚本来控制,不仅总谱要简单得多,实现起来也较方便,而且影片要小得多:通过脚本控制精灵的移动和对话框的位置,根据情节设置计数器来控制讲话内容和时间长短。

   还有两个相当重要的窗口:debugger(调试) 和message(消息)窗口。在调试时结合这两个窗口可以无往而不胜。

   影片的最终效果靠舞台、总谱和lingo脚本来实现。总谱的编排和lingo脚本的高级应用需要高超的技巧,这必须在使用中不断积累经验。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表